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 1t7D9m-000f5o-QZ for pgsql-hackers@arkaria.postgresql.org; Sat, 02 Nov 2024 12:23:08 +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 1t7D9j-005iwP-Ly for pgsql-hackers@arkaria.postgresql.org; Sat, 02 Nov 2024 12:23:04 +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 1t7D9i-005iut-GM for pgsql-hackers@lists.postgresql.org; Sat, 02 Nov 2024 12:23:03 +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.94.2) (envelope-from ) id 1t7D9Y-0047Ib-34 for pgsql-hackers@postgresql.org; Sat, 02 Nov 2024 12:23:01 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1730550168; bh=Hk9OJ+QKyAl4VgL4aeashhofeXsdX4pnBoN2zxUvxy0=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=20CvRFQh6QIQclQA6NZDtHiXR1IyEWEV4M7XCK/bqSubD+6ipBmAFuvDkwBEhq88Y uBNo0ElR19heh6yAOzdYQ9bZWyjs9XhqIXRBN2xZ6R8PwxTlwRj/Sa1jK60kac7y+7 ybQDjxL0yS+iUCcb91hslGGJbr3staMVRSClAXhezLkjTK0g7+xAMAfK/ke64WcEiD 4e/JoVMvC8nGRIOCrEBLS5oHkuhs972iOOqKBG7GMkzXoW1H77tGquluWpCQRUGUBl /DGZz3UVh5GhxhFmYFbxLHEVKMDRZEr6sDz+EFOEicDlbLbxVfwKBsD19MHThM+Rdp vqkyWZ01NxpwA== Received: from [10.4.9.144] (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 5B6A360271; Sat, 2 Nov 2024 15:22:47 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------mA7RtUH8OO6khZAM76QJ8BuH" Message-ID: <85b963fe-5977-43aa-9241-75b862abcc69@postgrespro.ru> Date: Sat, 2 Nov 2024 15:22:41 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics To: Jim Nasby , Andrei Zubkov Cc: Alexander Korotkov , Masahiko Sawada , Melanie Plageman , jian he , pgsql-hackers , a.lepikhov@postgrespro.ru References: <092adec6-4eae-4bd4-bd0d-473a9df1282b@tantorlabs.com> <3deae1bd-ad84-4459-a26e-04c9136b84e9@postgrespro.ru> <9b10c6d3-52c4-4eef-b67c-c33442667729@postgrespro.ru> <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> Content-Language: en-US From: Alena Rybakina In-Reply-To: <5AA8FFD5-6DE2-4A31-8E00-AE98F738F5D1@upgrade.com> X-KSMG-AntiPhishing: NotDetected, bases: 2024/11/02 07:06: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: 2024/11/02 10:33:00 #26806830 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. --------------mA7RtUH8OO6khZAM76QJ8BuH Content-Type: multipart/alternative; boundary="------------x20F04wl13Ikcd6sOk6ixT0j" --------------x20F04wl13Ikcd6sOk6ixT0j Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 30.10.2024 01:23, Jim Nasby wrote: > On Oct 29, 2024, at 7:40 AM, Andrei Zubkov wrote: >> Hi, >> >> Thanks for your attention to our patch! >> >> On Mon, 2024-10-28 at 16:03 -0500, Jim Nasby wrote: >>>> Yes, but as Masahiko-san pointed out, PgStat_TableCounts is almost >>>> tripled in space. That a huge change from having no statistics on >>>> vacuum to have it in much more detail than everything else we >>>> currently have. I think the feasible way might be to introduce >>>> some >>>> most demanded statistics first then see how it goes. >>> Looking at the stats I do think the WAL stats are probably not >>> helpful. First, there’s nothing users can do to tune how much WAL is >>> generated by vacuum. Second, this introduces the risk of users saying >>> “Wow, vacuum is creating a lot of WAL! I’m going to turn it down!”, >>> which is most likely to make matters worse. There’s already a lot of >>> stuff that goes into WAL without any detailed logging; if we ever >>> wanted to provide a comprehensive view of what data is in WAL that >>> should be handled separately. >> Yes, there is nothing we can directly do with WAL generated by vacuum, >> but WAL generation is the part of vacuum work, and it will indirectly >> affected by the changes of vacuum settings. So, WAL statistics is one >> more dimension of vacuum workload. Also WAL stat is universal metric >> which is measured cluster-wide and on the statement-level with >> pg_stat_statements. Vacuum WAL counters will explain the part of >> difference between those metrics. Besides vacuum WAL counters can be >> used to locate abnormal vacuum behavior caused by a bug or the data >> corruption. I think if the DBA is smart enough to look at vacuum WAL >> generated stats and to understand what it means, the decision to >> disable the autovacuum due to its WAL generation is unlikely. > I’m generally for more stats rather than less - really just a question of how much we’re worried about stats overhead. > >> Anyway I think some stats can be excluded to save some memory. The >> first candidates are the system_time and user_time fields. Those are >> very valuable, but are measured by the rusage stats, which won't be >> available on all platforms. I think total_time and delay_time would be >> sufficient. > Yeah, I considered throwing those under the bus. I agree they’re only marginally useful. > >> The second is the interrupts field. It is needed for monitoring to know >> do we have them or not, so tracking them on the database level will do >> the trick. Interrupt is quite rare event, so once the monitoring system >> will catch one the DBA can go to the server log for the details. > Just to confirm… by “interrupt” you mean vacuum encountered an error? Yes it is. I updated patches. I excluded system and user time statistics and save number of interrupts only for database.I removed the ability to get statistics for all tables, now they can only be obtained for an oid table [0], as suggested here. I also renamed the statistics from pg_stat_vacuum_tables to pg_stat_get_vacuum_tables and similarly for indexes and databases. I noticed that that’s what they’re mostly called. Ready for discussion. >>> For all the views the docs should clarify that total_blks_written >>> means blocks written by vacuum, as opposed to the background Ywriter. >> We have the "Number of database blocks written by vacuum operations >> performed on this table" in the docs now. Do you mean we should >> specifically note the vacuum process here? > The reason the stat is confusing is because it doesn’t have the meaning that the name implies. Most people that see this will think it’s actually measuring blocks dirtied, or at least something closer to that. It definitely hides the fact that many of the dirtied blocks could actually be written by the bgwriter. So an improvement to the docs would be “Number of blocks written directly by vacuum or auto vacuum. Blocks that are dirtied by a vacuum process can be written out by another process.” > > Which makes me realize… I think vacuum only counts a block as dirtied if it was previously clean? If so the docs for that metric need to clarify that vacuum might modify a block but not count it as having been dirtied. I think this makes sense, but I haven't fixed it in the documentation yet. I need time to learn this, to be honest. I'll answer later. >>> Sadly index_vacuum_count is may not useful at all at present. At >>> minimum you’d need to know the number of times vacuum had run in >>> total. I realize that’s in pg_stat_all_tables, but that doesn’t help >>> if vacuum stats are tracked or reset separately. >> I'm in doubt - is it really possible to reset the vacuum stats >> independent of pg_stat_all_tables? > Most stats can be independently reset, so I was thinking these wouldn’t be an exception. If that’s not the case then I think the docs need to mention pg_stat_all_tables.(auto)vacuum_count, since it’s in a completely different view. Or better yet, include the vacuum/analyze related stats that are in pg_stat_all_tables in pg_stat_vacuum_tables. To be honest, it was obvious to me, but we can mention it. >>> Autovacuum will self-terminate if it would block another process >>> (unless it’s an aggressive vacuum) - that’s definitely something that >>> should be tracked. Not just the number of times that happens, but >>> also stats about how much work was lost because of this. >> Agreed. >>> Tuning vacuum_freeze_min_age (and the MXID variant) is rather >>> complicated. We maybe have enough stats on whether it could be set >>> lower, but there’s no visibility on how the settings affect how often >>> vacuum decides to be aggressive. At minimum, we should have stats on >>> when vacuum is aggressive, especially since it significantly changes >>> the behavior of autovac. >> When you say "agressive" do you mean the number of times when the >> vacuum was processing the table with the FREEZE intention? I think this >> is needed too. > Yes. I intentionally use the term “aggressive” (as the code does) to avoid confusion with the FREEZE option (which as I’m sure you know simply forces some GUCs to 0). Further complicating this is that auto vac will report this as “to prevent wraparound”… > > In any case… I’m actually leaning towards there should be a complete second set of counters for aggressive vacuums, because of how differently they work. :( >>> Speaking of which… there should be stats on any time vacuum decided >>> on it’s own to skip index processing due to wraparound proximity. >> Maybe we should just count the number of times when the vacuum was >> started to prevent wraparound? > Unfortunately even that isn’t simple… auto vac and manual vac have different GUCs, and of course there’s the FREEZE option. And then there’s the issue that MXIDs are handled completely separately. > > Even ignoring all of that… by default an aggressive vacuum won’t skip indexes. That only happens when you hit vacuum_(multixact_)failsafe_age. > > BTW, something I’ve been mulling over is what stats related to cleanup might be tracked at a system level. I’m thinking along the lines of how often heap_prune_page or the index marking code come across a dead tuple they can’t do anything about yet because it’s still visible. While you could track that per-relation, I’m not sure how helpful that actually is since it’s really a long-running transaction problem. > > Similarly, it’d be nice if we had stats about how often all of the auto vac workers were occupied; something that’s also global in nature. > > > I'll see how these statistics can be calculatedand will add in the patch. [0] https://www.postgresql.org/message-id/CAPpHfdvSo3mfH%3D2m4ADCHAuN%3D22SnBY3TrPaPbGKTw3r_Jaw7Q%40mail.gmail.com -- Regards, Alena Rybakina Postgres Professional --------------x20F04wl13Ikcd6sOk6ixT0j Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
On 30.10.2024 01:23, Jim Nasby wrote:
On Oct 29, 2024, at 7:40 AM, Andrei Zubkov <zubkov@moonset.ru> wrote:
Hi,

Thanks for your attention to our patch!

On Mon, 2024-10-28 at 16:03 -0500, Jim Nasby wrote:
Yes, but as Masahiko-san pointed out, PgStat_TableCounts is almost
tripled in space.  That a huge change from having no statistics on
vacuum to have it in much more detail than everything else we
currently have.  I think the feasible way might be to introduce
some
most demanded statistics first then see how it goes.
Looking at the stats I do think the WAL stats are probably not
helpful. First, there’s nothing users can do to tune how much WAL is
generated by vacuum. Second, this introduces the risk of users saying
“Wow, vacuum is creating a lot of WAL! I’m going to turn it down!”,
which is most likely to make matters worse. There’s already a lot of
stuff that goes into WAL without any detailed logging; if we ever
wanted to provide a comprehensive view of what data is in WAL that
should be handled separately.
Yes, there is nothing we can directly do with WAL generated by vacuum,
but WAL generation is the part of vacuum work, and it will indirectly
affected by the changes of vacuum settings. So, WAL statistics is one
more dimension of vacuum workload. Also WAL stat is universal metric
which is measured cluster-wide and on the statement-level with
pg_stat_statements. Vacuum WAL counters will explain the part of
difference between those metrics. Besides vacuum WAL counters can be
used to locate abnormal vacuum behavior caused by a bug or the data
corruption. I think if the DBA is smart enough to look at vacuum WAL
generated stats and to understand what it means, the decision to
disable the autovacuum due to its WAL generation is unlikely.
I’m generally for more stats rather than less - really just a question of how much we’re worried about stats overhead.

Anyway I think some stats can be excluded to save some memory. The
first candidates are the system_time and user_time fields. Those are
very valuable, but are measured by the rusage stats, which won't be
available on all platforms. I think total_time and delay_time would be
sufficient.
Yeah, I considered throwing those under the bus. I agree they’re only marginally useful.

The second is the interrupts field. It is needed for monitoring to know
do we have them or not, so tracking them on the database level will do
the trick. Interrupt is quite rare event, so once the monitoring system
will catch one the DBA can go to the server log for the details.
Just to confirm… by “interrupt” you mean vacuum encountered an error?
Yes it is.

I updated patches. I excluded system and user time statistics and save number of interrupts only for database. I removed the ability to get statistics for all tables, now they can only be obtained for an oid table [0], as suggested here. I also renamed the statistics from pg_stat_vacuum_tables to pg_stat_get_vacuum_tables and similarly for indexes and databases. I noticed that that’s what they’re mostly called. Ready for discussion.

For all the views the docs should clarify that total_blks_written
means blocks written by vacuum, as opposed to the background Ywriter.
We have the "Number of database blocks written by vacuum operations
performed on this table" in the docs now. Do you mean we should
specifically note the vacuum process here?
The reason the stat is confusing is because it doesn’t have the meaning that the name implies. Most people that see this will think it’s actually measuring blocks dirtied, or at least something closer to that. It definitely hides the fact that many of the dirtied blocks could actually be written by the bgwriter. So an improvement to the docs would be “Number of blocks written directly by vacuum or auto vacuum. Blocks that are dirtied by a vacuum process can be written out by another process.”

Which makes me realize… I think vacuum only counts a block as dirtied if it was previously clean? If so the docs for that metric need to clarify that vacuum might modify a block but not count it as having been dirtied.
I think this makes sense, but I haven't fixed it in the documentation yet. I need time to learn this, to be honest. I'll answer later.
Sadly index_vacuum_count is may not useful at all at present. At
minimum you’d need to know the number of times vacuum had run in
total. I realize that’s in pg_stat_all_tables, but that doesn’t help
if vacuum stats are tracked or reset separately.
I'm in doubt - is it really possible to reset the vacuum stats
independent of pg_stat_all_tables?
Most stats can be independently reset, so I was thinking these wouldn’t be an exception. If that’s not the case then I think the docs need to mention pg_stat_all_tables.(auto)vacuum_count, since it’s in a completely different view. Or better yet, include the vacuum/analyze related stats that are in pg_stat_all_tables in pg_stat_vacuum_tables.
To be honest, it was obvious to me, but we can mention it.

        
Autovacuum will self-terminate if it would block another process
(unless it’s an aggressive vacuum) - that’s definitely something that
should be tracked. Not just the number of times that happens, but
also stats about how much work was lost because of this.
Agreed.


      
Tuning vacuum_freeze_min_age (and the MXID variant) is rather
complicated. We maybe have enough stats on whether it could be set
lower, but there’s no visibility on how the settings affect how often
vacuum decides to be aggressive. At minimum, we should have stats on
when vacuum is aggressive, especially since it significantly changes
the behavior of autovac.
When you say "agressive" do you mean the number of times when the
vacuum was processing the table with the FREEZE intention? I think this
is needed too.
Yes. I intentionally use the term “aggressive” (as the code does) to avoid confusion with the FREEZE option (which as I’m sure you know simply forces some GUCs to 0). Further complicating this is that auto vac will report this as “to prevent wraparound”…

In any case… I’m actually leaning towards there should be a complete second set of counters for aggressive vacuums, because of how differently they work. :(

Speaking of which… there should be stats on any time vacuum decided
on it’s own to skip index processing due to wraparound proximity.
Maybe we should just count the number of times when the vacuum was
started to prevent wraparound?
Unfortunately even that isn’t simple… auto vac and manual vac have different GUCs, and of course there’s the FREEZE option. And then there’s the issue that MXIDs are handled completely separately.

Even ignoring all of that… by default an aggressive vacuum won’t skip indexes. That only happens when you hit vacuum_(multixact_)failsafe_age.

BTW, something I’ve been mulling over is what stats related to cleanup might be tracked at a system level. I’m thinking along the lines of how often heap_prune_page or the index marking code come across a dead tuple they can’t do anything about yet because it’s still visible. While you could track that per-relation, I’m not sure how helpful that actually is since it’s really a long-running transaction problem.

Similarly, it’d be nice if we had stats about how often all of the auto vac workers were occupied; something that’s also global in nature.



I'll see how these statistics can be calculated and will add in the patch.

[0] https://www.postgresql.org/message-id/CAPpHfdvSo3mfH%3D2m4ADCHAuN%3D22SnBY3TrPaPbGKTw3r_Jaw7Q%40mail.gmail.com

-- 
Regards,
Alena Rybakina
Postgres Professional
--------------x20F04wl13Ikcd6sOk6ixT0j-- --------------mA7RtUH8OO6khZAM76QJ8BuH Content-Type: text/x-patch; charset=UTF-8; name="v11-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v11-0003-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA4MTIzYWFkYjI5MmNhMmU2OWU3ZTc3OTQ0NWI2MTcxMmQ5MTU0ZGI3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogRnJpLCAxIE5vdiAyMDI0IDIwOjEyOjAzICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAzLzNdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24gCiBkYXRhYmFzZXMuIEl0IHRyYW5zbWl0cyB2YWN1dW0gc3Rh dGlzdGljYWwgaW5mb3JtYXRpb24gYWJvdXQgZWFjaCB0YWJsZSBhbmQgCiBhY2N1bXVsYXRl cyBpdCBmb3IgdGhlIGRhdGFiYXNlIHdoaWNoIHRoZSB0YWJsZSBiZWxvbmdlZC4KCi0tLQog c3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsICAgICAgICAgIHwgMjYgKysr Ky0KIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAy ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jICB8ICAx ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8IDE2 ICsrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8 IDk1ICsrKysrKysrKysrKysrKysrKysKIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQgICAgICAgICAgICAgICB8IDE1ICsrLQogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cnVsZXMub3V0ICAgICAgICAgICB8IDE2ICsrKysKIC4uLnV0ID0+IHZhY3V1bV90YWJsZXNf YW5kX2RiX3N0YXRpc3RpY3Mub3V0fSB8IDc0ICsrKysrKysrKysrKysrKwogc3JjL3Rlc3Qv cmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgIDIgKy0KIC4uLnFsID0+ IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3FsfSB8IDY0ICsrKysrKysrKysr Ky0KIDExIGZpbGVzIGNoYW5nZWQsIDMwNiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygt KQogcmVuYW1lIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQve3ZhY3V1bV90YWJsZXNfc3Rh dGlzdGljcy5vdXQgPT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXR9ICg3 OSUpCiByZW5hbWUgc3JjL3Rlc3QvcmVncmVzcy9zcWwve3ZhY3V1bV90YWJsZXNfc3RhdGlz dGljcy5zcWwgPT4gdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5zcWx9ICg4MSUp CgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIv c3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGQ4OWI4MTU0ZTY5 Li5kNGI5OWZlNjU4YiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f dmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApA QCAtMTQ1Niw0ICsxNDU2LDI4IEBAIEZST00KICAgcGdfY2xhc3MgcmVsCiAgIEpPSU4gcGdf bmFtZXNwYWNlIG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UsCiAgIExBVEVSQUwg cGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3RhdHMKLVdIRVJFIHJlbC5y ZWxraW5kID0gJ2knOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK1dIRVJFIHJlbC5y ZWxraW5kID0gJ2knOworCitDUkVBVEUgVklFVyBwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJh c2UgQVMKK1NFTEVDVAorICBkYi5vaWQgYXMgZGJvaWQsCisgIGRiLmRhdG5hbWUgQVMgZGJu YW1lLAorCisgIHN0YXRzLmRiX2Jsa3NfcmVhZCBBUyBkYl9ibGtzX3JlYWQsCisgIHN0YXRz LmRiX2Jsa3NfaGl0IEFTIGRiX2Jsa3NfaGl0LAorICBzdGF0cy50b3RhbF9ibGtzX2RpcnRp ZWQgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4g QVMgdG90YWxfYmxrc193cml0dGVuLAorCisgIHN0YXRzLndhbF9yZWNvcmRzIEFTIHdhbF9y ZWNvcmRzLAorICBzdGF0cy53YWxfZnBpIEFTIHdhbF9mcGksCisgIHN0YXRzLndhbF9ieXRl cyBBUyB3YWxfYnl0ZXMsCisKKyAgc3RhdHMuYmxrX3JlYWRfdGltZSBBUyBibGtfcmVhZF90 aW1lLAorICBzdGF0cy5ibGtfd3JpdGVfdGltZSBBUyBibGtfd3JpdGVfdGltZSwKKworICBz dGF0cy5kZWxheV90aW1lIEFTIGRlbGF5X3RpbWUsCisgIHN0YXRzLnRvdGFsX3RpbWUgQVMg dG90YWxfdGltZSwKKyAgc3RhdHMuaW50ZXJydXB0cyBBUyBpbnRlcnJ1cHRzCitGUk9NCisg IHBnX2RhdGFiYXNlIGRiLAorICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFz ZShkYi5vaWQpIHN0YXRzOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKaW5kZXggNzlhNWM2NTU0MGMuLjJhN2FkMGM5MzBj IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwpAQCAtMTEyMyw2ICsxMTIz LDggQEAgcGdzdGF0X3VwZGF0ZV9zbmFwc2hvdChQZ1N0YXRfS2luZCBraW5kKQogCQlwZ3N0 YXRfZmV0Y2hfY29uc2lzdGVuY3kgPSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfU05BUFNI T1Q7CiAJCWlmIChraW5kID09IFBHU1RBVF9LSU5EX1JFTEFUSU9OKQogCQkJcGdzdGF0X2J1 aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX1JFTEFUSU9OKTsKKwkJZWxzZSBpZiAoa2luZCA9 PSBQR1NUQVRfS0lORF9EQVRBQkFTRSkKKwkJCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NU QVRfS0lORF9EQVRBQkFTRSk7CiAJfQogCVBHX0ZJTkFMTFkoKTsKIAl7CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jCmluZGV4IDI5YmMwOTA5 NzQ4Li5hMDYwZDFhNDA0MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X2RhdGFiYXNlLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0X2RhdGFiYXNlLmMKQEAgLTQzMCw2ICs0MzAsNyBAQCBwZ3N0YXRfZGF0YWJhc2Vf Zmx1c2hfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYsIGJvb2wgbm93YWl0KQogCXBn c3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKIAogCW1lbXNldChwZW5kaW5nZW50LCAw LCBzaXplb2YoKnBlbmRpbmdlbnQpKTsKKwltZW1zZXQoJihwZW5kaW5nZW50KS0+dmFjdXVt X2V4dCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOwogCiAJcmV0dXJuIHRydWU7CiB9CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24u YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmluZGV4 IGY2YjA3MjQwMWQ0Li4zYzIxNjM5Y2RkNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKQEAgLTIxOCw2ICsyMTgsNyBAQCBwZ3N0YXRf cmVwb3J0X3ZhY3V1bV9lcnJvcihPaWQgdGFibGVvaWQsIEV4dFZhY1JlcG9ydFR5cGUgbV90 eXBlKQogCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKIAlQZ1N0YXRfU3Rh dFRhYkVudHJ5ICp0YWJlbnRyeTsKIAlPaWQJCQlkYm9pZCA9ICBNeURhdGFiYXNlSWQ7CisJ UGdTdGF0X1N0YXREQkVudHJ5ICpkYmVudHJ5OwkvKiBwZW5kaW5nIGRhdGFiYXNlIGVudHJ5 ICovCiAKIAlpZiAoIXBnc3RhdF90cmFja19jb3VudHMpCiAJCXJldHVybjsKQEAgLTIzMSw2 ICsyMzIsMTAgQEAgcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkLCBF eHRWYWNSZXBvcnRUeXBlIG1fdHlwZSkKIAl0YWJlbnRyeS0+dmFjdXVtX2V4dC5pbnRlcnJ1 cHRzKys7CiAJdGFiZW50cnktPnZhY3V1bV9leHQudHlwZSA9IG1fdHlwZTsKIAlwZ3N0YXRf dW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CisKKwlkYmVudHJ5ID0gcGdzdGF0X3ByZXBfZGF0 YWJhc2VfcGVuZGluZyhkYm9pZCk7CisJZGJlbnRyeS0+dmFjdXVtX2V4dC5pbnRlcnJ1cHRz Kys7CisJZGJlbnRyeS0+dmFjdXVtX2V4dC50eXBlID0gbV90eXBlOwogfQogCiAvKgpAQCAt MjQ0LDYgKzI0OSw3IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9v bCBzaGFyZWQsCiAJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CiAJUGdTdGF0U2hhcmVk X1JlbGF0aW9uICpzaHRhYmVudHJ5OwogCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5 OworCVBnU3RhdFNoYXJlZF9EYXRhYmFzZSAqZGJlbnRyeTsKIAlPaWQJCQlkYm9pZCA9IChz aGFyZWQgPyBJbnZhbGlkT2lkIDogTXlEYXRhYmFzZUlkKTsKIAlUaW1lc3RhbXBUeiB0czsK IApAQCAtMjk3LDYgKzMwMywxNiBAQCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVv aWQsIGJvb2wgc2hhcmVkLAogCSAqIFZBQ1VVTSBjb21tYW5kIGhhcyBwcm9jZXNzZWQgYWxs IHRhYmxlcyBhbmQgY29tbWl0dGVkLgogCSAqLwogCXBnc3RhdF9mbHVzaF9pbyhmYWxzZSk7 CisJaWYgKGRib2lkICE9IEludmFsaWRPaWQpCisJeworCQllbnRyeV9yZWYgPSBwZ3N0YXRf Z2V0X2VudHJ5X3JlZl9sb2NrZWQoUEdTVEFUX0tJTkRfREFUQUJBU0UsCisJCQkJCQkJCQkJ CWRib2lkLCBJbnZhbGlkT2lkLCBmYWxzZSk7CisJCWRiZW50cnkgPSAoUGdTdGF0U2hhcmVk X0RhdGFiYXNlICopIGVudHJ5X3JlZi0+c2hhcmVkX3N0YXRzOworCisJCXBnc3RhdF9hY2N1 bXVsYXRlX2V4dHZhY19zdGF0cygmZGJlbnRyeS0+c3RhdHMudmFjdXVtX2V4dCwgcGFyYW1z LCBmYWxzZSk7CisJCXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKKwl9CisKIH0K IAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5j IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggN2ZiMDdhNDM5 ZGMuLmJmNDg1MjZlNzdjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdz dGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpA QCAtMjM0MSw2ICsyMzQxLDEwMSBAQCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhQR19G VU5DVElPTl9BUkdTKQogCiAJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVY X1NUQVRTX0NPTFMpOwogCisJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCisJ UEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBsZSh0dXBk ZXNjLCB2YWx1ZXMsIG51bGxzKSkpOworfQorCitEYXR1bQorcGdfc3RhdF9nZXRfdmFjdXVt X2RhdGFiYXNlKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJI2RlZmluZSBQR19TVEFUX0dFVF9W QUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUwkxMworCisJT2lkCQkJCQkJIGRiaWQgPSBQR19H RVRBUkdfT0lEKDApOworCVBnU3RhdF9TdGF0REJFbnRyeSAJCSpkYmVudHJ5OworCUV4dFZh Y1JlcG9ydCAJCQkqZXh0dmFjdXVtOworCVR1cGxlRGVzYwkJCQkgdHVwZGVzYzsKKwlEYXR1 bQkJCQkJIHZhbHVlc1tQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MU10g PSB7MH07CisJYm9vbAkJCQkJIG51bGxzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9T VEFUU19DT0xTXSA9IHswfTsKKwljaGFyCQkJCQkgYnVmWzI1Nl07CisJaW50CQkJCQkJIGkg PSAwOworCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOworCisJLyogSW5pdGlhbGlzZSBhdHRyaWJ1 dGVzIGluZm9ybWF0aW9uIGluIHRoZSB0dXBsZSBkZXNjcmlwdG9yICovCisJdHVwZGVzYyA9 IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNjKFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9T VEFUU19DT0xTKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgKytpLCAiZGJpZCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsXyBibGtzX3JlYWQi LAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2hpdCIsCisJCQkJCSAgIElOVDhP SUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgInRvdGFsX2Jsa3NfZGlydGllZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFs X2Jsa3Nfd3JpdHRlbiIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9yZWNvcmRzIiwvLzkK KwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAid2FsX2ZwaSIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndh bF9ieXRlcyIsCisJCQkJCSAgIE5VTUVSSUNPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3JlYWRfdGltZSIsCisJ CQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3dyaXRlX3RpbWUiLAorCQkJCQkgICBGTE9BVDhP SUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgKytpLCAiZGVsYXlfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfdGlt ZSIsLy8xNQorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImludGVycnVwdHMiLC8vMTUKKwkJCQkJ ICAgSU5UNE9JRCwgLTEsIDApOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVN X0RBVEFCQVNFX1NUQVRTX0NPTFMpOworCisJQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7CisK KwlkYmVudHJ5ID0gcGdzdGF0X2ZldGNoX3N0YXRfZGJlbnRyeShkYmlkKTsKKworCWlmIChk YmVudHJ5ID09IE5VTEwpCisJeworCQkvKiBJZiB0aGUgc3Vic2NyaXB0aW9uIGlzIG5vdCBm b3VuZCwgaW5pdGlhbGlzZSBpdHMgc3RhdHMgKi8KKwkJbWVtc2V0KCZhbGx6ZXJvLCAwLCBz aXplb2YoRXh0VmFjUmVwb3J0KSk7CisJCWV4dHZhY3V1bSA9ICZhbGx6ZXJvOworCX0KKwll bHNlCisJeworCQlleHR2YWN1dW0gPSAmKGRiZW50cnktPnZhY3V1bV9leHQpOworCX0KKwor CWkgPSAwOworCisJdmFsdWVzW2krK10gPSBPYmplY3RJZEdldERhdHVtKGRiaWQpOworCisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19yZWFk KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtz X2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxf Ymxrc19kaXJ0aWVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT50b3RhbF9ibGtzX3dyaXR0ZW4pOy8vNQorCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERh dHVtKGV4dHZhY3V1bS0+d2FsX3JlY29yZHMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPndhbF9mcGkpOworCisJLyogQ29udmVydCB0byBudW1lcmljLCBs aWtlIHBnX3N0YXRfc3RhdGVtZW50cyAqLworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1Ziwg VUlOVDY0X0ZPUk1BVCwgZXh0dmFjdXVtLT53YWxfYnl0ZXMpOworCXZhbHVlc1tpKytdID0g RGlyZWN0RnVuY3Rpb25DYWxsMyhudW1lcmljX2luLAorCQkJCQkJCQkJICBDU3RyaW5nR2V0 RGF0dW0oYnVmKSwKKwkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bSgwKSwKKwkJCQkJCQkJ CSAgSW50MzJHZXREYXR1bSgtMSkpOworCisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1 bShleHR2YWN1dW0tPmJsa19yZWFkX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0 RGF0dW0oZXh0dmFjdXVtLT5ibGtfd3JpdGVfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9h dDhHZXREYXR1bShleHR2YWN1dW0tPmRlbGF5X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxv YXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF90aW1lKTsgLy8xNgorCXZhbHVlc1tpKytd ID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5pbnRlcnJ1cHRzKTsKKworCUFzc2VydChp ID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTKTsKKwogCS8qIFJl dHVybnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLwogCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVw bGVHZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsK IH0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dAppbmRleCA0Y2U2ZmY0MjdjMi4uZDRmMGNiZWNhYTggMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19w cm9jLmRhdApAQCAtMTI0MDEsNyArMTI0MDEsNyBAQAogICBwcm9zcmMgPT4gJ2dpc3Rfc3Ry YXRudW1faWRlbnRpdHknIH0sCiAKIHsgb2lkID0+ICc4MDAxJywKLSAgZGVzY3IgPT4gJ3Bn X3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgcmV0dXJuIHN0YXRzIHZhbHVlcycsCisgIGRlc2Ny ID0+ICdwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIHJldHVybnMgdmFjdXVtIHN0YXRzIHZh bHVlcyBmb3IgdGFibGUnLAogICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF92YWN1dW1fdGFi bGVzJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUg PT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4gJ2YnLAogICBwcm9yZXRzZXQgPT4gJ3QnLAog ICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKQEAgLTEyNDE5LDEyICsxMjQxOSwyMSBAQAogICBw cm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9 PiAnb2lkJywKICAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdl cycgfSwKIHsgb2lkID0+ICc4MDA0JywKLSAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1 bV9pbmRleGVzIHJldHVybiBzdGF0cyB2YWx1ZXMnLAorICBkZXNjciA9PiAncGdfc3RhdF9n ZXRfdmFjdXVtX2luZGV4ZXMgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVzIGZvciBpbmRl eCcsCiAgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJywgcHJvcm93 cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcs cHJvaXNzdHJpY3QgPT4gJ2YnLAogICBwcm9yZXRzZXQgPT4gJ3QnLAogICBwcm9hcmd0eXBl cyA9PiAnb2lkJywKICAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxp bnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgs ZmxvYXQ4LGZsb2F0OCxmbG9hdDh9JywKICAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKICAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQs cmVsaWQsdG90YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGll ZCx0b3RhbF9ibGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNf ZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCx3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlcyxi bGtfcmVhZF90aW1lLGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUsdG90YWxfdGltZX0nLAot ICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJyB9CisgIHByb3NyYyA9 PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMnIH0sCit7IG9pZCA9PiAnODAwNScsCisg IGRlc2NyID0+ICdwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UgcmV0dXJucyB2YWN1dW0g c3RhdHMgdmFsdWVzIGZvciBkYXRhYmFzZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0 X3ZhY3V1bV9kYXRhYmFzZScsIHByb3Jvd3MgPT4gMTAwMCwgcHJvdm9sYXRpbGUgPT4gJ3Mn LCBwcm9yZXR0eXBlID0+ICdyZWNvcmQnLHByb2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0 c2V0ID0+ICd0JywKKyAgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb2FsbGFyZ3R5cGVz ID0+ICd7b2lkLG9pZCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxudW1lcmljLGZs b2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxpbnQ0fScsCisgIHByb2FyZ21vZGVzID0+ICd7 aSxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7ZGJp ZCxkYm9pZCxkYl9ibGtzX3JlYWQsZGJfYmxrc19oaXQsdG90YWxfYmxrc19kaXJ0aWVkLHRv dGFsX2Jsa3Nfd3JpdHRlbix3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlcyxibGtfcmVh ZF90aW1lLGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUsdG90YWxfdGltZSxpbnRlcnJ1cHRz fScsCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlJyB9LAogXQpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQu aAppbmRleCAzZmI0YjM3ODFmNC4uM2U5ZjRlNmZjYTcgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL3Bnc3RhdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCkBAIC0xNzQsNyArMTc0 LDggQEAgdHlwZWRlZiBlbnVtIEV4dFZhY1JlcG9ydFR5cGUKIHsKIAlQR1NUQVRfRVhUVkFD X0lOVkFMSUQgPSAwLAogCVBHU1RBVF9FWFRWQUNfSEVBUCA9IDEsCi0JUEdTVEFUX0VYVFZB Q19JTkRFWCA9IDIKKwlQR1NUQVRfRVhUVkFDX0lOREVYID0gMiwKKwlQR1NUQVRfRVhUVkFD X0RCID0gMywKIH0gRXh0VmFjUmVwb3J0VHlwZTsKIAogLyogLS0tLS0tLS0tLQpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAppbmRleCA4OTI3ZWIwYjA3NC4uNDk3MGIwYjUy MWYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0Cisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CkBAIC0xODgxLDYgKzE4 ODEsMjIgQEAgcGdfc3RhdF9kYXRhYmFzZV9jb25mbGljdHN8IFNFTEVDVCBvaWQgQVMgZGF0 aWQsCiAgICAgcGdfc3RhdF9nZXRfZGJfY29uZmxpY3Rfc3RhcnR1cF9kZWFkbG9jayhvaWQp IEFTIGNvbmZsX2RlYWRsb2NrLAogICAgIHBnX3N0YXRfZ2V0X2RiX2NvbmZsaWN0X2xvZ2lj YWxzbG90KG9pZCkgQVMgY29uZmxfYWN0aXZlX2xvZ2ljYWxzbG90CiAgICBGUk9NIHBnX2Rh dGFiYXNlIGQ7CitwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2V8IFNFTEVDVCBkYi5vaWQg QVMgZGJvaWQsCisgICAgZGIuZGF0bmFtZSBBUyBkYm5hbWUsCisgICAgc3RhdHMuZGJfYmxr c19yZWFkLAorICAgIHN0YXRzLmRiX2Jsa3NfaGl0LAorICAgIHN0YXRzLnRvdGFsX2Jsa3Nf ZGlydGllZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgc3RhdHMud2Fs X3JlY29yZHMsCisgICAgc3RhdHMud2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMsCisg ICAgc3RhdHMuYmxrX3JlYWRfdGltZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKKyAg ICBzdGF0cy5kZWxheV90aW1lLAorICAgIHN0YXRzLnRvdGFsX3RpbWUsCisgICAgc3RhdHMu aW50ZXJydXB0cworICAgRlJPTSBwZ19kYXRhYmFzZSBkYiwKKyAgICBMQVRFUkFMIHBnX3N0 YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShkYi5vaWQpIHN0YXRzKGRib2lkLCBkYl9ibGtzX3Jl YWQsIGRiX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRl biwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxr X3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUsIGludGVycnVwdHMpOwogcGdf c3RhdF9nZXRfdmFjdXVtX2luZGV4ZXN8IFNFTEVDVCByZWwub2lkIEFTIHJlbGlkLAogICAg IG5zLm5zcG5hbWUgQVMgc2NoZW1hLAogICAgIHJlbC5yZWxuYW1lLApkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0 IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0 aXN0aWNzLm91dApzaW1pbGFyaXR5IGluZGV4IDc5JQpyZW5hbWUgZnJvbSBzcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKcmVuYW1lIHRv IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlz dGljcy5vdXQKaW5kZXggNDI5NTk0MmQ4NGQuLjg3MGVmMTYzMjUzIDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQK KysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX2FuZF9kYl9z dGF0aXN0aWNzLm91dApAQCAtNiw2ICs2LDkgQEAKIC0tIG51bWJlciBvZiBmcm96ZW4gYW5k IHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgogLS0gU3RhdGlzdGljIHdhbF9m cGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3Ig aXMgdW5zdGFibGUuCiAtLQorQ1JFQVRFIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGlj X3ZhY3V1bV9kYjsKK0NSRUFURSBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1 dW1fZGIxOworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiOwogLS0gY29uZGl0 aW8gc2luZSBxdWEgbm9uCiBTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KICB0 cmFja19jb3VudHMgCkBAIC0yMTIsNCArMjE1LDc1IEBAIFNFTEVDVCBtaW4ocmVsaWQpIEZS T00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcygwKSB3aGVyZSByZWxpZCA+IDA7CiAgICAg CiAoMSByb3cpCiAKKy0tIE5vdyBjaGVjayB2YWN1dW0gc3RhdGlzdGljcyBmb3IgY3VycmVu dCBkYXRhYmFzZQorU0VMRUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMg ZGJfYmxrc19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9i bGtzX2RpcnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9i bGtzX3dyaXR0ZW4sCisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAor ICAgICAgIHdhbF9mcGkgPiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBB UyB3YWxfYnl0ZXMsCisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJP TQorcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSBjdXJyZW50 X2RhdGFiYXNlKCk7CisgICAgICAgICAgICAgZGJuYW1lICAgICAgICAgICAgIHwgZGJfYmxr c19oaXQgfCB0b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCB3YWxf cmVjb3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCB0b3RhbF90aW1lIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0KKyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIg fCB0ICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAg ICB8IHQgICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IHQKKygxIHJvdykKKwor RFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKKy0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFy ZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisgcGdfc3Rh dF9mb3JjZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKygx IHJvdykKKworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1f ZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBT RUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FO QUxZWkUgdmVzdGF0OworVVBEQVRFIHZlc3RhdCBTRVQgeCA9IDEwMDAxOworVkFDVVVNIChQ QVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CitcYyByZWdyZXNz aW9uX3N0YXRpc3RpY192YWN1dW1fZGIxOworLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0 aWNzIGZvciBwb3N0Z3JlcyBkYXRhYmFzZSBmcm9tIGFub3RoZXIgZGF0YWJhc2UKK1NFTEVD VCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Jsa3NfaGl0LAorICAg ICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICAg ICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193cml0dGVuLAorICAg ICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAgICB3YWxfZnBpID4g MCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2FsX2J5dGVzLAorICAg ICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3BnX3N0YXRfZ2V0X3Zh Y3V1bV9kYXRhYmFzZQorV0hFUkUgZGJuYW1lID0gJ3JlZ3Jlc3Npb25fc3RhdGlzdGljX3Zh Y3V1bV9kYic7CisgICAgICAgICAgICAgZGJuYW1lICAgICAgICAgICAgIHwgZGJfYmxrc19o aXQgfCB0b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCB3YWxfcmVj b3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCB0b3RhbF90aW1lIAorLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0KKyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIgfCB0 ICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8 IHQgICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IHQKKygxIHJvdykKKworXGMg cmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiCiBEUk9QIFRBQkxFIHZlc3RhdCBDQVND QURFOworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NFTEVDVCBjb3Vu dCgqKQorRlJPTSBwZ19kYXRhYmFzZSBkCitDUk9TUyBKT0lOIHBnX3N0YXRfZ2V0X3ZhY3V1 bV90YWJsZXMoMCkKK1dIRVJFIG9pZCA9IDA7IC0tIG11c3QgYmUgMAorIGNvdW50IAorLS0t LS0tLQorICAgICAwCisoMSByb3cpCisKK1NFTEVDVCBjb3VudCgqKQorRlJPTSBwZ19kYXRh YmFzZSBkCitDUk9TUyBKT0lOIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZSgwKQorV0hF UkUgb2lkID0gMDsgLS0gbXVzdCBiZSAwCisgY291bnQgCistLS0tLS0tCisgICAgIDAKKygx IHJvdykKKworXGMgcG9zdGdyZXMKK0RST1AgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0 aWNfdmFjdXVtX2RiMTsKK0RST1AgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFj dXVtX2RiOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVs ZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXggOTg0N2EzMzBl ZDEuLjFiYTMyYjg3Y2Y1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVs X3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKQEAg LTE0MSw0ICsxNDEsNCBAQCB0ZXN0OiB0YWJsZXNwYWNlCiAjIENoZWNrIHZhY3V1bSBzdGF0 aXN0aWNzCiAjIC0tLS0tLS0tLS0KIHRlc3Q6IHZhY3V1bV9pbmRleF9zdGF0aXN0aWNzCi10 ZXN0OiB2YWN1dW1fdGFibGVzX3N0YXRpc3RpY3MKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCit0ZXN0OiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFj dXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1 bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3FsCnNpbWlsYXJpdHkgaW5kZXggODElCnJl bmFtZSBmcm9tIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGlj cy5zcWwKcmVuYW1lIHRvIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfYW5k X2RiX3N0YXRpc3RpY3Muc3FsCmluZGV4IGZiM2RlZDMwOWRjLi4zZWJhZWRiN2VkNSAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNz LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9z dGF0aXN0aWNzLnNxbApAQCAtNyw2ICs3LDEwIEBACiAtLSBTdGF0aXN0aWMgd2FsX2ZwaSBp cyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1 bnN0YWJsZS4KIC0tCiAKK0NSRUFURSBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192 YWN1dW1fZGI7CitDUkVBVEUgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVt X2RiMTsKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKKwogLS0gY29uZGl0 aW8gc2luZSBxdWEgbm9uCiBTSE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KIC0t IG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KQEAg LTE0Myw3ICsxNDcsNyBAQCBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMsIHBnX3N0 YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X2dldF92YWN1dW1fdGFibAogU0VMRUNUIHBh Z2VzX2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zpc2libGUgQVMgcHYsIHJldl9hbGxfZnJv emVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxlX3BhZ2VzIEFTIGhhdnAKIEZST00g cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBn X3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0 X2dldF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkIFxn c2V0CiAKLVVQREFURSB2ZXN0YXQgU0VUIHggPSB4ICsgMTAwMTsKK1VQREFURSB2ZXN0YXQg U0VUIHggPSB4KzEwMDE7CiBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1J VCAxMjgpIHZlc3RhdDsKIFNFTEVDVCBwYWdlc19mcm96ZW4gPiA6cGYgQVMgcGFnZXNfZnJv emVuLHBhZ2VzX2FsbF92aXNpYmxlID4gOnB2IEFTIHBhZ2VzX2FsbF92aXNpYmxlLHJldl9h bGxfZnJvemVuX3BhZ2VzID4gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2Fs bF92aXNpYmxlX3BhZ2VzID4gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiBGUk9N IHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBw Z19zdGF0X2dldF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3Rh dF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsK QEAgLTE1Nyw0ICsxNjEsNjAgQEAgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLCBw Z19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmwKIAogU0VM RUNUIG1pbihyZWxpZCkgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKDApIHdoZXJl IHJlbGlkID4gMDsKIAotRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCistLSBOb3cgY2hlY2sgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIGN1 cnJlbnQgZGF0YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAw IEFTIGRiX2Jsa3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90 YWxfYmxrc19kaXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90 YWxfYmxrc193cml0dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3Jk cywKKyAgICAgICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+ IDAgQVMgd2FsX2J5dGVzLAorICAgICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUK K0ZST00KK3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZQorV0hFUkUgZGJuYW1lID0gY3Vy cmVudF9kYXRhYmFzZSgpOworCitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworCistLSBl bnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2Vf bmV4dF9mbHVzaCgpOworCitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0 b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8g dmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBh cyB4OworQU5BTFlaRSB2ZXN0YXQ7CitVUERBVEUgdmVzdGF0IFNFVCB4ID0gMTAwMDE7CitW QUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKwor XGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKKworLS0gTm93IGNoZWNrIHZh Y3V1bSBzdGF0aXN0aWNzIGZvciBwb3N0Z3JlcyBkYXRhYmFzZSBmcm9tIGFub3RoZXIgZGF0 YWJhc2UKK1NFTEVDVCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Js a3NfaGl0LAorICAgICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19k aXJ0aWVkLAorICAgICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193 cml0dGVuLAorICAgICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAg ICB3YWxfZnBpID4gMCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2Fs X2J5dGVzLAorICAgICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3Bn X3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZQorV0hFUkUgZGJuYW1lID0gJ3JlZ3Jlc3Npb25f c3RhdGlzdGljX3ZhY3V1bV9kYic7CisKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1 bV9kYgorCitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworCitcYyByZWdyZXNzaW9uX3N0 YXRpc3RpY192YWN1dW1fZGIxOworU0VMRUNUIGNvdW50KCopCitGUk9NIHBnX2RhdGFiYXNl IGQKK0NST1NTIEpPSU4gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcygwKQorV0hFUkUgb2lk ID0gMDsgLS0gbXVzdCBiZSAwCisKK1NFTEVDVCBjb3VudCgqKQorRlJPTSBwZ19kYXRhYmFz ZSBkCitDUk9TUyBKT0lOIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZSgwKQorV0hFUkUg b2lkID0gMDsgLS0gbXVzdCBiZSAwCisKK1xjIHBvc3RncmVzCitEUk9QIERBVEFCQVNFIHJl Z3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitEUk9QIERBVEFCQVNFIHJlZ3Jlc3Np b25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCi0t IAoyLjM0LjEKCg== --------------mA7RtUH8OO6khZAM76QJ8BuH Content-Type: text/x-patch; charset=UTF-8; name="v11-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v11-0002-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA5ZDRjODcxNDVlZDEwNjBiMzljZDE3YWQ4ZjViYmUwZGJlYzUwODlhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogRnJpLCAxIE5vdiAyMDI0IDE4OjI0OjIzICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAyLzNdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24gCiBoZWFwIGFuZCBpbmRleCByZWxhdGlvbnMuIFJlbWVtYmVy LCBzdGF0aXN0aWMgb24gaGVhcCBhbmQgaW5kZXggcmVsYXRpb25zIGEgCiBiaXQgZGlmZmVy ZW50IChzZWUgRXh0VmFjUmVwb3J0IHRvIGZpbmQgb3V0IG1vcmUgaW5mb3JtYXRpb24pLiBU aGUgY29uY2VwdCBvZgogIHRoZSBFeHRWYWNSZXBvcnQgc3RydWN0dXJlIGhhcyBiZWVuIGNv bXBsaWNhdGVkIHRvIHN0b3JlIHN0YXRpc3RpYyAKIGluZm9ybWF0aW9uIGZvciB0d28ga2lu ZHMgb2YgcmVsYXRpb25zOiBmb3IgaGVhcCBhbmQgaW5kZXggcmVsYXRpb25zLiAKIEV4dFZh Y1JlcG9ydFR5cGUgdmFyaWFibGUgaGVscHMgdG8gZGV0ZXJtaW5lIHdoYXQgdGhlIGtpbmQg aXMgY29uc2lkZXJpbmcgCiBub3cuCgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zh Y3V1bWxhenkuYyAgICAgICAgICB8ICA5OSArKysrKysrKystLQogc3JjL2JhY2tlbmQvY2F0 YWxvZy9zeXN0ZW1fdmlld3Muc3FsICAgICAgICAgIHwgIDMyICsrKysKIHNyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAgNyArLQogc3JjL2JhY2tl bmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgIHwgIDQxICsrKy0tCiBzcmMv YmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAgfCAxMjYgKysrKysr KysrKysrLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAg IHwgICA5ICsKIHNyYy9pbmNsdWRlL3Bnc3RhdC5oICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA1MiArKysrLS0KIC4uLi92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFk Lm91dCAgICB8ICAgNyArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQg ICAgICAgICAgIHwgIDIyICsrKwogLi4uL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0 aWNzLm91dCAgICAgIHwgMTY1ICsrKysrKysrKysrKysrKysrKwogLi4uL2V4cGVjdGVkL3Zh Y3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQgICAgIHwgIDEwICstCiBzcmMvdGVzdC9yZWdy ZXNzL3BhcmFsbGVsX3NjaGVkdWxlICAgICAgICAgICAgfCAgIDEgKwogLi4uL3JlZ3Jlc3Mv c3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbCAgIHwgMTMwICsrKysrKysrKysrKysr CiAuLi4vcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbCAgfCAgMTAg Ky0KIDE0IGZpbGVzIGNoYW5nZWQsIDY1OSBpbnNlcnRpb25zKCspLCA1MiBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1 bV9pbmRleF9zdGF0aXN0aWNzLm91dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbAoKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyBiL3NyYy9iYWNrZW5kL2FjY2Vz cy9oZWFwL3ZhY3V1bWxhenkuYwppbmRleCBjYWE3NTIzNDg0YS4uMzcwYmIxNGY2MTcgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9z cmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAgLTE2Niw2ICsxNjYsNyBA QCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJY2hhcgkgICAqZGJuYW1lOwogCWNoYXIJ ICAgKnJlbG5hbWVzcGFjZTsKIAlPaWQJCQlyZWxvaWQ7CisJT2lkCQkJaW5kb2lkOwogCWNo YXIJICAgKnJlbG5hbWU7CiAJY2hhcgkgICAqaW5kbmFtZTsJCS8qIEN1cnJlbnQgaW5kZXgg bmFtZSAqLwogCUJsb2NrTnVtYmVyIGJsa25vOwkJCS8qIHVzZWQgb25seSBmb3IgaGVhcCBv cGVyYXRpb25zICovCkBAIC0yNDQsNiArMjQ1LDEzIEBAIHR5cGVkZWYgc3RydWN0IExWRXh0 U3RhdENvdW50ZXJzCiAJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2hpdDsKIH0gTFZFeHRTdGF0 Q291bnRlcnM7CiAKK3R5cGVkZWYgc3RydWN0IExWRXh0U3RhdENvdW50ZXJzSWR4Cit7CisJ TFZFeHRTdGF0Q291bnRlcnMgY29tbW9uOworCWludDY0CQlwYWdlc19kZWxldGVkOworCWlu dDY0CQl0dXBsZXNfcmVtb3ZlZDsKK30gTFZFeHRTdGF0Q291bnRlcnNJZHg7CisKIC8qIG5v bi1leHBvcnQgZnVuY3Rpb24gcHJvdG90eXBlcyAqLwogc3RhdGljIHZvaWQgbGF6eV9zY2Fu X2hlYXAoTFZSZWxTdGF0ZSAqdmFjcmVsKTsKIHN0YXRpYyBib29sIGhlYXBfdmFjX3NjYW5f bmV4dF9ibG9jayhMVlJlbFN0YXRlICp2YWNyZWwsIEJsb2NrTnVtYmVyICpibGtubywKQEAg LTM5NCw2ICs0MDIsNDYgQEAgZXh0dmFjX3N0YXRzX2VuZChSZWxhdGlvbiByZWwsIExWRXh0 U3RhdENvdW50ZXJzICpjb3VudGVycywKIAkJcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJs b2Nrc19oaXQgLSBjb3VudGVycy0+YmxvY2tzX2hpdDsKIH0KIAorc3RhdGljIHZvaWQKK2V4 dHZhY19zdGF0c19zdGFydF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1 bHQgKnN0YXRzLAorCQkJCQkgICBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMpCit7 CisJZXh0dmFjX3N0YXRzX3N0YXJ0KHJlbCwgJmNvdW50ZXJzLT5jb21tb24pOworCWNvdW50 ZXJzLT5wYWdlc19kZWxldGVkID0gY291bnRlcnMtPnR1cGxlc19yZW1vdmVkID0gMDsKKwor CWlmIChzdGF0cyAhPSBOVUxMKQorCXsKKwkJLyoKKwkJICogWFhYOiBXaHkgZG8gd2UgbmVl ZCB0aGlzIGNvZGUgaGVyZT8gSWYgaXQgaXMgbmVlZGVkLCBJIGZlZWwgbGFjayBvZgorCQkg KiBjb21tZW50cywgZGVzY3JpYmluZyB0aGUgcmVhc29uLgorCQkgKi8KKwkJY291bnRlcnMt PnR1cGxlc19yZW1vdmVkID0gc3RhdHMtPnR1cGxlc19yZW1vdmVkOworCQljb3VudGVycy0+ cGFnZXNfZGVsZXRlZCA9IHN0YXRzLT5wYWdlc19kZWxldGVkOworCX0KK30KKworc3RhdGlj IHZvaWQKK2V4dHZhY19zdGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVs ZXRlUmVzdWx0ICpzdGF0cywKKwkJCQkJIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVy cywgRXh0VmFjUmVwb3J0ICpyZXBvcnQpCit7CisJZXh0dmFjX3N0YXRzX2VuZChyZWwsICZj b3VudGVycy0+Y29tbW9uLCByZXBvcnQpOworCXJlcG9ydC0+dHlwZSA9IFBHU1RBVF9FWFRW QUNfSU5ERVg7CisKKwlpZiAoc3RhdHMgIT0gTlVMTCkKKwl7CisJCS8qCisJCSAqIGlmIHNv bWV0aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIgZG9lc24ndCB3YW50IHRvIHRyYWNrIGEg ZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0IHN1cHByZXNzIGl0LgorCQkgKi8KKwor CQkvKiBGaWxsIGluZGV4LXNwZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcyAqLworCQly ZXBvcnQtPmluZGV4LnR1cGxlc19kZWxldGVkID0KKwkJCQkJCQlzdGF0cy0+dHVwbGVzX3Jl bW92ZWQgLSBjb3VudGVycy0+dHVwbGVzX3JlbW92ZWQ7CisJCXJlcG9ydC0+aW5kZXgucGFn ZXNfZGVsZXRlZCA9CisJCQkJCQkJc3RhdHMtPnBhZ2VzX2RlbGV0ZWQgLSBjb3VudGVycy0+ cGFnZXNfZGVsZXRlZDsKKwl9Cit9CisKIC8qCiAgKgloZWFwX3ZhY3V1bV9yZWwoKSAtLSBw ZXJmb3JtIFZBQ1VVTSBmb3Igb25lIGhlYXAgcmVsYXRpb24KICAqCkBAIC02OTcsMTQgKzc0 NSwxNSBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJhbXMgKnBh cmFtcywKIAlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFj UmVwb3J0KTsKIAogCS8qIEZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVs ZHMgKi8KLQlleHRWYWNSZXBvcnQucGFnZXNfc2Nhbm5lZCA9IHZhY3JlbC0+c2Nhbm5lZF9w YWdlczsKLQlleHRWYWNSZXBvcnQucGFnZXNfcmVtb3ZlZCA9IHZhY3JlbC0+cmVtb3ZlZF9w YWdlczsKLQlleHRWYWNSZXBvcnQucGFnZXNfZnJvemVuID0gdmFjcmVsLT5zZXRfZnJvemVu X3BhZ2VzOwotCWV4dFZhY1JlcG9ydC5wYWdlc19hbGxfdmlzaWJsZSA9IHZhY3JlbC0+c2V0 X2FsbF92aXNpYmxlX3BhZ2VzOwotCWV4dFZhY1JlcG9ydC50dXBsZXNfZGVsZXRlZCA9IHZh Y3JlbC0+dHVwbGVzX2RlbGV0ZWQ7Ci0JZXh0VmFjUmVwb3J0LnR1cGxlc19mcm96ZW4gPSB2 YWNyZWwtPnR1cGxlc19mcm96ZW47Ci0JZXh0VmFjUmVwb3J0LmRlYWRfdHVwbGVzID0gdmFj cmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlcyArIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVz OwotCWV4dFZhY1JlcG9ydC5pbmRleF92YWN1dW1fY291bnQgPSB2YWNyZWwtPm51bV9pbmRl eF9zY2FuczsKKwlleHRWYWNSZXBvcnQudHlwZSA9IFBHU1RBVF9FWFRWQUNfSEVBUDsKKwll eHRWYWNSZXBvcnQuaGVhcC5wYWdlc19zY2FubmVkID0gdmFjcmVsLT5zY2FubmVkX3BhZ2Vz OworCWV4dFZhY1JlcG9ydC5oZWFwLnBhZ2VzX3JlbW92ZWQgPSB2YWNyZWwtPnJlbW92ZWRf cGFnZXM7CisJZXh0VmFjUmVwb3J0LmhlYXAucGFnZXNfZnJvemVuID0gdmFjcmVsLT5zZXRf ZnJvemVuX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5oZWFwLnBhZ2VzX2FsbF92aXNpYmxlID0g dmFjcmVsLT5zZXRfYWxsX3Zpc2libGVfcGFnZXM7CisJZXh0VmFjUmVwb3J0LmhlYXAudHVw bGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxldGVkOworCWV4dFZhY1JlcG9ydC5o ZWFwLnR1cGxlc19mcm96ZW4gPSB2YWNyZWwtPnR1cGxlc19mcm96ZW47CisJZXh0VmFjUmVw b3J0LmhlYXAuZGVhZF90dXBsZXMgPSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsg dmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7CisJZXh0VmFjUmVwb3J0LmhlYXAuaW5kZXhf dmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7CiAKIAkvKgogCSAqIFJl cG9ydCByZXN1bHRzIHRvIHRoZSBjdW11bGF0aXZlIHN0YXRzIHN5c3RlbSwgdG9vLgpAQCAt MjU2OSw2ICsyNjE4LDEwIEBAIGxhenlfdmFjdXVtX29uZV9pbmRleChSZWxhdGlvbiBpbmRy ZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiB7CiAJSW5kZXhWYWN1dW1JbmZv IGl2aW5mbzsKIAlMVlNhdmVkRXJySW5mbyBzYXZlZF9lcnJfaW5mbzsKKwlMVkV4dFN0YXRD b3VudGVyc0lkeCBleHRWYWNDb3VudGVyczsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0 OworCisJZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291 bnRlcnMpOwogCiAJaXZpbmZvLmluZGV4ID0gaW5kcmVsOwogCWl2aW5mby5oZWFwcmVsID0g dmFjcmVsLT5yZWw7CkBAIC0yNTg3LDYgKzI2NDAsNyBAQCBsYXp5X3ZhY3V1bV9vbmVfaW5k ZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCSAq LwogCUFzc2VydCh2YWNyZWwtPmluZG5hbWUgPT0gTlVMTCk7CiAJdmFjcmVsLT5pbmRuYW1l ID0gcHN0cmR1cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShpbmRyZWwpKTsKKwl2YWNyZWwt PmluZG9pZCA9IFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKTsKIAl1cGRhdGVfdmFjdXVtX2Vy cm9yX2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8sCiAJCQkJCQkJIFZBQ1VVTV9FUlJD Ql9QSEFTRV9WQUNVVU1fSU5ERVgsCiAJCQkJCQkJIEludmFsaWRCbG9ja051bWJlciwgSW52 YWxpZE9mZnNldE51bWJlcik7CkBAIC0yNTk1LDYgKzI2NDksMTMgQEAgbGF6eV92YWN1dW1f b25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3Rh dCwKIAlpc3RhdCA9IHZhY19idWxrZGVsX29uZV9pbmRleCgmaXZpbmZvLCBpc3RhdCwgKHZv aWQgKikgdmFjcmVsLT5kZWFkX2l0ZW1zLAogCQkJCQkJCQkgIHZhY3JlbC0+ZGVhZF9pdGVt c19pbmZvKTsKIAorCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3Ig aW5kZXggKi8KKwlleHR2YWNfc3RhdHNfZW5kX2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFj Q291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCisJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVs YXRpb25HZXRSZWxpZChpbmRyZWwpLAorCQkJCQkJCWluZHJlbC0+cmRfcmVsLT5yZWxpc3No YXJlZCwKKwkJCQkJCQkwLCAwLCAmZXh0VmFjUmVwb3J0KTsKKwogCS8qIFJldmVydCB0byB0 aGUgcHJldmlvdXMgcGhhc2UgaW5mb3JtYXRpb24gZm9yIGVycm9yIHRyYWNlYmFjayAqLwog CXJlc3RvcmVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8pOwog CXBmcmVlKHZhY3JlbC0+aW5kbmFtZSk7CkBAIC0yNjE5LDYgKzI2ODAsMTAgQEAgbGF6eV9j bGVhbnVwX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3Vs dCAqaXN0YXQsCiB7CiAJSW5kZXhWYWN1dW1JbmZvIGl2aW5mbzsKIAlMVlNhdmVkRXJySW5m byBzYXZlZF9lcnJfaW5mbzsKKwlMVkV4dFN0YXRDb3VudGVyc0lkeCBleHRWYWNDb3VudGVy czsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OworCisJZXh0dmFjX3N0YXRzX3N0YXJ0 X2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMpOwogCiAJaXZpbmZvLmluZGV4 ID0gaW5kcmVsOwogCWl2aW5mby5oZWFwcmVsID0gdmFjcmVsLT5yZWw7CkBAIC0yNjM4LDEy ICsyNzAzLDIwIEBAIGxhenlfY2xlYW51cF9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJ bmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCSAqLwogCUFzc2VydCh2YWNyZWwtPmlu ZG5hbWUgPT0gTlVMTCk7CiAJdmFjcmVsLT5pbmRuYW1lID0gcHN0cmR1cChSZWxhdGlvbkdl dFJlbGF0aW9uTmFtZShpbmRyZWwpKTsKKwl2YWNyZWwtPmluZG9pZCA9IFJlbGF0aW9uR2V0 UmVsaWQoaW5kcmVsKTsKIAl1cGRhdGVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2 ZWRfZXJyX2luZm8sCiAJCQkJCQkJIFZBQ1VVTV9FUlJDQl9QSEFTRV9JTkRFWF9DTEVBTlVQ LAogCQkJCQkJCSBJbnZhbGlkQmxvY2tOdW1iZXIsIEludmFsaWRPZmZzZXROdW1iZXIpOwog CiAJaXN0YXQgPSB2YWNfY2xlYW51cF9vbmVfaW5kZXgoJml2aW5mbywgaXN0YXQpOwogCisJ LyogTWFrZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLworCWV4 dHZhY19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycywgJmV4 dFZhY1JlcG9ydCk7CisKKwlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlk KGluZHJlbCksCisJCQkJCQkJaW5kcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLAorCQkJCQkJ CTAsIDAsICZleHRWYWNSZXBvcnQpOworCiAJLyogUmV2ZXJ0IHRvIHRoZSBwcmV2aW91cyBw aGFzZSBpbmZvcm1hdGlvbiBmb3IgZXJyb3IgdHJhY2ViYWNrICovCiAJcmVzdG9yZV92YWN1 dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9lcnJfaW5mbyk7CiAJcGZyZWUodmFjcmVs LT5pbmRuYW1lKTsKQEAgLTMyNjAsNyArMzMzMyw3IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFj ayh2b2lkICphcmcpCiAJewogCQljYXNlIFZBQ1VVTV9FUlJDQl9QSEFTRV9TQ0FOX0hFQVA6 CiAJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKLQkJCQlwZ3N0YXRfcmVwb3J0X3Zh Y3V1bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQpOworCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVt X2Vycm9yKGVycmluZm8tPnJlbG9pZCwgUEdTVEFUX0VYVFZBQ19IRUFQKTsKIAkJCWlmIChC bG9ja051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJewogCQkJCWlmIChPZmZz ZXROdW1iZXJJc1ZhbGlkKGVycmluZm8tPm9mZm51bSkpCkBAIC0zMjc3LDcgKzMzNTAsNyBA QCB2YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9pZCAqYXJnKQogCiAJCWNhc2UgVkFDVVVNX0VS UkNCX1BIQVNFX1ZBQ1VVTV9IRUFQOgogCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1Ip Ci0JCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkKTsKKwkJ CQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQsIFBHU1RBVF9F WFRWQUNfSEVBUCk7CiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVycmluZm8tPmJsa25v KSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxpZChlcnJpbmZvLT5vZmZudW0p KQpAQCAtMzI5MywxNiArMzM2NiwyMiBAQCB2YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9pZCAq YXJnKQogCQkJYnJlYWs7CiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfVkFDVVVNX0lO REVYOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9y dF92YWN1dW1fZXJyb3IoZXJyaW5mby0+aW5kb2lkLCBQR1NUQVRfRVhUVkFDX0lOREVYKTsK IAkJCWVycmNvbnRleHQoIndoaWxlIHZhY3V1bWluZyBpbmRleCBcIiVzXCIgb2YgcmVsYXRp b24gXCIlcy4lc1wiIiwKIAkJCQkJICAgZXJyaW5mby0+aW5kbmFtZSwgZXJyaW5mby0+cmVs bmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFD VVVNX0VSUkNCX1BIQVNFX0lOREVYX0NMRUFOVVA6CisJCQlpZihnZXRlcnJlbGV2ZWwoKSA9 PSBFUlJPUikKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5pbmRv aWQsIFBHU1RBVF9FWFRWQUNfSU5ERVgpOwogCQkJZXJyY29udGV4dCgid2hpbGUgY2xlYW5p bmcgdXAgaW5kZXggXCIlc1wiIG9mIHJlbGF0aW9uIFwiJXMuJXNcIiIsCiAJCQkJCSAgIGVy cmluZm8tPmluZG5hbWUsIGVycmluZm8tPnJlbG5hbWVzcGFjZSwgZXJyaW5mby0+cmVsbmFt ZSk7CiAJCQlicmVhazsKIAogCQljYXNlIFZBQ1VVTV9FUlJDQl9QSEFTRV9UUlVOQ0FURToK KwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRfdmFj dXVtX2Vycm9yKGVycmluZm8tPnJlbG9pZCwgUEdTVEFUX0VYVFZBQ19IRUFQKTsKIAkJCWlm IChCbG9ja051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJCWVycmNvbnRleHQo IndoaWxlIHRydW5jYXRpbmcgcmVsYXRpb24gXCIlcy4lc1wiIHRvICV1IGJsb2NrcyIsCiAJ CQkJCQkgICBlcnJpbmZvLT5yZWxuYW1lc3BhY2UsIGVycmluZm8tPnJlbG5hbWUsIGVycmlu Zm8tPmJsa25vKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3Zp ZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCAy OTJjNjYyOWEyMC4uZDg5YjgxNTRlNjkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFs b2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92 aWV3cy5zcWwKQEAgLTE0MjUsMyArMTQyNSwzNSBAQCBGUk9NIHBnX2NsYXNzIHJlbAogICBK T0lOIHBnX25hbWVzcGFjZSBucyBPTiBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlLAogICBM QVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMocmVsLm9pZCkgc3RhdHMKIFdIRVJF IHJlbC5yZWxraW5kID0gJ3InOworCitDUkVBVEUgVklFVyBwZ19zdGF0X2dldF92YWN1dW1f aW5kZXhlcyBBUworU0VMRUNUCisgIHJlbC5vaWQgYXMgcmVsaWQsCisgIG5zLm5zcG5hbWUg QVMgInNjaGVtYSIsCisgIHJlbC5yZWxuYW1lIEFTIHJlbG5hbWUsCisKKyAgdG90YWxfYmxr c19yZWFkIEFTIHRvdGFsX2Jsa3NfcmVhZCwKKyAgdG90YWxfYmxrc19oaXQgQVMgdG90YWxf Ymxrc19oaXQsCisgIHRvdGFsX2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQs CisgIHRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisKKyAgcmVs X2Jsa3NfcmVhZCBBUyByZWxfYmxrc19yZWFkLAorICByZWxfYmxrc19oaXQgQVMgcmVsX2Js a3NfaGl0LAorCisgIHBhZ2VzX2RlbGV0ZWQgQVMgcGFnZXNfZGVsZXRlZCwKKyAgdHVwbGVz X2RlbGV0ZWQgQVMgdHVwbGVzX2RlbGV0ZWQsCisKKyAgd2FsX3JlY29yZHMgQVMgd2FsX3Jl Y29yZHMsCisgIHdhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgd2FsX2J5dGVzIEFTIHdhbF9ieXRl cywKKworICBibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3RpbWUsCisgIGJsa193cml0ZV90 aW1lIEFTIGJsa193cml0ZV90aW1lLAorCisgIGRlbGF5X3RpbWUgQVMgZGVsYXlfdGltZSwK KyAgdG90YWxfdGltZSBBUyB0b3RhbF90aW1lCitGUk9NCisgIHBnX2NsYXNzIHJlbAorICBK T0lOIHBnX25hbWVzcGFjZSBucyBPTiBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlLAorICBM QVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKHJlbC5vaWQpIHN0YXRzCitXSEVS RSByZWwucmVsa2luZCA9ICdpJzsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCmluZGV4IDgzZGFkZTlhNWMxLi43OWE1YzY1 NTQwYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMK KysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTExMjEsNyAr MTEyMSw4IEBAIHBnc3RhdF91cGRhdGVfc25hcHNob3QoUGdTdGF0X0tpbmQga2luZCkKIAlQ R19UUlkoKTsKIAl7CiAJCXBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9IFBHU1RBVF9GRVRD SF9DT05TSVNURU5DWV9TTkFQU0hPVDsKLQkJcGdzdGF0X2J1aWxkX3NuYXBzaG90KFBHU1RB VF9LSU5EX1JFTEFUSU9OKTsKKwkJaWYgKGtpbmQgPT0gUEdTVEFUX0tJTkRfUkVMQVRJT04p CisJCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoUEdTVEFUX0tJTkRfUkVMQVRJT04pOwogCX0K IAlQR19GSU5BTExZKCk7CiAJewpAQCAtMTE3Niw2ICsxMTc3LDEwIEBAIHBnc3RhdF9idWls ZF9zbmFwc2hvdChQZ1N0YXRfS2luZCBzdGF0S2luZCkKIAkJaWYgKHAtPmRyb3BwZWQpCiAJ CQljb250aW51ZTsKIAorCQlpZiAoc3RhdEtpbmQgIT0gUEdTVEFUX0tJTkRfSU5WQUxJRCAm JiBzdGF0S2luZCAhPSBwLT5rZXkua2luZCkKKwkJCS8qIExvYWQgc3RhdCBvZiBzcGVjaWZp YyB0eXBlLCBpZiBkZWZpbmVkICovCisJCQljb250aW51ZTsKKwogCQlBc3NlcnQocGdfYXRv bWljX3JlYWRfdTMyKCZwLT5yZWZjb3VudCkgPiAwKTsKIAogCQlzdGF0c19kYXRhID0gZHNh X2dldF9hZGRyZXNzKHBnU3RhdExvY2FsLmRzYSwgcC0+Ym9keSk7CmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmluZGV4IDk1ODY1NTE2NTZh Li5mNmIwNzI0MDFkNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdz dGF0X3JlbGF0aW9uLmMKQEAgLTIxMiw3ICsyMTIsNyBAQCBwZ3N0YXRfZHJvcF9yZWxhdGlv bihSZWxhdGlvbiByZWwpCiAgKiAtLS0tLS0tLS0KICAqLwogdm9pZAotcGdzdGF0X3JlcG9y dF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lkKQorcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJy b3IoT2lkIHRhYmxlb2lkLCBFeHRWYWNSZXBvcnRUeXBlIG1fdHlwZSkKIHsKIAlQZ1N0YXRf RW50cnlSZWYgKmVudHJ5X3JlZjsKIAlQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKnNodGFiZW50 cnk7CkBAIC0yMjksNiArMjI5LDcgQEAgcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lk IHRhYmxlb2lkKQogCXRhYmVudHJ5ID0gJnNodGFiZW50cnktPnN0YXRzOwogCiAJdGFiZW50 cnktPnZhY3V1bV9leHQuaW50ZXJydXB0cysrOworCXRhYmVudHJ5LT52YWN1dW1fZXh0LnR5 cGUgPSBtX3R5cGU7CiAJcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOwogfQogCkBA IC0xMDM5LDE1ICsxMDQwLDMxIEBAIHBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cyhF eHRWYWNSZXBvcnQgKmRzdCwgRXh0VmFjUmVwb3J0ICpzcmMsCiAJaWYgKCFhY2N1bXVsYXRl X3JlbHR5cGVfc3BlY2lmaWNfaW5mbykKIAkJcmV0dXJuOwogCi0JZHN0LT5ibGtzX2ZldGNo ZWQgKz0gc3JjLT5ibGtzX2ZldGNoZWQ7Ci0JZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3Nf aGl0OwotCi0JZHN0LT5wYWdlc19zY2FubmVkICs9IHNyYy0+cGFnZXNfc2Nhbm5lZDsKLQlk c3QtPnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT5wYWdlc19yZW1vdmVkOwotCWRzdC0+cGFnZXNf ZnJvemVuICs9IHNyYy0+cGFnZXNfZnJvemVuOwotCWRzdC0+cGFnZXNfYWxsX3Zpc2libGUg Kz0gc3JjLT5wYWdlc19hbGxfdmlzaWJsZTsKLQlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNy Yy0+dHVwbGVzX2RlbGV0ZWQ7Ci0JZHN0LT50dXBsZXNfZnJvemVuICs9IHNyYy0+dHVwbGVz X2Zyb3plbjsKLQlkc3QtPmRlYWRfdHVwbGVzICs9IHNyYy0+ZGVhZF90dXBsZXM7Ci0JZHN0 LT5pbmRleF92YWN1dW1fY291bnQgKz0gc3JjLT5pbmRleF92YWN1dW1fY291bnQ7CisJaWYg KGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOVkFMSUQpCisJCWRzdC0+dHlwZSA9IHNy Yy0+dHlwZTsKKworCUFzc2VydChzcmMtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTlZBTElE IHx8IHNyYy0+dHlwZSA9PSBkc3QtPnR5cGUpOworCisJaWYgKGRzdC0+dHlwZSA9PSBzcmMt PnR5cGUpCisJeworCQlkc3QtPmJsa3NfZmV0Y2hlZCArPSBzcmMtPmJsa3NfZmV0Y2hlZDsK KwkJZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0OworCisJCWlmIChkc3QtPnR5cGUg PT0gUEdTVEFUX0VYVFZBQ19IRUFQKQorCQl7CisJCQlkc3QtPmhlYXAucGFnZXNfc2Nhbm5l ZCArPSBzcmMtPmhlYXAucGFnZXNfc2Nhbm5lZDsKKwkJCWRzdC0+aGVhcC5wYWdlc19yZW1v dmVkICs9IHNyYy0+aGVhcC5wYWdlc19yZW1vdmVkOworCQkJZHN0LT5oZWFwLnBhZ2VzX2Zy b3plbiArPSBzcmMtPmhlYXAucGFnZXNfZnJvemVuOworCQkJZHN0LT5oZWFwLnBhZ2VzX2Fs bF92aXNpYmxlICs9IHNyYy0+aGVhcC5wYWdlc19hbGxfdmlzaWJsZTsKKwkJCWRzdC0+aGVh cC50dXBsZXNfZGVsZXRlZCArPSBzcmMtPmhlYXAudHVwbGVzX2RlbGV0ZWQ7CisJCQlkc3Qt PmhlYXAudHVwbGVzX2Zyb3plbiArPSBzcmMtPmhlYXAudHVwbGVzX2Zyb3plbjsKKwkJCWRz dC0+aGVhcC5kZWFkX3R1cGxlcyArPSBzcmMtPmhlYXAuZGVhZF90dXBsZXM7CisJCQlkc3Qt PmhlYXAuaW5kZXhfdmFjdXVtX2NvdW50ICs9IHNyYy0+aGVhcC5pbmRleF92YWN1dW1fY291 bnQ7CisJCX0KKwkJZWxzZSBpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5ERVgp CisJCXsKKwkJCWRzdC0+aW5kZXgucGFnZXNfZGVsZXRlZCArPSBzcmMtPmluZGV4LnBhZ2Vz X2RlbGV0ZWQ7CisJCQlkc3QtPmluZGV4LnR1cGxlc19kZWxldGVkICs9IHNyYy0+aW5kZXgu dHVwbGVzX2RlbGV0ZWQ7CisJCX0KKwl9CiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwppbmRleCBkMmYzNjA4MTUzMi4u N2ZiMDdhNDM5ZGMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRm dW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0y MjA1LDE0ICsyMjA1LDE0IEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJ T05fQVJHUykKIAkJCQkJCQkJCWV4dHZhY3V1bS0+Ymxrc19oaXQpOwogCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmJsa3NfaGl0KTsKIAotCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnBhZ2VzX3NjYW5uZWQpOwotCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnBhZ2VzX3JlbW92ZWQpOwotCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnBhZ2VzX2Zyb3plbik7Ci0JdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cGFnZXNfYWxsX3Zpc2libGUp OwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxlc19kZWxl dGVkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNf ZnJvemVuKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5kZWFk X3R1cGxlcyk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+aW5k ZXhfdmFjdXVtX2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT5oZWFwLnBhZ2VzX3NjYW5uZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPmhlYXAucGFnZXNfcmVtb3ZlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+aGVhcC5wYWdlc19mcm96ZW4pOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmhlYXAucGFnZXNfYWxsX3Zpc2libGUpOwor CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmhlYXAudHVwbGVzX2Rl bGV0ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmhlYXAu dHVwbGVzX2Zyb3plbik7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+aGVhcC5kZWFkX3R1cGxlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+aGVhcC5pbmRleF92YWN1dW1fY291bnQpOwogCiAJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX3JlY29yZHMpOwogCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPndhbF9mcGkpOwpAQCAtMjIzMSw2ICsyMjMxLDEx NiBAQCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAlB c3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMpOwogCisJ LyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCisJUEdfUkVUVVJOX0RBVFVNKEhl YXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBsZSh0dXBkZXNjLCB2YWx1ZXMsIG51bGxz KSkpOworfQorCisvKgorICogR2V0IHRoZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGhl YXAgdGFibGVzLgorICovCitEYXR1bQorcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMoUEdf RlVOQ1RJT05fQVJHUykKK3sKKwkjZGVmaW5lIFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9T VEFUU19DT0xTCTE2CisKKwlPaWQJCQkJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJ UGdTdGF0X1N0YXRUYWJFbnRyeSAgICAgKnRhYmVudHJ5OworCUV4dFZhY1JlcG9ydCAJCQkq ZXh0dmFjdXVtOworCVR1cGxlRGVzYwkJCQkgdHVwZGVzYzsKKwlEYXR1bQkJCQkJIHZhbHVl c1tQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09MU10gPSB7MH07CisJYm9vbAkJ CQkJIG51bGxzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTXSA9IHswfTsK KwljaGFyCQkJCQkgYnVmWzI1Nl07CisJaW50CQkJCQkJIGkgPSAwOworCUV4dFZhY1JlcG9y dCBhbGx6ZXJvOworCisJLyogSW5pdGlhbGlzZSBhdHRyaWJ1dGVzIGluZm9ybWF0aW9uIGlu IHRoZSB0dXBsZSBkZXNjcmlwdG9yICovCisJdHVwZGVzYyA9IENyZWF0ZVRlbXBsYXRlVHVw bGVEZXNjKFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKKworCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsaWQiLAorCQkJ CQkgICBJTlQ0T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJ0b3RhbF8gYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwg LTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAidG90YWxfYmxrc19oaXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVE ZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2Rp cnRpZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX3dyaXR0ZW4iLAorCQkJ CQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJyZWxfYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEs IDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAi cmVsX2Jsa3NfaGl0IiwvLzcKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVz Y0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicGFnZXNfZGVsZXRlZCIs CisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgInR1cGxlc19kZWxldGVkIiwKKwkJCQkJICAgSU5UOE9J RCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAid2FsX3JlY29yZHMiLC8vOQorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfZnBpIiwK KwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAid2FsX2J5dGVzIiwKKwkJCQkJICAgTlVNRVJJQ09JRCwg LTEsIDApOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJibGtfcmVhZF90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisJVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfd3JpdGVf dGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCisJVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJkZWxheV90aW1lIiwKKwkJCQkJICAg RkxPQVQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ0b3RhbF90aW1lIiwvLzE1CisJCQkJCSAgIEZMT0FUOE9JRCwgLTEs IDApOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NP TFMpOworCisJQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7CisKKwl0YWJlbnRyeSA9IHBnc3Rh dF9mZXRjaF9zdGF0X3RhYmVudHJ5KHJlbGlkKTsKKworCWlmICh0YWJlbnRyeSA9PSBOVUxM KQorCXsKKwkJLyogSWYgdGhlIHN1YnNjcmlwdGlvbiBpcyBub3QgZm91bmQsIGluaXRpYWxp c2UgaXRzIHN0YXRzICovCisJCW1lbXNldCgmYWxsemVybywgMCwgc2l6ZW9mKEV4dFZhY1Jl cG9ydCkpOworCQlleHR2YWN1dW0gPSAmYWxsemVybzsKKwl9CisJZWxzZQorCXsKKwkJZXh0 dmFjdXVtID0gJih0YWJlbnRyeS0+dmFjdXVtX2V4dCk7CisJfQorCisJaSA9IDA7CisKKwl2 YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0dW0ocmVsaWQpOworCisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19yZWFkKTsKKwl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2hpdCk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19kaXJ0aWVk KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtz X3dyaXR0ZW4pOy8vNQorCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+Ymxrc19mZXRjaGVkIC0KKwkJCQkJCQkJCWV4dHZhY3V1bS0+Ymxrc19oaXQpOworCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmJsa3NfaGl0KTsvLzcKKwor CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmluZGV4LnBhZ2VzX2Rl bGV0ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmluZGV4 LnR1cGxlc19kZWxldGVkKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPndhbF9yZWNvcmRzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0 dmFjdXVtLT53YWxfZnBpKTsKKworCS8qIENvbnZlcnQgdG8gbnVtZXJpYywgbGlrZSBwZ19z dGF0X3N0YXRlbWVudHMgKi8KKwlzbnByaW50ZihidWYsIHNpemVvZiBidWYsIFVJTlQ2NF9G T1JNQVQsIGV4dHZhY3V1bS0+d2FsX2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IERpcmVjdEZ1 bmN0aW9uQ2FsbDMobnVtZXJpY19pbiwKKwkJCQkJCQkJCSAgQ1N0cmluZ0dldERhdHVtKGJ1 ZiksCisJCQkJCQkJCQkgIE9iamVjdElkR2V0RGF0dW0oMCksCisJCQkJCQkJCQkgIEludDMy R2V0RGF0dW0oLTEpKTsKKworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFj dXVtLT5ibGtfcmVhZF90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4 dHZhY3V1bS0+YmxrX3dyaXRlX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0 dW0oZXh0dmFjdXVtLT5kZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERh dHVtKGV4dHZhY3V1bS0+dG90YWxfdGltZSk7IC8vMTYKKworCUFzc2VydChpID09IFBHX1NU QVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKKwogCS8qIFJldHVybnMgdGhlIHJl Y29yZCBhcyBEYXR1bSAqLwogCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXREYXR1bSho ZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKIH0KXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCA2MmQx N2RmNTc3MC4uNGNlNmZmNDI3YzIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAt MTI0MTgsNCArMTI0MTgsMTMgQEAKICAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfcmV2X2Fs bF9mcm96ZW5fcGFnZXMnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBw cm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVuX3BhZ2VzJyB9LAoreyBvaWQg PT4gJzgwMDQnLAorICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgcmV0 dXJuIHN0YXRzIHZhbHVlcycsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9p bmRleGVzJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5 cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4gJ2YnLAorICBwcm9yZXRzZXQgPT4gJ3Qn LAorICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQs b2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgs bnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDh9JywKKyAgcHJvYXJnbW9kZXMg PT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFt ZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRv dGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxf Ymxrc19oaXQscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCx3YWxfcmVjb3Jkcyx3YWxf ZnBpLHdhbF9ieXRlcyxibGtfcmVhZF90aW1lLGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUs dG90YWxfdGltZX0nLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVz JyB9CiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNsdWRl L3Bnc3RhdC5oCmluZGV4IGFhYWUxY2UyNGNjLi4zZmI0YjM3ODFmNCAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKQEAgLTE2 OSwxMSArMTY5LDE5IEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9CYWNrZW5kU3ViRW50cnkK IAlQZ1N0YXRfQ291bnRlciBjb25mbGljdF9jb3VudFtDT05GTElDVF9OVU1fVFlQRVNdOwog fSBQZ1N0YXRfQmFja2VuZFN1YkVudHJ5OwogCisvKiBUeXBlIG9mIEV4dFZhY1JlcG9ydCAq LwordHlwZWRlZiBlbnVtIEV4dFZhY1JlcG9ydFR5cGUKK3sKKwlQR1NUQVRfRVhUVkFDX0lO VkFMSUQgPSAwLAorCVBHU1RBVF9FWFRWQUNfSEVBUCA9IDEsCisJUEdTVEFUX0VYVFZBQ19J TkRFWCA9IDIKK30gRXh0VmFjUmVwb3J0VHlwZTsKKwogLyogLS0tLS0tLS0tLQogICoKICAq IEV4dFZhY1JlcG9ydAogICoKLSAqIEFkZGl0aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0g cHJvY2Vzc2luZyBvdmVyIGEgaGVhcCByZWxhdGlvbi4KKyAqIEFkZGl0aW9uYWwgc3RhdGlz dGljcyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBvdmVyIGEgcmVsYXRpb24uCiAgKiBwYWdlc19y ZW1vdmVkIGlzIHRoZSBhbW91bnQgYnkgd2hpY2ggdGhlIHBoeXNpY2FsbHkgc2hyYW5rLAog ICogaWYgYW55IChpZSB0aGUgY2hhbmdlIGluIGl0cyB0b3RhbCBzaXplIG9uIGRpc2spCiAg KiBwYWdlc19kZWxldGVkIHJlZmVyIHRvIGZyZWUgc3BhY2Ugd2l0aGluIHRoZSBpbmRleCBm aWxlCkBAIC0yMDMsMTQgKzIxMSwzOCBAQCB0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQK IAkvKiBJbnRlcnJ1cHRpb25zIG9uIGFueSBlcnJvcnMuICovCiAJaW50MzIJCWludGVycnVw dHM7CiAKLQlpbnQ2NAkJcGFnZXNfc2Nhbm5lZDsJCS8qIG51bWJlciBvZiBwYWdlcyB3ZSBl eGFtaW5lZCAqLwotCWludDY0CQlwYWdlc19yZW1vdmVkOwkJLyogbnVtYmVyIG9mIHBhZ2Vz IHJlbW92ZWQgYnkgdmFjdXVtICovCi0JaW50NjQJCXBhZ2VzX2Zyb3plbjsJCS8qIG51bWJl ciBvZiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgZnJvemVuICovCi0JaW50NjQJCXBhZ2VzX2Fs bF92aXNpYmxlOwkvKiBudW1iZXIgb2YgcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNp YmxlICovCi0JaW50NjQJCXR1cGxlc19kZWxldGVkOwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkg dmFjdXVtICovCi0JaW50NjQJCXR1cGxlc19mcm96ZW47CQkvKiB0dXBsZXMgZnJvemVuIHVw IGJ5IHZhY3V1bSAqLwotCWludDY0CQlkZWFkX3R1cGxlczsJCS8qIG51bWJlciBvZiBkZWxl dGVkIHR1cGxlcyB3aGljaCB2YWN1dW0gY2Fubm90IGNsZWFuIHVwIGJ5IHZhY3V1bSBvcGVy YXRpb24gKi8KLQlpbnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50OwkvKiBudW1iZXIgb2YgaW5k ZXggdmFjdXVtaW5ncyAqLworCUV4dFZhY1JlcG9ydFR5cGUgdHlwZTsJCS8qIGhlYXAsIGlu ZGV4LCBldGMuICovCisKKwkvKiAtLS0tLS0tLS0tCisJICoKKwkgKiBUaGVyZSBhcmUgc2Vw YXJhdGUgbWV0cmljcyBvZiBzdGF0aXN0aWMgZm9yIHRhYmxlcyBhbmQgaW5kZXhlcywKKwkg KiB3aGljaCBjb2xsZWN0IGR1cmluZyB2YWN1dW0uCisJICogVGhlIHVuaW9uIG9wZXJhdG9y IGFsbG93cyB0byBjb21iaW5lIHRoZXNlIHN0YXRpc3RpY3MKKwkgKiBzbyB0aGF0IGVhY2gg bWV0cmljIGlzIGFzc2lnbmVkIHRvIGEgc3BlY2lmaWMgY2xhc3Mgb2YgY29sbGVjdGVkIHN0 YXRpc3RpY3MuCisJICogU3VjaCBhIGNvbWJpbmVkIHN0cnVjdHVyZSB3YXMgY2FsbGVkIHBl cl90eXBlX3N0YXRzLgorCSAqIFRoZSBuYW1lIG9mIHRoZSBzdHJ1Y3R1cmUgaXRzZWxmIGlz IG5vdCB1c2VkIGFueXdoZXJlLAorCSAqIGl0IGV4aXN0cyBvbmx5IGZvciB1bmRlcnN0YW5k aW5nIHRoZSBjb2RlLgorCSAqIC0tLS0tLS0tLS0KKwkqLworCXVuaW9uCisJeworCQlzdHJ1 Y3QKKwkJeworCQkJaW50NjQJCXBhZ2VzX3NjYW5uZWQ7CQkvKiBudW1iZXIgb2YgcGFnZXMg d2UgZXhhbWluZWQgKi8KKwkJCWludDY0CQlwYWdlc19yZW1vdmVkOwkJLyogbnVtYmVyIG9m IHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJcGFnZXNfZnJvemVuOwkJ LyogbnVtYmVyIG9mIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96ZW4gKi8KKwkJCWludDY0 CQlwYWdlc19hbGxfdmlzaWJsZTsJLyogbnVtYmVyIG9mIHBhZ2VzIG1hcmtlZCBpbiBWTSBh cyBhbGwtdmlzaWJsZSAqLworCQkJaW50NjQJCXR1cGxlc19kZWxldGVkOwkJLyogdHVwbGVz IGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJCS8qIHR1 cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJZGVhZF90dXBsZXM7CQkv KiBudW1iZXIgb2YgZGVsZXRlZCB0dXBsZXMgd2hpY2ggdmFjdXVtIGNhbm5vdCBjbGVhbiB1 cCBieSB2YWN1dW0gb3BlcmF0aW9uICovCisJCQlpbnQ2NAkJaW5kZXhfdmFjdXVtX2NvdW50 OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLworCQl9CQkJaGVhcDsKKwkJc3Ry dWN0CisJCXsKKwkJCWludDY0CQlwYWdlc19kZWxldGVkOwkJLyogbnVtYmVyIG9mIHBhZ2Vz IGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJdHVwbGVzX2RlbGV0ZWQ7CQkvKiB0 dXBsZXMgZGVsZXRlZCBieSB2YWN1dW0gKi8KKwkJfQkJCWluZGV4OworCX0gLyogcGVyX3R5 cGVfc3RhdHMgKi87CiB9IEV4dFZhY1JlcG9ydDsKIAogLyogLS0tLS0tLS0tLQpAQCAtNjky LDcgKzcyNCw3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJs ZW9pZCwgYm9vbCBzaGFyZWQsCiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X2FuYWx5emUo UmVsYXRpb24gcmVsLAogCQkJCQkJCQkgIFBnU3RhdF9Db3VudGVyIGxpdmV0dXBsZXMsIFBn U3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJCQkJCSAgYm9vbCByZXNldGNvdW50ZXIp OwotZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoT2lkIHRhYmxlb2lk KTsKK2V4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9p ZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpOwogCiAvKgogICogSWYgc3RhdHMgYXJlIGVu YWJsZWQsIGJ1dCBwZW5kaW5nIGRhdGEgaGFzbid0IGJlZW4gcHJlcGFyZWQgeWV0LCBjYWxs CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVu ZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0 ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKaW5kZXggN2NkYjc5 YzBlYzQuLjkzZmUxNWMwMWY5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9pc29sYXRpb24vZXhw ZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKKysrIGIvc3Jj L3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxl LXJlYWQub3V0CkBAIC05LDEwICs5LDkgQEAgc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNf dGFibGU6CiAgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMK ICAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBB TkQgdnQucmVsaWQgPSBjLm9pZDsKIAotcmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVw bGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVzX2Zyb3plbgotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQot dGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAgICAgIDB8ICAgICAgICAgIDB8 ICAgICAgICAgICAgMAotKDEgcm93KQorcmVsbmFtZXx0dXBsZXNfZGVsZXRlZHxkZWFkX3R1 cGxlc3x0dXBsZXNfZnJvemVuCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0KKygwIHJvd3MpCiAKIHN0ZXAgczFfYmVnaW5fcmVwZWF0YWJsZV9y ZWFkOiAKICAgQkVHSU4gdHJhbnNhY3Rpb24gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUg UkVBRDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0 IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggMGJkOWM2ZDM5 YjEuLjg5MjdlYjBiMDc0IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApA QCAtMTg4MSw2ICsxODgxLDI4IEBAIHBnX3N0YXRfZGF0YWJhc2VfY29uZmxpY3RzfCBTRUxF Q1Qgb2lkIEFTIGRhdGlkLAogICAgIHBnX3N0YXRfZ2V0X2RiX2NvbmZsaWN0X3N0YXJ0dXBf ZGVhZGxvY2sob2lkKSBBUyBjb25mbF9kZWFkbG9jaywKICAgICBwZ19zdGF0X2dldF9kYl9j b25mbGljdF9sb2dpY2Fsc2xvdChvaWQpIEFTIGNvbmZsX2FjdGl2ZV9sb2dpY2Fsc2xvdAog ICAgRlJPTSBwZ19kYXRhYmFzZSBkOworcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXN8IFNF TEVDVCByZWwub2lkIEFTIHJlbGlkLAorICAgIG5zLm5zcG5hbWUgQVMgc2NoZW1hLAorICAg IHJlbC5yZWxuYW1lLAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCwKKyAgICBzdGF0cy50 b3RhbF9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgc3Rh dHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0YXRzLnJlbF9ibGtzX3JlYWQsCisgICAg c3RhdHMucmVsX2Jsa3NfaGl0LAorICAgIHN0YXRzLnBhZ2VzX2RlbGV0ZWQsCisgICAgc3Rh dHMudHVwbGVzX2RlbGV0ZWQsCisgICAgc3RhdHMud2FsX3JlY29yZHMsCisgICAgc3RhdHMu d2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMsCisgICAgc3RhdHMuYmxrX3JlYWRfdGlt ZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKKyAgICBzdGF0cy5kZWxheV90aW1lLAor ICAgIHN0YXRzLnRvdGFsX3RpbWUKKyAgIEZST00gKHBnX2NsYXNzIHJlbAorICAgICBKT0lO IHBnX25hbWVzcGFjZSBucyBPTiAoKG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UpKSksCisg ICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhyZWwub2lkKSBzdGF0cyhy ZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0 aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwg cGFnZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0ZWQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3 YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0 b3RhbF90aW1lKQorICBXSEVSRSAocmVsLnJlbGtpbmQgPSAnaSc6OiJjaGFyIik7CiBwZ19z dGF0X2dldF92YWN1dW1fdGFibGVzfCBTRUxFQ1QgbnMubnNwbmFtZSBBUyBzY2hlbWEsCiAg ICAgcmVsLnJlbG5hbWUsCiAgICAgc3RhdHMucmVsaWQsCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dCBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0Cm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zYTFhZTY0OGQwZQotLS0gL2Rl di9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0 YXRpc3RpY3Mub3V0CkBAIC0wLDAgKzEsMTY1IEBACistLQorLS0gVGVzdCBjdW11bGF0aXZl IHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0aWNz IGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBmcm96 ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBmcm96 ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlzdGlj IHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVo YXZpb3IgaXMgdW5zdGFibGUuCistLQorLS0gY29uZGl0aW8gc2luZSBxdWEgbm9uCitTSE9X IHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KKyB0cmFja19jb3VudHMgCistLS0tLS0t LS0tLS0tLQorIG9uCisoMSByb3cpCisKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1 dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7 CistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRf Zm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK1xzZXQgc2FtcGxlX3NpemUg MTAwMDAKK1NFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2UgPSAwOworU0VUIHZhY3V1bV9mcmVl emVfdGFibGVfYWdlID0gMDsKKy0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25h cHNob3Q7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCBwcmltYXJ5IGtleSkgV0lUSCAo YXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElO VE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXpl KSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitTRUxFQ1Qgb2lkIEFTIGlvaWQgZnJvbSBwZ19j bGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorREVMRVRFIEZST00g dmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4 ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5h bWUscmVscGFnZXMscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0 X2dldF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9 ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgICByZWxuYW1lICAgfCBy ZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3Rh dF9wa2V5IHwgICAgICAgMzAgfCAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAKKygx IHJvdykKKworU0VMRUNUIHJlbHBhZ2VzIEFTIGlycAorRlJPTSBwZ19jbGFzcyBjCitXSEVS RSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorVkFDVVVNIChQQVJBTExFTCAwLCBC VUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBp dCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5U OworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBz aG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1 cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBiZWNhdXNl IG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUs cmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZCA9IDAgQVMgcGFn ZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00g cGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFt ZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0K KyB2ZXN0YXRfcGtleSB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykK KworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMg aXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5k ZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg QU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdi LHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CistLSBMb29rIGludG8gV0FMIHJlY29y ZHMgZGVsdGFzLgorU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyBkaVdSLCB3YWxfYnl0ZXMg PiAwIEFTIGRpV0IKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVs bmFtZSA9ICd2ZXN0YXRfcGtleSc7CisgZGl3ciB8IGRpd2IgCistLS0tLS0rLS0tLS0tCisg dCAgICB8IHQKKygxIHJvdykKKworREVMRVRFIEZST00gdmVzdGF0OzsKK1ZBQ1VVTSAoUEFS QUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVz dGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcwor Q0hFQ0tQT0lOVDsKKy0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVD VCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0 ZWQtOmlwZCA+IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID4gMCBB UyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyB2dCwg cGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJl bGlkID0gYy5vaWQ7CisgICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQg fCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5IHwgdCAgICAgICAgfCB0ICAg ICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBB UyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9N IHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5y ZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0g U3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMt Oml3ciBBUyBkaXdyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiLCB3YWxfZnBpLTppZnBpIEFT IGRpZnBpCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUg PSAndmVzdGF0X3BrZXknIFxnc2V0CistLSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0 ZWQuCitTRUxFQ1QgOmRpd3IgPiAwIEFTIGRpV1IsIDpkaXdiID4gMCBBUyBkaVdCOworIGRp d3IgfCBkaXdiIAorLS0tLS0tKy0tLS0tLQorIHQgICAgfCB0CisoMSByb3cpCisKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFT IGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfZ2V0 X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitJ TlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2Ft cGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOwor LS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQgdG8gc3RhdCBjb2xsZWN0b3IuIFNvLCBu byBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MKKy0tIGFyZSBkZXRlY3RlZCBoZXJl LgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRo ZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBp bnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3cjIsIHdhbF9i eXRlcy06aXdiIEFTIGRpd2IyLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpMgorRlJPTSBwZ19z dGF0X2dldF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBc Z3NldAorLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFkdmFuY2Ugc2hvdWxkIG5vdCBi ZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3cjI9MCBBUyBkaVdSLCA6ZGlmcGkyPTAgQVMgaUZQ SSwgOmRpd2IyPTAgQVMgZGlXQjsKKyBkaXdyIHwgaWZwaSB8IGRpd2IgCistLS0tLS0rLS0t LS0tKy0tLS0tLQorIHQgICAgfCB0ICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVs bmFtZSxyZWxwYWdlcy06aXJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQg PSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVz X2RlbGV0ZWQKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNz IGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMu b2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVz X2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8IHQgICAgICAgIHwgdCAgICAgICAgICAg ICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBh Z2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0 X2dldF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9 ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdB TCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3 YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1 bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitERUxFVEUg RlJPTSB2ZXN0YXQ7CitUUlVOQ0FURSB2ZXN0YXQ7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJV RkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0 IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7 CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVtb3Zpbmcg YWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMg ZGl3cjMsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2IzLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBp MworRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zl c3RhdF9wa2V5JyBcZ3NldAorLS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2VkCitTRUxFQ1Qg OmRpd3IzPTAgQVMgZGlXUiwgOmRpZnBpMz0wIEFTIGlGUEksIDpkaXdiMz0wIEFTIGRpV0I7 CisgZGl3ciB8IGlmcGkgfCBkaXdiIAorLS0tLS0tKy0tLS0tLSstLS0tLS0KKyB0ICAgIHwg dCAgICB8IHQKKygxIHJvdykKKworLS0KKy0tIE5vdywgdGhlIHRhYmxlIGFuZCBpbmRleCBp cyBjb21wcmVzc2VkIGludG8gemVybyBudW1iZXIgb2YgcGFnZXMuIENoZWNrIGl0CistLSBp biB2YWN1dW0gZXh0ZW5kZWQgc3RhdGlzdGljcy4KKy0tIFRoZSBwYWdlc19mcm96ZW4sIHBh Z2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBiZSBjaGFuZ2VkCistLQorU0VMRUNUIHZ0 LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06 aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1 cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19j bGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQg PSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1 cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgfCBmICAgICAgICB8IHQgICAgICAg ICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCBtaW4ocmVsaWQpIEZST00gcGdfc3RhdF9n ZXRfdmFjdXVtX2luZGV4ZXMoMCk7CisgbWluIAorLS0tLS0KKyAgIDAKKygxIHJvdykKKwor RFJPUCBUQUJMRSB2ZXN0YXQ7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKaW5kZXggYTNkOGE0MzAxZjMu LjQyOTU5NDJkODRkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Zh Y3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CkBAIC0yMyw4ICsyMyw2IEBAIFNF TEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKICgxIHJvdykKIAogXHNldCBzYW1w bGVfc2l6ZSAxMDAwMAotU0VUIHZhY3V1bV9mcmVlemVfbWluX2FnZSA9IDA7Ci1TRVQgdmFj dXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAwOwogLS1TRVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVu Y3kgPSBzbmFwc2hvdDsKIENSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRv dmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CiBJTlNFUlQgSU5UTyB2 ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFz IHg7CkBAIC0xNTYsNiArMTU0LDE0IEBAIFdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBB TkQgdnQucmVsaWQgPSBjLm9pZDsKICB2ZXN0YXQgIHwgdCAgICAgICAgICAgIHwgdCAgICAg ICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CiAoMSByb3cpCiAKK0RS T1AgVEFCTEUgdmVzdGF0OworU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOwor IHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgCisoMSByb3cpCisKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRv dmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CiBJTlNFUlQgSU5UTyB2 ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFz IHg7CiBBTkFMWVpFIHZlc3RhdDsKIC0tIG11c3QgYmUgZW1wdHkKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3Bh cmFsbGVsX3NjaGVkdWxlCmluZGV4IDk3N2EwNDcyMDI3Li45ODQ3YTMzMGVkMSAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVz dC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCkBAIC0xNDAsNCArMTQwLDUgQEAgdGVzdDog dGFibGVzcGFjZQogIyAtLS0tLS0tLS0tCiAjIENoZWNrIHZhY3V1bSBzdGF0aXN0aWNzCiAj IC0tLS0tLS0tLS0KK3Rlc3Q6IHZhY3V1bV9pbmRleF9zdGF0aXN0aWNzCiB0ZXN0OiB2YWN1 dW1fdGFibGVzX3N0YXRpc3RpY3MKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5z cWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmUzY2RkZWU2NjAxCi0t LSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0 YXRpc3RpY3Muc3FsCkBAIC0wLDAgKzEsMTMwIEBACistLQorLS0gVGVzdCBjdW11bGF0aXZl IHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0aWNz IGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBmcm96 ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBmcm96 ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlzdGlj IHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVo YXZpb3IgaXMgdW5zdGFibGUuCistLQorLS0gY29uZGl0aW8gc2luZSBxdWEgbm9uCitTSE9X IHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1 bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8g J2FsbCc7CisKKworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVD VCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKworXHNldCBzYW1wbGVfc2l6ZSAxMDAw MAorU0VUIHZhY3V1bV9mcmVlemVfbWluX2FnZSA9IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90 YWJsZV9hZ2UgPSAwOworLS1TRVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hv dDsKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50IHByaW1hcnkga2V5KSBXSVRIIChhdXRv dmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2 ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFz IHg7CitBTkFMWVpFIHZlc3RhdDsKKworU0VMRUNUIG9pZCBBUyBpb2lkIGZyb20gcGdfY2xh c3Mgd2hlcmUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworREVMRVRFIEZST00g dmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4 ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5h bWUscmVscGFnZXMscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0 X2dldF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9 ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgcmVscGFnZXMg QVMgaXJwCitGUk9NIHBnX2NsYXNzIGMKK1dIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXkn IFxnc2V0CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwg SU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNr IHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gVGhlIHRhYmxlIGFuZCBp bmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBzaG91bGQgc2hvdyB1cyB0aGF0Cist LSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdlcywgYnV0IHBhZ2VzX3Jl bW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBiZWNhdXNlIG9mIG5vdCBmdWxsIHRhYmxlIGhh dmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMg cmVscGFnZXMscGFnZXNfZGVsZXRlZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVs ZXRlZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2lu ZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXkn IEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMg aXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBw Z19zdGF0X2dldF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVs bmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKworLS0g U3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMg QVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF9n ZXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQK KworLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3Jk cyA+IDAgQVMgZGlXUiwgd2FsX2J5dGVzID4gMCBBUyBkaVdCCitGUk9NIHBnX3N0YXRfZ2V0 X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknOworCitERUxF VEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElN SVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3Nhcnkg dG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBwYWdlc19y ZW1vdmVkIG11c3QgYmUgaW5jcmVhc2VkCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06 aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPiAwIEFTIHBhZ2VzX2Rl bGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00g cGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0 LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19k ZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyB2dCwgcGdf Y2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlk ID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVz CitTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyLCB3YWxfYnl0ZXMtOml3YiBBUyBk aXdiLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9p bmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKKy0tIFdBTCBh ZHZhbmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3ciA+IDAgQVMgZGlXUiwg OmRpd2IgPiAwIEFTIGRpV0I7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlh YmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9m cGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5h bWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1Qg eCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0RFTEVURSBG Uk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBWQUNVVU0gRlVMTCBkb2Vzbid0IHJl cG9ydCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5vIGFueSBhZHZhbmNlbWVudHMgb2Ygc3Rh dGlzdGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUuCitWQUNVVU0gRlVMTCB2ZXN0YXQ7Cist LSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BP SU5UOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3 YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiMiwgd2Fs X2ZwaS06aWZwaSBBUyBkaWZwaTIKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMg V0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworLS0gV0FMIGFuZCBvdGhl ciBzdGF0aXN0aWNzIGFkdmFuY2Ugc2hvdWxkIG5vdCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6 ZGl3cjI9MCBBUyBkaVdSLCA6ZGlmcGkyPTAgQVMgaUZQSSwgOmRpd2IyPTAgQVMgZGlXQjsK KworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA8IDAgQVMgcmVscGFnZXMscGFn ZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTpp dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRl eGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBB TkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGly cCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdf c3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFT IGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfZ2V0 X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisK K0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxM RUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0 OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hF Q0tQT0lOVDsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzIGFmdGVy IHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKK1NFTEVDVCB3YWxfcmVjb3Jk cy06aXdyIEFTIGRpd3IzLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiMywgd2FsX2ZwaS06aWZw aSBBUyBkaWZwaTMKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVs bmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworLS1UaGVyZSBhcmUgbm90aGluZyBjaGFu Z2VkCitTRUxFQ1QgOmRpd3IzPTAgQVMgZGlXUiwgOmRpZnBpMz0wIEFTIGlGUEksIDpkaXdi Mz0wIEFTIGRpV0I7CisKKy0tCistLSBOb3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMgY29t cHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4gdmFj dXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUgcGFnZXNfZnJvemVuLCBwYWdlc19z Y2FubmVkIHZhbHVlcyBzaG91bGRuJ3QgYmUgY2hhbmdlZAorLS0KK1NFTEVDVCB2dC5yZWxu YW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9 IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBsZXNf ZGVsZXRlZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5v aWQ7CisKK1NFTEVDVCBtaW4ocmVsaWQpIEZST00gcGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4 ZXMoMCk7CisKK0RST1AgVEFCTEUgdmVzdGF0OwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKaW5kZXggODgyMDhlYTgyY2Qu LmZiM2RlZDMwOWRjIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1f dGFibGVzX3N0YXRpc3RpY3Muc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1 bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKQEAgLTE3LDggKzE3LDcgQEAgU0VUIHRyYWNrX2Z1 bmN0aW9ucyBUTyAnYWxsJzsKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsK IAogXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAotU0VUIHZhY3V1bV9mcmVlemVfbWluX2FnZSA9 IDA7Ci1TRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAwOworCiAtLVNFVCBzdGF0c19m ZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90OwogQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBp bnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsK IElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpz YW1wbGVfc2l6ZSkgYXMgeDsKQEAgLTEyNiwxMyArMTI1LDE2IEBAIFNFTEVDVCB2dC5yZWxu YW1lLHBhZ2VzX2Zyb3plbi06ZnAgPSAwIEFTIHBhZ2VzX2Zyb3plbix0dXBsZXNfZGVsZXRl ZC06dGQgPSAwIEFTCiBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2Ns YXNzIGMKIFdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9p ZDsKIAorRFJPUCBUQUJMRSB2ZXN0YXQ7CitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2Zs dXNoKCk7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9l bmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworCiBJTlNFUlQgSU5UTyB2ZXN0YXQg U0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CiBB TkFMWVpFIHZlc3RhdDsKIAogLS0gbXVzdCBiZSBlbXB0eQogU0VMRUNUIHBhZ2VzX2Zyb3pl biwgcGFnZXNfYWxsX3Zpc2libGUsIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlz aWJsZV9wYWdlcwogRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2Fs bF90YWJsZXMgV0hFUkUgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zl c3RhdCcgYW5kIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2Fs bF90YWJsZXMucmVsaWQ7Ci0KIFZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJ TUlUIDEyOCkgdmVzdGF0OwogCiAtLSBiYWNrZW5kIGRlZnJlZXplZCBwYWdlcwpAQCAtMTQz LDE0ICsxNDUsMTIgQEAgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLCBwZ19zdGF0 X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmwKIAogVVBEQVRFIHZl c3RhdCBTRVQgeCA9IHggKyAxMDAxOwogVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNB R0VfTElNSVQgMTI4KSB2ZXN0YXQ7Ci0KIFNFTEVDVCBwYWdlc19mcm96ZW4gPiA6cGYgQVMg cGFnZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID4gOnB2IEFTIHBhZ2VzX2FsbF92aXNp YmxlLHJldl9hbGxfZnJvemVuX3BhZ2VzID4gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFn ZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID4gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3Bh Z2VzCiBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxl cyBXSEVSRSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBh bmQgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxl cy5yZWxpZDsKIFNFTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxl IEFTIHB2LCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9w YWdlcyBBUyBoYXZwCiBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcGdf c3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKIAogVkFD VVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7Ci0KIC0t IHZhY3V1bSBmcmVlemVkIHBhZ2VzCiBTRUxFQ1QgcGFnZXNfZnJvemVuID0gOnBmIEFTIHBh Z2VzX2Zyb3plbixwYWdlc19hbGxfdmlzaWJsZSA9IDpwdiBBUyBwYWdlc19hbGxfdmlzaWJs ZSxyZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2Vz LHJldl9hbGxfdmlzaWJsZV9wYWdlcyA9IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdl cwogRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMg V0hFUkUgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5k IHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMu cmVsaWQ7Ci0tIAoyLjM0LjEKCg== --------------mA7RtUH8OO6khZAM76QJ8BuH Content-Type: text/x-patch; charset=UTF-8; name="v11-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v11-0001-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSAyNTcwNTRkMDczY2M0OGM3MjhhN2Y1OWNmODUzOTNlODJmZTZmM2Q3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogRnJpLCAxIE5vdiAyMDI0IDEzOjM5OjU4ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAxLzNdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24gCiBoZWFwIHJlbGF0aW9ucy4KClZhbHVlIG9mIHRvdGFsX2Js a3NfaGl0LCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3NfZGlydGllZCBhcmUgbnVtYmVy IG9mCmhpdHRlZCwgbWlzc2VkIGFuZCBkaXJ0aWVkIHBhZ2VzIGluIHNoYXJlZCBidWZmZXJz IGR1cmluZyBhIHZhY3V1bSBvcGVyYXRpb24KcmVzcGVjdGl2ZWx5LgoKdG90YWxfYmxrc19k aXJ0aWVkIG1lYW5zICdkaXJ0aWVkIG9ubHkgYnkgdGhpcyBhY3Rpb24nLiBTbywgaWYgdGhp cyBwYWdlIHdhcwpkaXJ0eSBiZWZvcmUgdGhlIHZhY3V1bSBvcGVyYXRpb24sIGl0IGRvZXNu J3QgY291bnQgdGhpcyBwYWdlIGFzICdkaXJ0aWVkJy4KClRoZSB0dXBsZXNfZGVsZXRlZCBw YXJhbWV0ZXIgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMgY2xlYW5lZCB1cCBieSB0aGUgdmFj dXVtCm9wZXJhdGlvbi4KClRoZSBkZWxheV90aW1lIHZhbHVlIG1lYW5zIHRvdGFsIHZhY3V1 bSBzbGVlcCB0aW1lIGluIHZhY3V1bSBkZWxheSBwb2ludC4KVGhlIHBhZ2VzX3JlbW92ZWQg dmFsdWUgaXMgdGhlIG51bWJlciBvZiBwYWdlcyBieSB3aGljaCB0aGUgcGh5c2ljYWwgZGF0 YQpzdG9yYWdlIG9mIHRoZSByZWxhdGlvbiB3YXMgcmVkdWNlZC4KVGhlIHZhbHVlIG9mIHBh Z2VzX2RlbGV0ZWQgcGFyYW1ldGVyIGlzIHRoZSBudW1iZXIgb2YgZnJlZWQgcGFnZXMgaW4g dGhlIHRhYmxlCihmaWxlIHNpemUgbWF5IG5vdCBoYXZlIGNoYW5nZWQpLgoKSW50ZXJydXB0 aW9ucyBudW1iZXIgb2YgKGF1dG8pdmFjdXVtIHByb2Nlc3MgZHVyaW5nIHZhY3V1bWluZyBv ZiBhIHJlbGF0aW9uLgpXZSByZXBvcnQgZnJvbSB0aGUgdmFjdXVtX2Vycm9yX2NhbGxiYWNr IHJvdXRpbmUuIFNvIHdlIGNhbiBsb2cgYWxsIEVSUk9SCnJlcG9ydHMuIEluIHRoZSBjYXNl IG9mIGF1dG92YWN1dW0gd2UgY2FuIHJlcG9ydCBTSUdJTlQgc2lnbmFscyB0b28uCkl0IG1h eWJlIGRhbmdlcm91cyB0byBtYWtlIHN1Y2ggY29tcGxleCB0YXNrIChzZW5kKSBpbiBhbiBl cnJvciBjYWxsYmFjayAtCndlIGNhbiBjYXRjaCBFUlJPUiBpbiBFUlJPUiBwcm9ibGVtLiBC dXQgaXQgbG9va3MgbGlrZSB3ZSBoYXZlIHNvIHNtYWxsCmNoYW5jZSB0byBzdHVjayBpbnRv IHRoaXMgcHJvYmxlbS4gU28sIGxldCdzIHRyeSB0byB1c2UuClRoaXMgcGFyYW1ldGVyIHJl bGF0ZXMgdG8gYSBwcm9ibGVtLCBjb3ZlcmVkIGJ5IGIxOWU0MjUwLgoKVHJhY2tpbmcgb2Yg SU8gZHVyaW5nIGFuIChhdXRvKXZhY3V1bSBvcGVyYXRpb24uCkludHJvZHVjZWQgdmFyaWFi bGVzIGJsa19yZWFkX3RpbWUgYW5kIGJsa193cml0ZV90aW1lIHRyYWNrcyBvbmx5IGFjY2Vz cyB0bwpidWZmZXIgcGFnZXMgYW5kIGZsdXNoaW5nIHRoZW0gdG8gZGlzay4gUmVhZGluZyBv cGVyYXRpb24gaXMgdHJpdmlhbCwgYnV0CndyaXRpbmcgbWVhc3VyZW1lbnQgdGVjaG5pcXVl IGlzIG5vdCBvYnZpb3VzLgpTbywgZHVyaW5nIGEgdmFjdXVtIHdyaXRpbmcgdGltZSBjYW4g YmUgemVybyBpbmNyZW1lbnRlZCBiZWNhdXNlIG5vIGFueSBmbHVzaGluZwpvcGVyYXRpb25z IHdlcmUgcGVyZm9ybWVkLgoKU3lzdGVtIHRpbWUgYW5kIHVzZXIgdGltZSBhcmUgcGFyYW1l dGVycyB0aGF0IGRlc2NyaWJlcyBob3cgbXVjaCB0aW1lIGEgdmFjdXVtCm9wZXJhdGlvbiBo YXMgc3BlbnQgaW4gZXhlY3V0aW5nIG9mIGNvZGUgaW4gdXNlciBzcGFjZSBhbmQga2VybmVs IHNwYWNlCmFjY29yZGluZ2x5LiBBbHNvLCBhY2N1bXVsYXRlIHRvdGFsIHRpbWUgb2YgYSB2 YWN1dW0gdGhhdCBpcyBhIGRpZmYgYmV0d2Vlbgp0aW1lc3RhbXBzIGluIHN0YXJ0IGFuZCBm aW5pc2ggcG9pbnRzIGluIHRoZSB2YWN1dW0gY29kZS4KUmVtZW1iZXIgYWJvdXQgaWRsZSB0 aW1lLCB3aGVuIHZhY3V1bSB3YWl0ZWQgZm9yIElPIGFuZCBsb2Nrcywgc28gdG90YWwgdGlt ZQppc24ndCBlcXVhbCBhIHN1bSBvZiB1c2VyIGFuZCBzeXN0ZW0gdGltZSwgYnV0IG5vIGxl c3MuCgpwYWdlc19mcm96ZW4gLSBudW1iZXIgb2YgcGFnZXMgdGhhdCBhcmUgbWFya2VkIGFz IGZyb3plbiBpbiB2bSBkdXJpbmcgdmFjdXVtLgpUaGlzIHBhcmFtZXRlciBpcyBpbmNyZW1l bnRlZCBpZiBwYWdlIGlzIG1hcmtlZCBhcyBhbGwtZnJvemVuLgpwYWdlc19hbGxfdmlzaWJs ZSAtIG51bWJlciBvZiBwYWdlcyB0aGF0IGFyZSBtYXJrZWQgYXMgYWxsLXZpc2libGUgaW4g dm0gZHVyaW5nCnZhY3V1bS4KCkF1dGhvcnM6IEFsZW5hIFJ5YmFraW5hIDxsZW5hLnJpYmFj a2luYUB5YW5kZXgucnU+LAoJIEFuZHJlaSBMZXBpa2hvdiA8YS5sZXBpa2hvdkBwb3N0Z3Jl c3Byby5ydT4sCgkgQW5kcmVpIFp1YmtvdiA8YS56dWJrb3ZAcG9zdGdyZXNwcm8ucnU+ClJl dmlld2VkLWJ5OiBEaWxpcCBLdW1hciA8ZGlsaXBiYWxhdXRAZ21haWwuY29tPiwgTWFzYWhp a28gU2F3YWRhIDxzYXdhZGEubXNoa0BnbWFpbC5jb20+LAoJICAgICBJbGlhIEV2ZG9raW1v diA8aWx5YS5ldmRva2ltb3ZAdGFudG9ybGFicy5jb20+LCBqaWFuIGhlIDxqaWFuLnVuaXZl cnNhbGl0eUBnbWFpbC5jb20+LAoJICAgICBLaXJpbGwgUmVzaGtlIDxyZXNoa2VraXJpbGxA Z21haWwuY29tPiwgQWxleGFuZGVyIEtvcm90a292IDxhZWtvcm90a292QGdtYWlsLmNvbT4K LS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgICAgICAgICAgfCAx NDcgKysrKysrKysrKystCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFw LmMgICAgICAgfCAgMTMgKysKIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNx bCAgICAgICAgICB8ICA0OCArKystCiBzcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYyAg ICAgICAgICAgICAgICAgfCAgIDQgKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFy YWxsZWwuYyAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdC5jICAgICAgICAgICB8ICAzMiArKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICA3MCArKysrKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2Fk dC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8IDE3MSArKysrKysrKysrKysrKwogc3JjL2Jh Y2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgIHwgIDEzICsrCiBzcmMv aW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgMTggKysKIHNy Yy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oICAgICAgICAgICAgICAgICB8ICAgMSArCiBz cmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNzkgKysr KysrLQogc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oICAgICAgICAgICAgICAgICAgICAgIHwg ICAxICsKIHNyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9pbnRlcm5hbC5oICAgICAgICAgICB8 ICAgMiArLQogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0ICAg IHwgIDUzICsrKysrCiBzcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlICAg ICAgICAgfCAgIDEgKwogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQu c3BlYyAgIHwgIDUxICsrKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dCAgICAgICAgICAgfCAgNDAgKysrLQogLi4uL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3Rh dGlzdGljcy5vdXQgICAgIHwgMjA5ICsrKysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVn cmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICA1ICsKIC4uLi9yZWdyZXNz L3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsICB8IDE2MCArKysrKysrKysrKysr KwogMjEgZmlsZXMgY2hhbmdlZCwgMTEwMiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFj dXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFi bGUtcmVhZC5zcGVjCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbAoKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRleCA3OTNiZDMzY2I0ZC4uY2Fh NzUyMzQ4NGEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxh enkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAgLTE2 NSw2ICsxNjUsNyBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJLyogRXJyb3IgcmVw b3J0aW5nIHN0YXRlICovCiAJY2hhcgkgICAqZGJuYW1lOwogCWNoYXIJICAgKnJlbG5hbWVz cGFjZTsKKwlPaWQJCQlyZWxvaWQ7CiAJY2hhcgkgICAqcmVsbmFtZTsKIAljaGFyCSAgICpp bmRuYW1lOwkJLyogQ3VycmVudCBpbmRleCBuYW1lICovCiAJQmxvY2tOdW1iZXIgYmxrbm87 CQkJLyogdXNlZCBvbmx5IGZvciBoZWFwIG9wZXJhdGlvbnMgKi8KQEAgLTE5Miw2ICsxOTMs OCBAQCB0eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJQmxvY2tOdW1iZXIgbHBkZWFkX2l0 ZW1fcGFnZXM7CS8qICMgcGFnZXMgd2l0aCBMUF9ERUFEIGl0ZW1zICovCiAJQmxvY2tOdW1i ZXIgbWlzc2VkX2RlYWRfcGFnZXM7CS8qICMgcGFnZXMgd2l0aCBtaXNzZWQgZGVhZCB0dXBs ZXMgKi8KIAlCbG9ja051bWJlciBub25lbXB0eV9wYWdlczsgLyogYWN0dWFsbHksIGxhc3Qg bm9uZW1wdHkgcGFnZSArIDEgKi8KKwlCbG9ja051bWJlciBzZXRfZnJvemVuX3BhZ2VzOyAv KiBwYWdlcyBhcmUgbWFya2VkIGFzIGZyb3plbiBpbiB2bSBkdXJpbmcgdmFjdXVtICovCisJ QmxvY2tOdW1iZXIgc2V0X2FsbF92aXNpYmxlX3BhZ2VzOwkvKiBwYWdlcyBhcmUgbWFya2Vk IGFzIGFsbC12aXNpYmxlIGluIHZtIGR1cmluZyB2YWN1dW0gKi8KIAogCS8qIFN0YXRpc3Rp Y3Mgb3V0cHV0IGJ5IHVzLCBmb3IgdGFibGUgKi8KIAlkb3VibGUJCW5ld19yZWxfdHVwbGVz OyAvKiBuZXcgZXN0aW1hdGVkIHRvdGFsICMgb2YgdHVwbGVzICovCkBAIC0yMjQsNiArMjI3 LDIyIEBAIHR5cGVkZWYgc3RydWN0IExWU2F2ZWRFcnJJbmZvCiAJVmFjRXJyUGhhc2UgcGhh c2U7CiB9IExWU2F2ZWRFcnJJbmZvOwogCisvKgorICogQ3V0LW9mZiB2YWx1ZXMgb2YgcGFy YW1ldGVycyB3aGljaCBjaGFuZ2VzIGltcGxpY2l0bHkgZHVyaW5nIGEgdmFjdXVtCisgKiBw cm9jZXNzLgorICogVmFjdXVtIGNhbid0IGNvbnRyb2wgdGhlaXIgdmFsdWVzLCBzbyB3ZSBz aG91bGQgc3RvcmUgdGhlbSBiZWZvcmUgYW5kIGFmdGVyCisgKiB0aGUgcHJvY2Vzc2luZy4K KyAqLwordHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291bnRlcnMKK3sKKwlUaW1lc3RhbXBU eiB0aW1lOworCVBHUlVzYWdlCXJ1OworCVdhbFVzYWdlCXdhbHVzYWdlOworCUJ1ZmZlclVz YWdlIGJ1ZnVzYWdlOworCWRvdWJsZQkJVmFjdXVtRGVsYXlUaW1lOworCVBnU3RhdF9Db3Vu dGVyIGJsb2Nrc19mZXRjaGVkOworCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7Cit9IExW RXh0U3RhdENvdW50ZXJzOwogCiAvKiBub24tZXhwb3J0IGZ1bmN0aW9uIHByb3RvdHlwZXMg Ki8KIHN0YXRpYyB2b2lkIGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUgKnZhY3JlbCk7CkBA IC0yNzcsNiArMjk2LDEwMyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfdmFjdXVtX2Vycm9yX2lu Zm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogc3RhdGljIHZvaWQgcmVzdG9yZV92YWN1dW1fZXJy b3JfaW5mbyhMVlJlbFN0YXRlICp2YWNyZWwsCiAJCQkJCQkJCQkgIGNvbnN0IExWU2F2ZWRF cnJJbmZvICpzYXZlZF92YWNyZWwpOwogCisvKiAtLS0tLS0tLS0tCisgKiBleHR2YWNfc3Rh dHNfc3RhcnQoKSAtCisgKgorICogU2F2ZSBjdXQtb2ZmIHZhbHVlcyBvZiBleHRlbmRlZCB2 YWN1dW0gY291bnRlcnMgYmVmb3JlIHN0YXJ0IG9mIGEgcmVsYXRpb24KKyAqIHByb2Nlc3Np bmcuCisgKiAtLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkCitleHR2YWNfc3RhdHNfc3Rh cnQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVycyAqY291bnRlcnMpCit7CisJVGlt ZXN0YW1wVHoJc3RhcnR0aW1lOworCVBHUlVzYWdlCXJ1MDsKKworCW1lbXNldChjb3VudGVy cywgMCwgc2l6ZW9mKExWRXh0U3RhdENvdW50ZXJzKSk7CisKKwlwZ19ydXNhZ2VfaW5pdCgm cnUwKTsKKwlzdGFydHRpbWUgPSBHZXRDdXJyZW50VGltZXN0YW1wKCk7CisKKwljb3VudGVy cy0+cnUgPSBydTA7CisJY291bnRlcnMtPnRpbWUgPSBzdGFydHRpbWU7CisJY291bnRlcnMt PndhbHVzYWdlID0gcGdXYWxVc2FnZTsKKwljb3VudGVycy0+YnVmdXNhZ2UgPSBwZ0J1ZmZl clVzYWdlOworCWNvdW50ZXJzLT5WYWN1dW1EZWxheVRpbWUgPSBWYWN1dW1EZWxheVRpbWU7 CisJY291bnRlcnMtPmJsb2Nrc19mZXRjaGVkID0gMDsKKwljb3VudGVycy0+YmxvY2tzX2hp dCA9IDA7CisKKwlpZiAoIXJlbC0+cGdzdGF0X2luZm8gfHwgIXBnc3RhdF90cmFja19jb3Vu dHMpCisJCS8qCisJCSAqIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIgZG9l c24ndCB3YW50IHRvIHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0IHN1 cHByZXNzIGl0LgorCQkgKi8KKwkJcmV0dXJuOworCisJY291bnRlcnMtPmJsb2Nrc19mZXRj aGVkID0gcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19mZXRjaGVkOworCWNvdW50 ZXJzLT5ibG9ja3NfaGl0ID0gcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19oaXQ7 Cit9CisKKy8qIC0tLS0tLS0tLS0KKyAqIGV4dHZhY19zdGF0c19lbmQoKSAtCisgKgorICoJ Q2FsbGVkIHRvIGZpbmlzaCBhbiBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljIGdhdGhlcmlu ZyBhbmQgZm9ybSBhIHJlcG9ydC4KKyAqIC0tLS0tLS0tLS0KKyAqLworc3RhdGljIHZvaWQK K2V4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVycyAqY291 bnRlcnMsCisJCQkJICBFeHRWYWNSZXBvcnQgKnJlcG9ydCkKK3sKKwlXYWxVc2FnZQl3YWx1 c2FnZTsKKwlCdWZmZXJVc2FnZQlidWZ1c2FnZTsKKwlUaW1lc3RhbXBUeiBlbmR0aW1lOwor CWxvbmcJCXNlY3M7CisJaW50CQkJdXNlY3M7CisKKwkvKiBDYWxjdWxhdGUgZGlmZnMgb2Yg Z2xvYmFsIHN0YXQgcGFyYW1ldGVycyBvbiBXQUwgYW5kIGJ1ZmZlciB1c2FnZS4gKi8KKwlt ZW1zZXQoJndhbHVzYWdlLCAwLCBzaXplb2YoV2FsVXNhZ2UpKTsKKwlXYWxVc2FnZUFjY3Vt RGlmZigmd2FsdXNhZ2UsICZwZ1dhbFVzYWdlLCAmY291bnRlcnMtPndhbHVzYWdlKTsKKwor CW1lbXNldCgmYnVmdXNhZ2UsIDAsIHNpemVvZihCdWZmZXJVc2FnZSkpOworCUJ1ZmZlclVz YWdlQWNjdW1EaWZmKCZidWZ1c2FnZSwgJnBnQnVmZmVyVXNhZ2UsICZjb3VudGVycy0+YnVm dXNhZ2UpOworCisJZW5kdGltZSA9IEdldEN1cnJlbnRUaW1lc3RhbXAoKTsKKwlUaW1lc3Rh bXBEaWZmZXJlbmNlKGNvdW50ZXJzLT50aW1lLCBlbmR0aW1lLCAmc2VjcywgJnVzZWNzKTsK KworCW1lbXNldChyZXBvcnQsIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKworCS8qCisJ ICogRmlsbCBhZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb24gYSB2YWN1dW0gcHJvY2Vzc2luZyBv cGVyYXRpb24uCisJICovCisJcmVwb3J0LT50b3RhbF9ibGtzX3JlYWQgPSBidWZ1c2FnZS5s b2NhbF9ibGtzX3JlYWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19yZWFkOworCXJlcG9ydC0+ dG90YWxfYmxrc19oaXQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2hpdCArIGJ1ZnVzYWdlLnNo YXJlZF9ibGtzX2hpdDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfZGlydGllZCA9IGJ1ZnVzYWdl LmxvY2FsX2Jsa3NfZGlydGllZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX2RpcnRpZWQ7CisJ cmVwb3J0LT50b3RhbF9ibGtzX3dyaXR0ZW4gPSBidWZ1c2FnZS5zaGFyZWRfYmxrc193cml0 dGVuOworCisJcmVwb3J0LT53YWxfcmVjb3JkcyA9IHdhbHVzYWdlLndhbF9yZWNvcmRzOwor CXJlcG9ydC0+d2FsX2ZwaSA9IHdhbHVzYWdlLndhbF9mcGk7CisJcmVwb3J0LT53YWxfYnl0 ZXMgPSB3YWx1c2FnZS53YWxfYnl0ZXM7CisKKwlyZXBvcnQtPmJsa19yZWFkX3RpbWUgPSBJ TlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfcmVhZF90aW1lKTsK KwlyZXBvcnQtPmJsa19yZWFkX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVm dXNhZ2Uuc2hhcmVkX2Jsa19yZWFkX3RpbWUpOworCXJlcG9ydC0+YmxrX3dyaXRlX3RpbWUg PSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfd3JpdGVfdGlt ZSk7CisJcmVwb3J0LT5ibGtfd3JpdGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VD KGJ1ZnVzYWdlLnNoYXJlZF9ibGtfd3JpdGVfdGltZSk7CisJcmVwb3J0LT5kZWxheV90aW1l ID0gVmFjdXVtRGVsYXlUaW1lIC0gY291bnRlcnMtPlZhY3V1bURlbGF5VGltZTsKKworCXJl cG9ydC0+dG90YWxfdGltZSA9IHNlY3MgKiAxMDAwLiArIHVzZWNzIC8gMTAwMC47CisKKwlp ZiAoIXJlbC0+cGdzdGF0X2luZm8gfHwgIXBnc3RhdF90cmFja19jb3VudHMpCisJCS8qCisJ CSAqIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIGFuIHVzZXIgZG9lc24ndCB3YW50IHRv IHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBqdXN0IHN1cHByZXNzIGl0Lgor CQkgKi8KKwkJcmV0dXJuOworCisJcmVwb3J0LT5ibGtzX2ZldGNoZWQgPQorCQlyZWwtPnBn c3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2ZldGNoZWQgLSBjb3VudGVycy0+YmxvY2tzX2Zl dGNoZWQ7CisJcmVwb3J0LT5ibGtzX2hpdCA9CisJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50 cy5ibG9ja3NfaGl0IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7Cit9CiAKIC8qCiAgKgloZWFw X3ZhY3V1bV9yZWwoKSAtLSBwZXJmb3JtIFZBQ1VVTSBmb3Igb25lIGhlYXAgcmVsYXRpb24K QEAgLTMwOSw2ICs0MjUsOCBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1 dW1QYXJhbXMgKnBhcmFtcywKIAlXYWxVc2FnZQlzdGFydHdhbHVzYWdlID0gcGdXYWxVc2Fn ZTsKIAlCdWZmZXJVc2FnZSBzdGFydGJ1ZmZlcnVzYWdlID0gcGdCdWZmZXJVc2FnZTsKIAlF cnJvckNvbnRleHRDYWxsYmFjayBlcnJjYWxsYmFjazsKKwlMVkV4dFN0YXRDb3VudGVycyBl eHRWYWNDb3VudGVyczsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OwogCWNoYXIJICAq KmluZG5hbWVzID0gTlVMTDsKIAogCXZlcmJvc2UgPSAocGFyYW1zLT5vcHRpb25zICYgVkFD T1BUX1ZFUkJPU0UpICE9IDA7CkBAIC0zMjcsNyArNDQ1LDcgQEAgaGVhcF92YWN1dW1fcmVs KFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAKIAlwZ3N0YXRfcHJvZ3Jl c3Nfc3RhcnRfY29tbWFuZChQUk9HUkVTU19DT01NQU5EX1ZBQ1VVTSwKIAkJCQkJCQkJICBS ZWxhdGlvbkdldFJlbGlkKHJlbCkpOwotCisJZXh0dmFjX3N0YXRzX3N0YXJ0KHJlbCwgJmV4 dFZhY0NvdW50ZXJzKTsKIAkvKgogCSAqIFNldHVwIGVycm9yIHRyYWNlYmFjayBzdXBwb3J0 IGZvciBlcmVwb3J0KCkgZmlyc3QuICBUaGUgaWRlYSBpcyB0byBzZXQKIAkgKiB1cCBhbiBl cnJvciBjb250ZXh0IGNhbGxiYWNrIHRvIGRpc3BsYXkgYWRkaXRpb25hbCBpbmZvcm1hdGlv biBvbiBhbnkKQEAgLTM0NCw2ICs0NjIsNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24g cmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAl2YWNyZWwtPmRibmFtZSA9IGdldF9kYXRh YmFzZV9uYW1lKE15RGF0YWJhc2VJZCk7CiAJdmFjcmVsLT5yZWxuYW1lc3BhY2UgPSBnZXRf bmFtZXNwYWNlX25hbWUoUmVsYXRpb25HZXROYW1lc3BhY2UocmVsKSk7CiAJdmFjcmVsLT5y ZWxuYW1lID0gcHN0cmR1cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKTsKKwl2YWNy ZWwtPnJlbG9pZCA9IFJlbGF0aW9uR2V0UmVsaWQocmVsKTsKIAl2YWNyZWwtPmluZG5hbWUg PSBOVUxMOwogCXZhY3JlbC0+cGhhc2UgPSBWQUNVVU1fRVJSQ0JfUEhBU0VfVU5LTk9XTjsK IAl2YWNyZWwtPnZlcmJvc2UgPSB2ZXJib3NlOwpAQCAtNDExLDYgKzUzMCw4IEBAIGhlYXBf dmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCXZhY3Jl bC0+bHBkZWFkX2l0ZW1fcGFnZXMgPSAwOwogCXZhY3JlbC0+bWlzc2VkX2RlYWRfcGFnZXMg PSAwOwogCXZhY3JlbC0+bm9uZW1wdHlfcGFnZXMgPSAwOworCXZhY3JlbC0+c2V0X2Zyb3pl bl9wYWdlcyA9IDA7CisJdmFjcmVsLT5zZXRfYWxsX3Zpc2libGVfcGFnZXMgPSAwOwogCS8q IGRlYWRfaXRlbXNfYWxsb2MgYWxsb2NhdGVzIHZhY3JlbC0+ZGVhZF9pdGVtcyBsYXRlciBv biAqLwogCiAJLyogQWxsb2NhdGUvaW5pdGlhbGl6ZSBvdXRwdXQgc3RhdGlzdGljcyBzdGF0 ZSAqLwpAQCAtNTcyLDYgKzY5MywxOSBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVs LCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAkJCQkJCXZhY3JlbC0+TmV3UmVsZnJvemVuWGlk LCB2YWNyZWwtPk5ld1JlbG1pbk14aWQsCiAJCQkJCQkmZnJvemVueGlkX3VwZGF0ZWQsICZt aW5tdWx0aV91cGRhdGVkLCBmYWxzZSk7CiAKKwkvKiBNYWtlIGdlbmVyaWMgZXh0ZW5kZWQg dmFjdXVtIHN0YXRzIHJlcG9ydCAqLworCWV4dHZhY19zdGF0c19lbmQocmVsLCAmZXh0VmFj Q291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCisJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4 dGVuZGVkIHN0YXRzIGZpZWxkcyAqLworCWV4dFZhY1JlcG9ydC5wYWdlc19zY2FubmVkID0g dmFjcmVsLT5zY2FubmVkX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5wYWdlc19yZW1vdmVkID0g dmFjcmVsLT5yZW1vdmVkX3BhZ2VzOworCWV4dFZhY1JlcG9ydC5wYWdlc19mcm96ZW4gPSB2 YWNyZWwtPnNldF9mcm96ZW5fcGFnZXM7CisJZXh0VmFjUmVwb3J0LnBhZ2VzX2FsbF92aXNp YmxlID0gdmFjcmVsLT5zZXRfYWxsX3Zpc2libGVfcGFnZXM7CisJZXh0VmFjUmVwb3J0LnR1 cGxlc19kZWxldGVkID0gdmFjcmVsLT50dXBsZXNfZGVsZXRlZDsKKwlleHRWYWNSZXBvcnQu dHVwbGVzX2Zyb3plbiA9IHZhY3JlbC0+dHVwbGVzX2Zyb3plbjsKKwlleHRWYWNSZXBvcnQu ZGVhZF90dXBsZXMgPSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzICsgdmFjcmVsLT5t aXNzZWRfZGVhZF90dXBsZXM7CisJZXh0VmFjUmVwb3J0LmluZGV4X3ZhY3V1bV9jb3VudCA9 IHZhY3JlbC0+bnVtX2luZGV4X3NjYW5zOworCiAJLyoKIAkgKiBSZXBvcnQgcmVzdWx0cyB0 byB0aGUgY3VtdWxhdGl2ZSBzdGF0cyBzeXN0ZW0sIHRvby4KIAkgKgpAQCAtNTg2LDcgKzcy MCw4IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFy YW1zLAogCQkJCQkJIHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKIAkJCQkJCSBNYXgodmFj cmVsLT5uZXdfbGl2ZV90dXBsZXMsIDApLAogCQkJCQkJIHZhY3JlbC0+cmVjZW50bHlfZGVh ZF90dXBsZXMgKwotCQkJCQkJIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzKTsKKwkJCQkJ CSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlcywKKwkJCQkJCSAmZXh0VmFjUmVwb3J0KTsK IAlwZ3N0YXRfcHJvZ3Jlc3NfZW5kX2NvbW1hbmQoKTsKIAogCWlmIChpbnN0cnVtZW50KQpA QCAtMTM3OCw2ICsxNTEzLDggQEAgbGF6eV9zY2FuX25ld19vcl9lbXB0eShMVlJlbFN0YXRl ICp2YWNyZWwsIEJ1ZmZlciBidWYsIEJsb2NrTnVtYmVyIGJsa25vLAogCQkJCQkJCSAgdm1i dWZmZXIsIEludmFsaWRUcmFuc2FjdGlvbklkLAogCQkJCQkJCSAgVklTSUJJTElUWU1BUF9B TExfVklTSUJMRSB8IFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTik7CiAJCQlFTkRfQ1JJVF9T RUNUSU9OKCk7CisJCQl2YWNyZWwtPnNldF9hbGxfdmlzaWJsZV9wYWdlcysrOworCQkJdmFj cmVsLT5zZXRfZnJvemVuX3BhZ2VzKys7CiAJCX0KIAogCQlmcmVlc3BhY2UgPSBQYWdlR2V0 SGVhcEZyZWVTcGFjZShwYWdlKTsKQEAgLTIyNzUsMTEgKzI0MTIsMTMgQEAgbGF6eV92YWN1 dW1faGVhcF9wYWdlKExWUmVsU3RhdGUgKnZhY3JlbCwgQmxvY2tOdW1iZXIgYmxrbm8sIEJ1 ZmZlciBidWZmZXIsCiAJCQkJCQkJCSAmYWxsX2Zyb3plbikpCiAJewogCQl1aW50OAkJZmxh Z3MgPSBWSVNJQklMSVRZTUFQX0FMTF9WSVNJQkxFOworCQl2YWNyZWwtPnNldF9hbGxfdmlz aWJsZV9wYWdlcysrOwogCiAJCWlmIChhbGxfZnJvemVuKQogCQl7CiAJCQlBc3NlcnQoIVRy YW5zYWN0aW9uSWRJc1ZhbGlkKHZpc2liaWxpdHlfY3V0b2ZmX3hpZCkpOwogCQkJZmxhZ3Mg fD0gVklTSUJJTElUWU1BUF9BTExfRlJPWkVOOworCQkJdmFjcmVsLT5zZXRfZnJvemVuX3Bh Z2VzKys7CiAJCX0KIAogCQlQYWdlU2V0QWxsVmlzaWJsZShwYWdlKTsKQEAgLTMxMjAsNiAr MzI1OSw4IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJc3dpdGNoIChl cnJpbmZvLT5waGFzZSkKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1NDQU5fSEVB UDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRf dmFjdXVtX2Vycm9yKGVycmluZm8tPnJlbG9pZCk7CiAJCQlpZiAoQmxvY2tOdW1iZXJJc1Zh bGlkKGVycmluZm8tPmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxp ZChlcnJpbmZvLT5vZmZudW0pKQpAQCAtMzEzNSw2ICszMjc2LDggQEAgdmFjdXVtX2Vycm9y X2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNC X1BIQVNFX1ZBQ1VVTV9IRUFQOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJ CQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkKTsKIAkJCWlm IChCbG9ja051bWJlcklzVmFsaWQoZXJyaW5mby0+Ymxrbm8pKQogCQkJewogCQkJCWlmIChP ZmZzZXROdW1iZXJJc1ZhbGlkKGVycmluZm8tPm9mZm51bSkpCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMgYi9zcmMvYmFja2VuZC9hY2Nl c3MvaGVhcC92aXNpYmlsaXR5bWFwLmMKaW5kZXggOGIyNGU3YmMzM2MuLmQ3MmNhZGU2MGE0 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFwLmMK KysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmlzaWJpbGl0eW1hcC5jCkBAIC05MSw2 ICs5MSw3IEBACiAjaW5jbHVkZSAiYWNjZXNzL3hsb2dpbnNlcnQuaCIKICNpbmNsdWRlICJh Y2Nlc3MveGxvZ3V0aWxzLmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVkZSAi cGdzdGF0LmgiCiAjaW5jbHVkZSAicG9ydC9wZ19iaXR1dGlscy5oIgogI2luY2x1ZGUgInN0 b3JhZ2UvYnVmbWdyLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9zbWdyLmgiCkBAIC0xNjAsNiAr MTYxLDE4IEBAIHZpc2liaWxpdHltYXBfY2xlYXIoUmVsYXRpb24gcmVsLCBCbG9ja051bWJl ciBoZWFwQmxrLCBCdWZmZXIgdm1idWYsIHVpbnQ4IGZsYWdzCiAKIAlpZiAobWFwW21hcEJ5 dGVdICYgbWFzaykKIAl7CisJCS8qCisJCSAqIEluaXRpYWxseSwgaXQgZGlkbid0IG1hdHRl ciB3aGF0IHR5cGUgb2YgZmxhZ3MgKGFsbC12aXNpYmxlIG9yIGZyb3plbikgd2UgcmVjZWl2 ZWQsCisJCSAqIHdlIGp1c3QgcGVyZm9ybWVkIGEgcmV2ZXJzZSBjb25jYXRlbmF0aW9uIG9w ZXJhdGlvbi4gQnV0IHRoaXMgaW5mb3JtYXRpb24gaXMgdmVyeSBpbXBvcnRhbnQKKwkJICog Zm9yIHZhY3V1bSBzdGF0aXN0aWNzLiBXZSBuZWVkIHRvIGZpbmQgb3V0IHRoaXMgdXNpbmd0 aGUgYml0IGNvbmNhdGVuYXRpb24gb3BlcmF0aW9uCisJCSAqIHdpdGggdGhlIFZJU0lCSUxJ VFlNQVBfQUxMX1ZJU0lCTEUgYW5kIFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTiBtYXNrcywK KwkJICogYW5kIHdoZXJlIHRoZSBkZXNpcmVkIG9uZSBtYXRjaGVzLCB3ZSBpbmNyZW1lbnQg dGhlIHZhbHVlIHRoZXJlLgorCQkqLworCQlpZiAobWFwW21hcEJ5dGVdID4+IG1hcE9mZnNl dCAmIGZsYWdzICYgVklTSUJJTElUWU1BUF9BTExfVklTSUJMRSkKKwkJCXBnc3RhdF9jb3Vu dF92bV9yZXZfYWxsX3Zpc2libGUocmVsKTsKKwkJaWYgKG1hcFttYXBCeXRlXSA+PiBtYXBP ZmZzZXQgJiBmbGFncyAmIFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTikKKwkJCXBnc3RhdF9j b3VudF92bV9yZXZfYWxsX2Zyb3plbihyZWwpOworCiAJCW1hcFttYXBCeXRlXSAmPSB+bWFz azsKIAogCQlNYXJrQnVmZmVyRGlydHkodm1idWYpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsCmluZGV4IDM0NTZiODIxYmM1Li4yOTJjNjYyOWEyMCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtNjkxLDcgKzY5MSw5IEBAIENSRUFU RSBWSUVXIHBnX3N0YXRfYWxsX3RhYmxlcyBBUwogICAgICAgICAgICAgcGdfc3RhdF9nZXRf dmFjdXVtX2NvdW50KEMub2lkKSBBUyB2YWN1dW1fY291bnQsCiAgICAgICAgICAgICBwZ19z dGF0X2dldF9hdXRvdmFjdXVtX2NvdW50KEMub2lkKSBBUyBhdXRvdmFjdXVtX2NvdW50LAog ICAgICAgICAgICAgcGdfc3RhdF9nZXRfYW5hbHl6ZV9jb3VudChDLm9pZCkgQVMgYW5hbHl6 ZV9jb3VudCwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2F1dG9hbmFseXplX2NvdW50KEMu b2lkKSBBUyBhdXRvYW5hbHl6ZV9jb3VudAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfYXV0 b2FuYWx5emVfY291bnQoQy5vaWQpIEFTIGF1dG9hbmFseXplX2NvdW50LAorICAgICAgICAg ICAgcGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMoQy5vaWQpIEFTIHJldl9hbGxf ZnJvemVuX3BhZ2VzLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxl X3BhZ2VzKEMub2lkKSBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgICBGUk9NIHBnX2Ns YXNzIEMgTEVGVCBKT0lOCiAgICAgICAgICBwZ19pbmRleCBJIE9OIEMub2lkID0gSS5pbmRy ZWxpZAogICAgICAgICAgTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBOIE9OIChOLm9pZCA9IEMu cmVsbmFtZXNwYWNlKQpAQCAtMTM3OSwzICsxMzgxLDQ3IEBAIENSRUFURSBWSUVXIHBnX3N0 YXRfc3Vic2NyaXB0aW9uX3N0YXRzIEFTCiAKIENSRUFURSBWSUVXIHBnX3dhaXRfZXZlbnRz IEFTCiAgICAgU0VMRUNUICogRlJPTSBwZ19nZXRfd2FpdF9ldmVudHMoKTsKKy0tCistLSBT aG93IGV4dGVuZGVkIGN1bXVsYXRpdmUgc3RhdGlzdGljcyBvbiBhIHZhY3V1bSBvcGVyYXRp b24gb3ZlciBhbGwgdGFibGVzIGFuZAorLS0gZGF0YWJhc2VzIG9mIHRoZSBpbnN0YW5jZS4K Ky0tIFVzZSBJbnZhbGlkIE9pZCAiMCIgYXMgYW4gaW5wdXQgcmVsYXRpb24gaWQgdG8gZ2V0 IHN0YXQgb24gZWFjaCB0YWJsZSBpbiBhCistLSBkYXRhYmFzZS4KKy0tCisKK0NSRUFURSBW SUVXIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgQVMKK1NFTEVDVAorICBucy5uc3BuYW1l IEFTICJzY2hlbWEiLAorICByZWwucmVsbmFtZSBBUyByZWxuYW1lLAorICBzdGF0cy5yZWxp ZCBhcyByZWxpZCwKKworICBzdGF0cy50b3RhbF9ibGtzX3JlYWQgQVMgdG90YWxfYmxrc19y ZWFkLAorICBzdGF0cy50b3RhbF9ibGtzX2hpdCBBUyB0b3RhbF9ibGtzX2hpdCwKKyAgc3Rh dHMudG90YWxfYmxrc19kaXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgc3RhdHMu dG90YWxfYmxrc193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKworICBzdGF0cy5y ZWxfYmxrc19yZWFkIEFTIHJlbF9ibGtzX3JlYWQsCisgIHN0YXRzLnJlbF9ibGtzX2hpdCBB UyByZWxfYmxrc19oaXQsCisKKyAgc3RhdHMucGFnZXNfc2Nhbm5lZCBBUyBwYWdlc19zY2Fu bmVkLAorICBzdGF0cy5wYWdlc19yZW1vdmVkIEFTIHBhZ2VzX3JlbW92ZWQsCisgIHN0YXRz LnBhZ2VzX2Zyb3plbiBBUyBwYWdlc19mcm96ZW4sCisgIHN0YXRzLnBhZ2VzX2FsbF92aXNp YmxlIEFTIHBhZ2VzX2FsbF92aXNpYmxlLAorICBzdGF0cy50dXBsZXNfZGVsZXRlZCBBUyB0 dXBsZXNfZGVsZXRlZCwKKyAgc3RhdHMudHVwbGVzX2Zyb3plbiBBUyB0dXBsZXNfZnJvemVu LAorICBzdGF0cy5kZWFkX3R1cGxlcyBBUyBkZWFkX3R1cGxlcywKKworICBzdGF0cy5pbmRl eF92YWN1dW1fY291bnQgQVMgaW5kZXhfdmFjdXVtX2NvdW50LAorICBzdGF0cy53YWxfcmVj b3JkcyBBUyB3YWxfcmVjb3JkcywKKyAgc3RhdHMud2FsX2ZwaSBBUyB3YWxfZnBpLAorICBz dGF0cy53YWxfYnl0ZXMgQVMgd2FsX2J5dGVzLAorCisgIHN0YXRzLmJsa19yZWFkX3RpbWUg QVMgYmxrX3JlYWRfdGltZSwKKyAgc3RhdHMuYmxrX3dyaXRlX3RpbWUgQVMgYmxrX3dyaXRl X3RpbWUsCisKKyAgc3RhdHMuZGVsYXlfdGltZSBBUyBkZWxheV90aW1lLAorICBzdGF0cy50 b3RhbF90aW1lIEFTIHRvdGFsX3RpbWUKKworRlJPTSBwZ19jbGFzcyByZWwKKyAgSk9JTiBw Z19uYW1lc3BhY2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSwKKyAgTEFURVJB TCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0YXRzCitXSEVSRSByZWwu cmVsa2luZCA9ICdyJzsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1 bS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMKaW5kZXggODZmMzZiMzY5NTQu LjFjZmY0NDZmYjkyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0u YworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYwpAQCAtMTAyLDYgKzEwMiw5 IEBAIHBnX2F0b21pY191aW50MzIgKlZhY3V1bVNoYXJlZENvc3RCYWxhbmNlID0gTlVMTDsK IHBnX2F0b21pY191aW50MzIgKlZhY3V1bUFjdGl2ZU5Xb3JrZXJzID0gTlVMTDsKIGludAkJ CVZhY3V1bUNvc3RCYWxhbmNlTG9jYWwgPSAwOwogCisvKiBDdW11bGF0aXZlIHN0b3JhZ2Ug dG8gcmVwb3J0IHRvdGFsIHZhY3V1bSBkZWxheSB0aW1lLiAqLworZG91YmxlIFZhY3V1bURl bGF5VGltZSA9IDA7IC8qIG1zZWMuICovCisKIC8qIG5vbi1leHBvcnQgZnVuY3Rpb24gcHJv dG90eXBlcyAqLwogc3RhdGljIExpc3QgKmV4cGFuZF92YWN1dW1fcmVsKFZhY3V1bVJlbGF0 aW9uICp2cmVsLAogCQkJCQkJCSAgIE1lbW9yeUNvbnRleHQgdmFjX2NvbnRleHQsIGludCBv cHRpb25zKTsKQEAgLTI0MTgsNiArMjQyMSw3IEBAIHZhY3V1bV9kZWxheV9wb2ludCh2b2lk KQogCQkJZXhpdCgxKTsKIAogCQlWYWN1dW1Db3N0QmFsYW5jZSA9IDA7CisJCVZhY3V1bURl bGF5VGltZSArPSBtc2VjOwogCiAJCS8qCiAJCSAqIEJhbGFuY2UgYW5kIHVwZGF0ZSBsaW1p dCB2YWx1ZXMgZm9yIGF1dG92YWN1dW0gd29ya2Vycy4gV2UgbXVzdCBkbwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggNGZkNjU3NGUxMjkuLjdmN2M3YzE2 ZTIzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5j CisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKQEAgLTEwNDgs NiArMTA0OCw3IEBAIHBhcmFsbGVsX3ZhY3V1bV9tYWluKGRzbV9zZWdtZW50ICpzZWcsIHNo bV90b2MgKnRvYykKIAkvKiBTZXQgY29zdC1iYXNlZCB2YWN1dW0gZGVsYXkgKi8KIAlWYWN1 dW1VcGRhdGVDb3N0cygpOwogCVZhY3V1bUNvc3RCYWxhbmNlID0gMDsKKwlWYWN1dW1EZWxh eVRpbWUgPSAwOwogCVZhY3V1bUNvc3RCYWxhbmNlTG9jYWwgPSAwOwogCVZhY3V1bVNoYXJl ZENvc3RCYWxhbmNlID0gJihzaGFyZWQtPmNvc3RfYmFsYW5jZSk7CiAJVmFjdXVtQWN0aXZl TldvcmtlcnMgPSAmKHNoYXJlZC0+YWN0aXZlX253b3JrZXJzKTsKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0LmMKaW5kZXggYmU0ODQzMmNjMzguLjgzZGFkZTlhNWMxIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYworKysgYi9zcmMv YmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwpAQCAtMTg5LDcgKzE4OSw3IEBAIHN0 YXRpYyB2b2lkIHBnc3RhdF9yZXNldF9hZnRlcl9mYWlsdXJlKHZvaWQpOwogc3RhdGljIGJv b2wgcGdzdGF0X2ZsdXNoX3BlbmRpbmdfZW50cmllcyhib29sIG5vd2FpdCk7CiAKIHN0YXRp YyB2b2lkIHBnc3RhdF9wcmVwX3NuYXBzaG90KHZvaWQpOwotc3RhdGljIHZvaWQgcGdzdGF0 X2J1aWxkX3NuYXBzaG90KHZvaWQpOworc3RhdGljIHZvaWQgcGdzdGF0X2J1aWxkX3NuYXBz aG90KFBnU3RhdF9LaW5kIHN0YXRLaW5kKTsKIHN0YXRpYyB2b2lkIHBnc3RhdF9idWlsZF9z bmFwc2hvdF9maXhlZChQZ1N0YXRfS2luZCBraW5kKTsKIAogc3RhdGljIGlubGluZSBib29s IHBnc3RhdF9pc19raW5kX3ZhbGlkKFBnU3RhdF9LaW5kIGtpbmQpOwpAQCAtMjU5LDcgKzI1 OSw2IEBAIHN0YXRpYyBib29sIHBnc3RhdF9pc19pbml0aWFsaXplZCA9IGZhbHNlOwogc3Rh dGljIGJvb2wgcGdzdGF0X2lzX3NodXRkb3duID0gZmFsc2U7CiAjZW5kaWYKIAotCiAvKgog ICogVGhlIGRpZmZlcmVudCBraW5kcyBvZiBidWlsdC1pbiBzdGF0aXN0aWNzLgogICoKQEAg LTg3OCw3ICs4NzcsNiBAQCBwZ3N0YXRfcmVzZXRfb2Zfa2luZChQZ1N0YXRfS2luZCBraW5k KQogCQlwZ3N0YXRfcmVzZXRfZW50cmllc19vZl9raW5kKGtpbmQsIHRzKTsKIH0KIAotCiAv KiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KICAqIEZldGNoaW5nIG9mIHN0YXRzCiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTk0NCw3ICs5 NDIsNyBAQCBwZ3N0YXRfZmV0Y2hfZW50cnkoUGdTdGF0X0tpbmQga2luZCwgT2lkIGRib2lk LCB1aW50NjQgb2JqaWQpCiAKIAkvKiBpZiB3ZSBuZWVkIHRvIGJ1aWxkIGEgZnVsbCBzbmFw c2hvdCwgZG8gc28gKi8KIAlpZiAocGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5ID09IFBHU1RB VF9GRVRDSF9DT05TSVNURU5DWV9TTkFQU0hPVCkKLQkJcGdzdGF0X2J1aWxkX3NuYXBzaG90 KCk7CisJCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lORF9JTlZBTElEKTsKIAog CS8qIGlmIGNhY2hpbmcgaXMgZGVzaXJlZCwgbG9vayB1cCBpbiBjYWNoZSAqLwogCWlmIChw Z3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPiBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfTk9O RSkKQEAgLTEwNjAsNyArMTA1OCw3IEBAIHBnc3RhdF9zbmFwc2hvdF9maXhlZChQZ1N0YXRf S2luZCBraW5kKQogCQlwZ3N0YXRfY2xlYXJfc25hcHNob3QoKTsKIAogCWlmIChwZ3N0YXRf ZmV0Y2hfY29uc2lzdGVuY3kgPT0gUEdTVEFUX0ZFVENIX0NPTlNJU1RFTkNZX1NOQVBTSE9U KQotCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoKTsKKwkJcGdzdGF0X2J1aWxkX3NuYXBzaG90 KFBHU1RBVF9LSU5EX0lOVkFMSUQpOwogCWVsc2UKIAkJcGdzdGF0X2J1aWxkX3NuYXBzaG90 X2ZpeGVkKGtpbmQpOwogCkBAIC0xMTEwLDggKzExMDgsMzAgQEAgcGdzdGF0X3ByZXBfc25h cHNob3Qodm9pZCkKIAkJCQkJCQkgICBOVUxMKTsKIH0KIAorCisvKgorICogVHJpdmlhbCBl eHRlcm5hbCBpbnRlcmZhY2UgdG8gYnVpbGQgYSBzbmFwc2hvdCBmb3IgdGFibGUgc3RhdGlz dGljcyBvbmx5LgorICovCit2b2lkCitwZ3N0YXRfdXBkYXRlX3NuYXBzaG90KFBnU3RhdF9L aW5kIGtpbmQpCit7CisJaW50IHNhdmVfY29uc2lzdGVuY3lfZ3VjID0gcGdzdGF0X2ZldGNo X2NvbnNpc3RlbmN5OworCXBnc3RhdF9jbGVhcl9zbmFwc2hvdCgpOworCisJUEdfVFJZKCk7 CisJeworCQlwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPSBQR1NUQVRfRkVUQ0hfQ09OU0lT VEVOQ1lfU05BUFNIT1Q7CisJCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lORF9S RUxBVElPTik7CisJfQorCVBHX0ZJTkFMTFkoKTsKKwl7CisJCXBnc3RhdF9mZXRjaF9jb25z aXN0ZW5jeSA9IHNhdmVfY29uc2lzdGVuY3lfZ3VjOworCX0KKwlQR19FTkRfVFJZKCk7Cit9 CisKIHN0YXRpYyB2b2lkCi1wZ3N0YXRfYnVpbGRfc25hcHNob3Qodm9pZCkKK3Bnc3RhdF9i dWlsZF9zbmFwc2hvdChQZ1N0YXRfS2luZCBzdGF0S2luZCkKIHsKIAlkc2hhc2hfc2VxX3N0 YXR1cyBoc3RhdDsKIAlQZ1N0YXRTaGFyZWRfSGFzaEVudHJ5ICpwOwpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCAzNmQzYWRmNzMx MC4uOTU4NjU1MTY1NmEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdF9yZWxhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdF9yZWxhdGlvbi5jCkBAIC00Nyw2ICs0Nyw4IEBAIHN0YXRpYyB2b2lkIGFkZF90YWJz dGF0X3hhY3RfbGV2ZWwoUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbywgaW50IG5l c3RfbGV2CiBzdGF0aWMgdm9pZCBlbnN1cmVfdGFic3RhdF94YWN0X2xldmVsKFBnU3RhdF9U YWJsZVN0YXR1cyAqcGdzdGF0X2luZm8pOwogc3RhdGljIHZvaWQgc2F2ZV90cnVuY2Ryb3Bf Y291bnRlcnMoUGdTdGF0X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnMsIGJvb2wgaXNfZHJvcCk7 CiBzdGF0aWMgdm9pZCByZXN0b3JlX3RydW5jZHJvcF9jb3VudGVycyhQZ1N0YXRfVGFibGVY YWN0U3RhdHVzICp0cmFucyk7CitzdGF0aWMgdm9pZCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2 YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAorCQkJCQkJ CSAgIGJvb2wgYWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pOwogCiAKIC8qCkBA IC0yMDMsMTIgKzIwNSw0MCBAQCBwZ3N0YXRfZHJvcF9yZWxhdGlvbihSZWxhdGlvbiByZWwp CiAJfQogfQogCisvKiAtLS0tLS0tLS0KKyAqIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9y KCkgLQorICoKKyAqCVRlbGwgdGhlIGNvbGxlY3RvciBhYm91dCBhbiAoYXV0byl2YWN1dW0g aW50ZXJydXB0aW9uLgorICogLS0tLS0tLS0tCisgKi8KK3ZvaWQKK3Bnc3RhdF9yZXBvcnRf dmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9pZCkKK3sKKwlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5 X3JlZjsKKwlQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKnNodGFiZW50cnk7CisJUGdTdGF0X1N0 YXRUYWJFbnRyeSAqdGFiZW50cnk7CisJT2lkCQkJZGJvaWQgPSAgTXlEYXRhYmFzZUlkOwor CisJaWYgKCFwZ3N0YXRfdHJhY2tfY291bnRzKQorCQlyZXR1cm47CisKKwllbnRyeV9yZWYg PSBwZ3N0YXRfZ2V0X2VudHJ5X3JlZl9sb2NrZWQoUEdTVEFUX0tJTkRfUkVMQVRJT04sCisJ CQkJCQkJCQkJCWRib2lkLCB0YWJsZW9pZCwgZmFsc2UpOworCisJc2h0YWJlbnRyeSA9IChQ Z1N0YXRTaGFyZWRfUmVsYXRpb24gKikgZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisJdGFi ZW50cnkgPSAmc2h0YWJlbnRyeS0+c3RhdHM7CisKKwl0YWJlbnRyeS0+dmFjdXVtX2V4dC5p bnRlcnJ1cHRzKys7CisJcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOworfQorCiAv KgogICogUmVwb3J0IHRoYXQgdGhlIHRhYmxlIHdhcyBqdXN0IHZhY3V1bWVkIGFuZCBmbHVz aCBJTyBzdGF0aXN0aWNzLgogICovCiB2b2lkCiBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQg dGFibGVvaWQsIGJvb2wgc2hhcmVkLAotCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxl cywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcykKKwkJCQkJIFBnU3RhdF9Db3VudGVyIGxp dmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCisJCQkJCSBFeHRWYWNSZXBv cnQgKnBhcmFtcykKIHsKIAlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKIAlQZ1N0YXRT aGFyZWRfUmVsYXRpb24gKnNodGFiZW50cnk7CkBAIC0yMzIsNiArMjYyLDggQEAgcGdzdGF0 X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAl0YWJlbnRyeS0+ bGl2ZV90dXBsZXMgPSBsaXZldHVwbGVzOwogCXRhYmVudHJ5LT5kZWFkX3R1cGxlcyA9IGRl YWR0dXBsZXM7CiAKKwlwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoJnRhYmVudHJ5 LT52YWN1dW1fZXh0LCBwYXJhbXMsIHRydWUpOworCiAJLyoKIAkgKiBJdCBpcyBxdWl0ZSBw b3NzaWJsZSB0aGF0IGEgbm9uLWFnZ3Jlc3NpdmUgVkFDVVVNIGVuZGVkIHVwIHNraXBwaW5n CiAJICogdmFyaW91cyBwYWdlcywgaG93ZXZlciwgd2UnbGwgemVybyB0aGUgaW5zZXJ0IGNv dW50ZXIgaGVyZSByZWdhcmRsZXNzLgpAQCAtODYwLDYgKzg5Miw5IEBAIHBnc3RhdF9yZWxh dGlvbl9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQp CiAJdGFiZW50cnktPmJsb2Nrc19mZXRjaGVkICs9IGxzdGF0cy0+Y291bnRzLmJsb2Nrc19m ZXRjaGVkOwogCXRhYmVudHJ5LT5ibG9ja3NfaGl0ICs9IGxzdGF0cy0+Y291bnRzLmJsb2Nr c19oaXQ7CiAKKwl0YWJlbnRyeS0+cmV2X2FsbF9mcm96ZW5fcGFnZXMgKz0gbHN0YXRzLT5j b3VudHMucmV2X2FsbF9mcm96ZW5fcGFnZXM7CisJdGFiZW50cnktPnJldl9hbGxfdmlzaWJs ZV9wYWdlcyArPSBsc3RhdHMtPmNvdW50cy5yZXZfYWxsX3Zpc2libGVfcGFnZXM7CisKIAkv KiBDbGFtcCBsaXZlX3R1cGxlcyBpbiBjYXNlIG9mIG5lZ2F0aXZlIGRlbHRhX2xpdmVfdHVw bGVzICovCiAJdGFiZW50cnktPmxpdmVfdHVwbGVzID0gTWF4KHRhYmVudHJ5LT5saXZlX3R1 cGxlcywgMCk7CiAJLyogTGlrZXdpc2UgZm9yIGRlYWRfdHVwbGVzICovCkBAIC05ODMsMyAr MTAxOCwzNiBAQCByZXN0b3JlX3RydW5jZHJvcF9jb3VudGVycyhQZ1N0YXRfVGFibGVYYWN0 U3RhdHVzICp0cmFucykKIAkJdHJhbnMtPnR1cGxlc19kZWxldGVkID0gdHJhbnMtPmRlbGV0 ZWRfcHJlX3RydW5jZHJvcDsKIAl9CiB9CisKK3N0YXRpYyB2b2lkCitwZ3N0YXRfYWNjdW11 bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3Jj LAorCQkJCQkJCSAgIGJvb2wgYWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pCit7 CisJZHN0LT50b3RhbF9ibGtzX3JlYWQgKz0gc3JjLT50b3RhbF9ibGtzX3JlYWQ7CisJZHN0 LT50b3RhbF9ibGtzX2hpdCArPSBzcmMtPnRvdGFsX2Jsa3NfaGl0OworCWRzdC0+dG90YWxf Ymxrc19kaXJ0aWVkICs9IHNyYy0+dG90YWxfYmxrc19kaXJ0aWVkOworCWRzdC0+dG90YWxf Ymxrc193cml0dGVuICs9IHNyYy0+dG90YWxfYmxrc193cml0dGVuOworCWRzdC0+d2FsX2J5 dGVzICs9IHNyYy0+d2FsX2J5dGVzOworCWRzdC0+d2FsX2ZwaSArPSBzcmMtPndhbF9mcGk7 CisJZHN0LT53YWxfcmVjb3JkcyArPSBzcmMtPndhbF9yZWNvcmRzOworCWRzdC0+YmxrX3Jl YWRfdGltZSArPSBzcmMtPmJsa19yZWFkX3RpbWU7CisJZHN0LT5ibGtfd3JpdGVfdGltZSAr PSBzcmMtPmJsa193cml0ZV90aW1lOworCWRzdC0+ZGVsYXlfdGltZSArPSBzcmMtPmRlbGF5 X3RpbWU7CisJZHN0LT50b3RhbF90aW1lICs9IHNyYy0+dG90YWxfdGltZTsKKwlkc3QtPmlu dGVycnVwdHMgKz0gc3JjLT5pbnRlcnJ1cHRzOworCisJaWYgKCFhY2N1bXVsYXRlX3JlbHR5 cGVfc3BlY2lmaWNfaW5mbykKKwkJcmV0dXJuOworCisJZHN0LT5ibGtzX2ZldGNoZWQgKz0g c3JjLT5ibGtzX2ZldGNoZWQ7CisJZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3NfaGl0Owor CisJZHN0LT5wYWdlc19zY2FubmVkICs9IHNyYy0+cGFnZXNfc2Nhbm5lZDsKKwlkc3QtPnBh Z2VzX3JlbW92ZWQgKz0gc3JjLT5wYWdlc19yZW1vdmVkOworCWRzdC0+cGFnZXNfZnJvemVu ICs9IHNyYy0+cGFnZXNfZnJvemVuOworCWRzdC0+cGFnZXNfYWxsX3Zpc2libGUgKz0gc3Jj LT5wYWdlc19hbGxfdmlzaWJsZTsKKwlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVw bGVzX2RlbGV0ZWQ7CisJZHN0LT50dXBsZXNfZnJvemVuICs9IHNyYy0+dHVwbGVzX2Zyb3pl bjsKKwlkc3QtPmRlYWRfdHVwbGVzICs9IHNyYy0+ZGVhZF90dXBsZXM7CisJZHN0LT5pbmRl eF92YWN1dW1fY291bnQgKz0gc3JjLT5pbmRleF92YWN1dW1fY291bnQ7Cit9ClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpp bmRleCBmN2I1MGUwYjVhZi4uZDJmMzYwODE1MzIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9w Z3N0YXRmdW5jcy5jCkBAIC0zMSw2ICszMSw0MiBAQAogI2luY2x1ZGUgInV0aWxzL2FjbC5o IgogI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCiAjaW5jbHVkZSAidXRpbHMvdGltZXN0 YW1wLmgiCisjaW5jbHVkZSAidXRpbHMvcGdzdGF0X2ludGVybmFsLmgiCisKKy8qIGhhc2gg dGFibGUgZm9yIHN0YXRpc3RpY3Mgc25hcHNob3RzIGVudHJ5ICovCit0eXBlZGVmIHN0cnVj dCBQZ1N0YXRfU25hcHNob3RFbnRyeQoreworCVBnU3RhdF9IYXNoS2V5IGtleTsKKwljaGFy CQlzdGF0dXM7CQkJLyogZm9yIHNpbXBsZWhhc2ggdXNlICovCisJdm9pZAkgICAqZGF0YTsJ CQkvKiB0aGUgc3RhdHMgZGF0YSBpdHNlbGYgKi8KK30gUGdTdGF0X1NuYXBzaG90RW50cnk7 CisKKy8qIC0tLS0tLS0tLS0KKyAqIEJhY2tlbmQtbG9jYWwgSGFzaCBUYWJsZSBEZWZpbml0 aW9ucworICogLS0tLS0tLS0tLQorICovCisKKy8qIGZvciBzdGF0cyBzbmFwc2hvdCBlbnRy aWVzICovCisjZGVmaW5lIFNIX1BSRUZJWCBwZ3N0YXRfc25hcHNob3QKKyNkZWZpbmUgU0hf RUxFTUVOVF9UWVBFIFBnU3RhdF9TbmFwc2hvdEVudHJ5CisjZGVmaW5lIFNIX0tFWV9UWVBF IFBnU3RhdF9IYXNoS2V5CisjZGVmaW5lIFNIX0tFWSBrZXkKKyNkZWZpbmUgU0hfSEFTSF9L RVkodGIsIGtleSkgXAorCXBnc3RhdF9oYXNoX2hhc2hfa2V5KCZrZXksIHNpemVvZihQZ1N0 YXRfSGFzaEtleSksIE5VTEwpCisjZGVmaW5lIFNIX0VRVUFMKHRiLCBhLCBiKSBcCisJcGdz dGF0X2NtcF9oYXNoX2tleSgmYSwgJmIsIHNpemVvZihQZ1N0YXRfSGFzaEtleSksIE5VTEwp ID09IDAKKyNkZWZpbmUgU0hfU0NPUEUgc3RhdGljIGlubGluZQorI2RlZmluZSBTSF9ERUZJ TkUKKyNkZWZpbmUgU0hfREVDTEFSRQorI2luY2x1ZGUgImxpYi9zaW1wbGVoYXNoLmgiCisK K3R5cGVkZWYgcGdzdGF0X3NuYXBzaG90X2l0ZXJhdG9yIFNuYXBzaG90SXRlcmF0b3I7CisK KyNkZWZpbmUgSW5pdFNuYXBzaG90SXRlcmF0b3IoaHRhYmxlLCBpdGVyKSBcCisJcGdzdGF0 X3NuYXBzaG90X3N0YXJ0X2l0ZXJhdGUoaHRhYmxlLCBpdGVyKTsKKyNkZWZpbmUgU2NhblN0 YXRTbmFwc2hvdChodGFibGUsIGl0ZXIpIFwKKwlwZ3N0YXRfc25hcHNob3RfaXRlcmF0ZSho dGFibGUsIGl0ZXIpCisKIAogI2RlZmluZSBVSU5UMzJfQUNDRVNTX09OQ0UodmFyKQkJICgo dWludDMyKSgqKCh2b2xhdGlsZSB1aW50MzIgKikmKHZhcikpKSkKIApAQCAtMTA2LDYgKzE0 MiwxMiBAQCBQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NCh0dXBsZXNfdXBkYXRlZCkKIC8q IHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCAqLwogUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5U NjQodmFjdXVtX2NvdW50KQogCisvKiBwZ19zdGF0X2dldF9yZXZfZnJvemVuX3BhZ2VzICov CitQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChyZXZfYWxsX2Zyb3plbl9wYWdlcykKKwor LyogcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzICovCitQR19TVEFUX0dFVF9S RUxFTlRSWV9JTlQ2NChyZXZfYWxsX3Zpc2libGVfcGFnZXMpCisKICNkZWZpbmUgUEdfU1RB VF9HRVRfUkVMRU5UUllfVElNRVNUQU1QVFooc3RhdCkJCQkJCVwKIERhdHVtCQkJCQkJCQkJ CQkJCQkJXAogQ3BwQ29uY2F0KHBnX3N0YXRfZ2V0XyxzdGF0KShQR19GVU5DVElPTl9BUkdT KQkJCQkJXApAQCAtMjA2MywzICsyMTA1LDEzMiBAQCBwZ19zdGF0X2hhdmVfc3RhdHMoUEdf RlVOQ1RJT05fQVJHUykKIAogCVBHX1JFVFVSTl9CT09MKHBnc3RhdF9oYXZlX2VudHJ5KGtp bmQsIGRib2lkLCBvYmppZCkpOwogfQorCisKKy8qCisgKiBHZXQgdGhlIHZhY3V1bSBzdGF0 aXN0aWNzIGZvciB0aGUgaGVhcCB0YWJsZXMuCisgKi8KK0RhdHVtCitwZ19zdGF0X2dldF92 YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJI2RlZmluZSBQR19TVEFUX0dF VF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMgMjIKKworCU9pZAkJCQkJCXJlbGlkID0gUEdf R0VUQVJHX09JRCgwKTsKKwlQZ1N0YXRfU3RhdFRhYkVudHJ5ICAgICAqdGFiZW50cnk7CisJ RXh0VmFjUmVwb3J0IAkJCSpleHR2YWN1dW07CisJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOwor CURhdHVtCQkJCQkgdmFsdWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09M U10gPSB7MH07CisJYm9vbAkJCQkJIG51bGxzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNf U1RBVFNfQ09MU10gPSB7MH07CisJY2hhcgkJCQkJIGJ1ZlsyNTZdOworCWludAkJCQkJCSBp ID0gMDsKKwlFeHRWYWNSZXBvcnQgYWxsemVybzsKKworCS8qIEluaXRpYWxpc2UgYXR0cmli dXRlcyBpbmZvcm1hdGlvbiBpbiB0aGUgdHVwbGUgZGVzY3JpcHRvciAqLworCXR1cGRlc2Mg PSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVzYyhQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NU QVRTX0NPTFMpOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVy KSArK2ksICJyZWxpZCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfcmVhZCIs CisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfaGl0IiwKKwkJCQkJICAgSU5UOE9J RCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAidG90YWxfYmxrc19kaXJ0aWVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxf Ymxrc193cml0dGVuIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsX2Jsa3NfcmVhZCIsCisJ CQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgInJlbF9ibGtzX2hpdCIsCisJCQkJCSAgIElOVDhPSUQsIC0x LCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwg InBhZ2VzX3NjYW5uZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdlc19yZW1vdmVkIiwK KwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAicGFnZXNfZnJvemVuIiwKKwkJCQkJICAgSU5UOE9JRCwg LTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAicGFnZXNfYWxsX3Zpc2libGUiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0dXBsZXNfZGVs ZXRlZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnko dHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInR1cGxlc19mcm96ZW4iLAorCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJkZWFkX3R1cGxlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImluZGV4X3Zh Y3V1bV9jb3VudCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9yZWNvcmRzIiwKKwkJCQkJ ICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0 ck51bWJlcikgKytpLCAid2FsX2ZwaSIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9ieXRl cyIsCisJCQkJCSAgIE5VTUVSSUNPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiYmxrX3JlYWRfdGltZSIsCisJCQkJCSAg IEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0 ck51bWJlcikgKytpLCAiYmxrX3dyaXRlX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0x LCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAiZGVsYXlfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVz Y0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfdGltZSIsCisJ CQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRf VkFDVVVNX1RBQkxFU19TVEFUU19DT0xTKTsKKworCUJsZXNzVHVwbGVEZXNjKHR1cGRlc2Mp OworCisJdGFiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3RhdF90YWJlbnRyeShyZWxpZCk7CisK KwlpZiAodGFiZW50cnkgPT0gTlVMTCkKKwl7CisJCS8qIElmIHRoZSBzdWJzY3JpcHRpb24g aXMgbm90IGZvdW5kLCBpbml0aWFsaXNlIGl0cyBzdGF0cyAqLworCQltZW1zZXQoJmFsbHpl cm8sIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwkJZXh0dmFjdXVtID0gJmFsbHplcm87 CisJfQorCWVsc2UKKwl7CisJCWV4dHZhY3V1bSA9ICYodGFiZW50cnktPnZhY3V1bV9leHQp OworCX0KKworCWkgPSAwOworCisJdmFsdWVzW2krK10gPSBPYmplY3RJZEdldERhdHVtKHJl bGlkKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFs X2Jsa3NfcmVhZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ dG90YWxfYmxrc19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPnRvdGFsX2Jsa3NfZGlydGllZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KGV4dHZhY3V1bS0+dG90YWxfYmxrc193cml0dGVuKTsKKworCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bShleHR2YWN1dW0tPmJsa3NfZmV0Y2hlZCAtCisJCQkJCQkJCQlleHR2YWN1 dW0tPmJsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT5ibGtzX2hpdCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT5wYWdlc19zY2FubmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT5wYWdlc19yZW1vdmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0 dmFjdXVtLT5wYWdlc19mcm96ZW4pOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnBhZ2VzX2FsbF92aXNpYmxlKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNfZGVsZXRlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+dHVwbGVzX2Zyb3plbik7CisJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+ZGVhZF90dXBsZXMpOworCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPmluZGV4X3ZhY3V1bV9jb3VudCk7CisKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CisKKwkvKiBD b252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0ZW1lbnRzICovCisJc25wcmlu dGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0tPndhbF9ieXRl cyk7CisJdmFsdWVzW2krK10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4sCisJ CQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJZEdl dERhdHVtKDApLAorCQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1ZXNb aSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGltZSk7CisJdmFs dWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0ZV90aW1lKTsK Kwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVsYXlfdGltZSk7 CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX3RpbWUp OworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xT KTsKKworCS8qIFJldHVybnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLworCVBHX1JFVFVSTl9E QVRVTShIZWFwVHVwbGVHZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVz LCBudWxscykpKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMgYi9zcmMvYmFja2VuZC91dGlscy9l cnJvci9lbG9nLmMKaW5kZXggOGFjY2EzZTBhMGIuLmZlNTU0NTQ3ZjViIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvZXJyb3IvZWxvZy5jCkBAIC0xNjE5LDYgKzE2MTksMTkgQEAgZ2V0aW50ZXJuYWxlcnJw b3NpdGlvbih2b2lkKQogCXJldHVybiBlZGF0YS0+aW50ZXJuYWxwb3M7CiB9CiAKKy8qCisg KiBSZXR1cm4gZWxldmVsIG9mIGVycm9ycworICovCitpbnQKK2dldGVycmVsZXZlbCh2b2lk KQoreworCUVycm9yRGF0YSAgKmVkYXRhID0gJmVycm9yZGF0YVtlcnJvcmRhdGFfc3RhY2tf ZGVwdGhdOworCisJLyogd2UgZG9uJ3QgYm90aGVyIGluY3JlbWVudGluZyByZWN1cnNpb25f ZGVwdGggKi8KKwlDSEVDS19TVEFDS19ERVBUSCgpOworCisJcmV0dXJuIGVkYXRhLT5lbGV2 ZWw7Cit9CiAKIC8qCiAgKiBGdW5jdGlvbnMgdG8gYWxsb3cgY29uc3RydWN0aW9uIG9mIGVy cm9yIG1lc3NhZ2Ugc3RyaW5ncyBzZXBhcmF0ZWx5IGZyb20KZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3By b2MuZGF0CmluZGV4IDFlYzBkNmY2YjVmLi42MmQxN2RmNTc3MCAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9n L3BnX3Byb2MuZGF0CkBAIC0xMjQwMCw0ICsxMjQwMCwyMiBAQAogICBwcm9hcmd0eXBlcyA9 PiAnaW50MicsCiAgIHByb3NyYyA9PiAnZ2lzdF9zdHJhdG51bV9pZGVudGl0eScgfSwKIAor eyBvaWQgPT4gJzgwMDEnLAorICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxl cyByZXR1cm4gc3RhdHMgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdmFj dXVtX3RhYmxlcycsIHByb3Jvd3MgPT4gMTAwMCwgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9y ZXR0eXBlID0+ICdyZWNvcmQnLHByb2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0c2V0ID0+ ICd0JywKKyAgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7 b2lkLG9pZCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxp bnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0 OCxmbG9hdDgsZmxvYXQ4fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7 cmVsb2lkLHJlbGlkLHRvdGFsX2Jsa3NfcmVhZCx0b3RhbF9ibGtzX2hpdCx0b3RhbF9ibGtz X2RpcnRpZWQsdG90YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQscmVsX2Jsa3NfaGl0 LHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZCxwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zp c2libGUsdHVwbGVzX2RlbGV0ZWQsdHVwbGVzX2Zyb3plbixkZWFkX3R1cGxlcyxpbmRleF92 YWN1dW1fY291bnQsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRfdGlt ZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHRvdGFsX3RpbWV9JywKKyAgcHJvc3JjID0+ ICdwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzJyB9LAorCisgIHsgb2lkID0+ICc4MDAyJywg ZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiB0aW1lcyB0aGUgYWxsLXZpc2libGUg cGFnZXMgaW4gdGhlIHZpc2liaWxpdHkgbWFwIHdhcyByZW1vdmVkIGZvciBwYWdlcyBvZiB0 YWJsZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfdmlzaWJsZV9wYWdl cycsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0 eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb3NyYyA9PiAncGdf c3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzJyB9LAorICB7IG9pZCA9PiAnODAwMycs IGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdGltZXMgdGhlIGFsbC1mcm96ZW4g cGFnZXMgaW4gdGhlIHZpc2liaWxpdHkgbWFwIHdhcyByZW1vdmVkIGZvciBwYWdlcyBvZiB0 YWJsZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVuX3BhZ2Vz JywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5 cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAgcHJvc3JjID0+ICdwZ19z dGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycgfSwKIF0KZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVt LmgKaW5kZXggNzU5ZjlhODdkMzguLjA3YjI4YjE1ZDlmIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9jb21tYW5kcy92YWN1dW0uaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1 dW0uaApAQCAtMzA4LDYgKzMwOCw3IEBAIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgdmFjdXVt X211bHRpeGFjdF9mYWlsc2FmZV9hZ2U7CiBleHRlcm4gUEdETExJTVBPUlQgcGdfYXRvbWlj X3VpbnQzMiAqVmFjdXVtU2hhcmVkQ29zdEJhbGFuY2U7CiBleHRlcm4gUEdETExJTVBPUlQg cGdfYXRvbWljX3VpbnQzMiAqVmFjdXVtQWN0aXZlTldvcmtlcnM7CiBleHRlcm4gUEdETExJ TVBPUlQgaW50IFZhY3V1bUNvc3RCYWxhbmNlTG9jYWw7CitleHRlcm4gUEdETExJTVBPUlQg ZG91YmxlIFZhY3V1bURlbGF5VGltZTsKIAogZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgVmFj dXVtRmFpbHNhZmVBY3RpdmU7CiBleHRlcm4gUEdETExJTVBPUlQgZG91YmxlIHZhY3V1bV9j b3N0X2RlbGF5OwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdzdGF0LmggYi9zcmMvaW5j bHVkZS9wZ3N0YXQuaAppbmRleCBkZjUzZmEyZDRmOS4uYWFhZTFjZTI0Y2MgMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCkBA IC0xNjksNiArMTY5LDUwIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9CYWNrZW5kU3ViRW50 cnkKIAlQZ1N0YXRfQ291bnRlciBjb25mbGljdF9jb3VudFtDT05GTElDVF9OVU1fVFlQRVNd OwogfSBQZ1N0YXRfQmFja2VuZFN1YkVudHJ5OwogCisvKiAtLS0tLS0tLS0tCisgKgorICog RXh0VmFjUmVwb3J0CisgKgorICogQWRkaXRpb25hbCBzdGF0aXN0aWNzIG9mIHZhY3V1bSBw cm9jZXNzaW5nIG92ZXIgYSBoZWFwIHJlbGF0aW9uLgorICogcGFnZXNfcmVtb3ZlZCBpcyB0 aGUgYW1vdW50IGJ5IHdoaWNoIHRoZSBwaHlzaWNhbGx5IHNocmFuaywKKyAqIGlmIGFueSAo aWUgdGhlIGNoYW5nZSBpbiBpdHMgdG90YWwgc2l6ZSBvbiBkaXNrKQorICogcGFnZXNfZGVs ZXRlZCByZWZlciB0byBmcmVlIHNwYWNlIHdpdGhpbiB0aGUgaW5kZXggZmlsZQorICogLS0t LS0tLS0tLQorICovCit0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKK3sKKwlpbnQ2NAkJ dG90YWxfYmxrc19yZWFkOyAJLyogbnVtYmVyIG9mIHBhZ2VzIHRoYXQgd2VyZSBtaXNzZWQg aW4gc2hhcmVkIGJ1ZmZlcnMgZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNpZmljIHJlbGF0aW9u ICovCisJaW50NjQJCXRvdGFsX2Jsa3NfaGl0OyAJLyogbnVtYmVyIG9mIHBhZ2VzIHRoYXQg d2VyZSBmb3VuZCBpbiBzaGFyZWQgYnVmZmVycyBkdXJpbmcgYSB2YWN1dW0gb2Ygc3BlY2lm aWMgcmVsYXRpb24gKi8KKwlpbnQ2NAkJdG90YWxfYmxrc19kaXJ0aWVkOwkvKiBudW1iZXIg b2YgcGFnZXMgbWFya2VkIGFzICdEaXJ0eScgZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNpZmlj IHJlbGF0aW9uLiAqLworCWludDY0CQl0b3RhbF9ibGtzX3dyaXR0ZW47CS8qIG51bWJlciBv ZiBwYWdlcyB3cml0dGVuIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZpYyByZWxhdGlvbi4g Ki8KKworCWludDY0CQlibGtzX2ZldGNoZWQ7IAkJLyogbnVtYmVyIG9mIGEgcmVsYXRpb24g YmxvY2tzLCBmZXRjaGVkIGR1cmluZyB0aGUgdmFjdXVtLiAqLworCWludDY0CQlibGtzX2hp dDsJCS8qIG51bWJlciBvZiBhIHJlbGF0aW9uIGJsb2NrcywgZm91bmQgaW4gc2hhcmVkIGJ1 ZmZlcnMgZHVyaW5nIHRoZSB2YWN1dW0uICovCisKKwkvKiBWYWN1dW0gV0FMIHVzYWdlIHN0 YXRzICovCisJaW50NjQJCXdhbF9yZWNvcmRzOwkvKiB3YWwgdXNhZ2U6IG51bWJlciBvZiBX QUwgcmVjb3JkcyAqLworCWludDY0CQl3YWxfZnBpOwkJLyogd2FsIHVzYWdlOiBudW1iZXIg b2YgV0FMIGZ1bGwgcGFnZSBpbWFnZXMgcHJvZHVjZWQgKi8KKwl1aW50NjQJCXdhbF9ieXRl czsJCS8qIHdhbCB1c2FnZTogc2l6ZSBvZiBXQUwgcmVjb3JkcyBwcm9kdWNlZCAqLworCisJ LyogVGltZSBzdGF0cy4gKi8KKwlkb3VibGUJCWJsa19yZWFkX3RpbWU7CS8qIHRpbWUgc3Bl bnQgcmVhZGluZyBwYWdlcywgaW4gbXNlYyAqLworCWRvdWJsZQkJYmxrX3dyaXRlX3RpbWU7 IC8qIHRpbWUgc3BlbnQgd3JpdGluZyBwYWdlcywgaW4gbXNlYyAqLworCWRvdWJsZQkJZGVs YXlfdGltZTsJCS8qIGhvdyBsb25nIHZhY3V1bSBzbGVwdCBpbiB2YWN1dW0gZGVsYXkgcG9p bnQsIGluIG1zZWMgKi8KKwlkb3VibGUJCXRvdGFsX3RpbWU7CQkvKiB0b3RhbCB0aW1lIG9m IGEgdmFjdXVtIG9wZXJhdGlvbiwgaW4gbXNlYyAqLworCisJLyogSW50ZXJydXB0aW9ucyBv biBhbnkgZXJyb3JzLiAqLworCWludDMyCQlpbnRlcnJ1cHRzOworCisJaW50NjQJCXBhZ2Vz X3NjYW5uZWQ7CQkvKiBudW1iZXIgb2YgcGFnZXMgd2UgZXhhbWluZWQgKi8KKwlpbnQ2NAkJ cGFnZXNfcmVtb3ZlZDsJCS8qIG51bWJlciBvZiBwYWdlcyByZW1vdmVkIGJ5IHZhY3V1bSAq LworCWludDY0CQlwYWdlc19mcm96ZW47CQkvKiBudW1iZXIgb2YgcGFnZXMgbWFya2VkIGlu IFZNIGFzIGZyb3plbiAqLworCWludDY0CQlwYWdlc19hbGxfdmlzaWJsZTsJLyogbnVtYmVy IG9mIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLworCWludDY0CQl0dXBs ZXNfZGVsZXRlZDsJCS8qIHR1cGxlcyBkZWxldGVkIGJ5IHZhY3V1bSAqLworCWludDY0CQl0 dXBsZXNfZnJvemVuOwkJLyogdHVwbGVzIGZyb3plbiB1cCBieSB2YWN1dW0gKi8KKwlpbnQ2 NAkJZGVhZF90dXBsZXM7CQkvKiBudW1iZXIgb2YgZGVsZXRlZCB0dXBsZXMgd2hpY2ggdmFj dXVtIGNhbm5vdCBjbGVhbiB1cCBieSB2YWN1dW0gb3BlcmF0aW9uICovCisJaW50NjQJCWlu ZGV4X3ZhY3V1bV9jb3VudDsJLyogbnVtYmVyIG9mIGluZGV4IHZhY3V1bWluZ3MgKi8KK30g RXh0VmFjUmVwb3J0OworCiAvKiAtLS0tLS0tLS0tCiAgKiBQZ1N0YXRfVGFibGVDb3VudHMJ CQlUaGUgYWN0dWFsIHBlci10YWJsZSBjb3VudHMga2VwdCBieSBhIGJhY2tlbmQKICAqCkBA IC0yMDksNiArMjUzLDE2IEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9UYWJsZUNvdW50cwog CiAJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2ZldGNoZWQ7CiAJUGdTdGF0X0NvdW50ZXIgYmxv Y2tzX2hpdDsKKworCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfdmlzaWJsZV9wYWdlczsKKwlQ Z1N0YXRfQ291bnRlciByZXZfYWxsX2Zyb3plbl9wYWdlczsKKworCS8qCisJICogQWRkaXRp b25hbCBjdW11bGF0aXZlIHN0YXQgb24gdmFjdXVtIG9wZXJhdGlvbnMuCisJICogVXNlIGFu IGV4cGVuc2l2ZSBzdHJ1Y3R1cmUgYXMgYW4gYWJzdHJhY3Rpb24gZm9yIGRpZmZlcmVudCB0 eXBlcyBvZgorCSAqIHJlbGF0aW9ucy4KKwkgKi8KKwlFeHRWYWNSZXBvcnQJdmFjdXVtX2V4 dDsKIH0gUGdTdGF0X1RhYmxlQ291bnRzOwogCiAvKiAtLS0tLS0tLS0tCkBAIC0yNjcsNyAr MzIxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1RhYmxlWGFjdFN0YXR1cwogICogLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAgKi8KIAotI2RlZmluZSBQR1NUQVRfRklMRV9GT1JNQVRfSUQJMHgwMUE1QkNBRgor I2RlZmluZSBQR1NUQVRfRklMRV9GT1JNQVRfSUQJMHgwMUE1QkNCMQogCiB0eXBlZGVmIHN0 cnVjdCBQZ1N0YXRfQXJjaGl2ZXJTdGF0cwogewpAQCAtMzg4LDYgKzQ0Miw4IEBAIHR5cGVk ZWYgc3RydWN0IFBnU3RhdF9TdGF0REJFbnRyeQogCVBnU3RhdF9Db3VudGVyIHNlc3Npb25z X2tpbGxlZDsKIAogCVRpbWVzdGFtcFR6IHN0YXRfcmVzZXRfdGltZXN0YW1wOworCisJRXh0 VmFjUmVwb3J0IHZhY3V1bV9leHQ7CQkvKiBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyAq LwogfSBQZ1N0YXRfU3RhdERCRW50cnk7CiAKIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9TdGF0 RnVuY0VudHJ5CkBAIC00NjEsNiArNTE3LDExIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9T dGF0VGFiRW50cnkKIAlQZ1N0YXRfQ291bnRlciBhbmFseXplX2NvdW50OwogCVRpbWVzdGFt cFR6IGxhc3RfYXV0b2FuYWx5emVfdGltZTsJLyogYXV0b3ZhY3V1bSBpbml0aWF0ZWQgKi8K IAlQZ1N0YXRfQ291bnRlciBhdXRvYW5hbHl6ZV9jb3VudDsKKworCVBnU3RhdF9Db3VudGVy IHJldl9hbGxfdmlzaWJsZV9wYWdlczsKKwlQZ1N0YXRfQ291bnRlciByZXZfYWxsX2Zyb3pl bl9wYWdlczsKKworCUV4dFZhY1JlcG9ydCB2YWN1dW1fZXh0OwogfSBQZ1N0YXRfU3RhdFRh YkVudHJ5OwogCiB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfV2FsU3RhdHMKQEAgLTYyNiwxMCAr Njg3LDEyIEBAIGV4dGVybiB2b2lkIHBnc3RhdF9hc3NvY19yZWxhdGlvbihSZWxhdGlvbiBy ZWwpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3VubGlua19yZWxhdGlvbihSZWxhdGlvbiByZWwp OwogCiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJv b2wgc2hhcmVkLAotCQkJCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0 X0NvdW50ZXIgZGVhZHR1cGxlcyk7CisJCQkJCQkJCSBQZ1N0YXRfQ291bnRlciBsaXZldHVw bGVzLCBQZ1N0YXRfQ291bnRlciBkZWFkdHVwbGVzLAorCQkJCQkJCQkgRXh0VmFjUmVwb3J0 ICpwYXJhbXMpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9hbmFseXplKFJlbGF0aW9u IHJlbCwKIAkJCQkJCQkJICBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQZ1N0YXRfQ291 bnRlciBkZWFkdHVwbGVzLAogCQkJCQkJCQkgIGJvb2wgcmVzZXRjb3VudGVyKTsKK2V4dGVy biB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9pZCk7CiAKIC8q CiAgKiBJZiBzdGF0cyBhcmUgZW5hYmxlZCwgYnV0IHBlbmRpbmcgZGF0YSBoYXNuJ3QgYmVl biBwcmVwYXJlZCB5ZXQsIGNhbGwKQEAgLTY3Nyw2ICs3NDAsMTcgQEAgZXh0ZXJuIHZvaWQg cGdzdGF0X3JlcG9ydF9hbmFseXplKFJlbGF0aW9uIHJlbCwKIAkJaWYgKHBnc3RhdF9zaG91 bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCiAJCQkocmVsKS0+cGdzdGF0X2luZm8t PmNvdW50cy5ibG9ja3NfaGl0Kys7CQkJCVwKIAl9IHdoaWxlICgwKQorLyogYWNjdW11bGF0 ZSB1bmZyb3plbiBhbGwtdmlzaWJsZSBhbmQgYWxsLWZyb3plbiBwYWdlcyAqLworI2RlZmlu ZSBwZ3N0YXRfY291bnRfdm1fcmV2X2FsbF92aXNpYmxlKHJlbCkJCQkJCQlcCisJZG8gewkJ CQkJCQkJCQkJCQkJCVwKKwkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVs KSkJCQkJCQlcCisJCQkocmVsKS0+cGdzdGF0X2luZm8tPmNvdW50cy5yZXZfYWxsX3Zpc2li bGVfcGFnZXMrKzsJXAorCX0gd2hpbGUgKDApCisjZGVmaW5lIHBnc3RhdF9jb3VudF92bV9y ZXZfYWxsX2Zyb3plbihyZWwpCQkJCQkJXAorCWRvIHsJCQkJCQkJCQkJCQkJCQlcCisJCWlm IChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAorCQkJKHJlbCkt PnBnc3RhdF9pbmZvLT5jb3VudHMucmV2X2FsbF9mcm96ZW5fcGFnZXMrKzsJXAorCX0gd2hp bGUgKDApCiAKIGV4dGVybiB2b2lkIHBnc3RhdF9jb3VudF9oZWFwX2luc2VydChSZWxhdGlv biByZWwsIFBnU3RhdF9Db3VudGVyIG4pOwogZXh0ZXJuIHZvaWQgcGdzdGF0X2NvdW50X2hl YXBfdXBkYXRlKFJlbGF0aW9uIHJlbCwgYm9vbCBob3QsIGJvb2wgbmV3cGFnZSk7CkBAIC02 OTQsNyArNzY4LDYgQEAgZXh0ZXJuIFBnU3RhdF9TdGF0VGFiRW50cnkgKnBnc3RhdF9mZXRj aF9zdGF0X3RhYmVudHJ5X2V4dChib29sIHNoYXJlZCwKIAkJCQkJCQkJCQkJCQkJICAgT2lk IHJlbG9pZCk7CiBleHRlcm4gUGdTdGF0X1RhYmxlU3RhdHVzICpmaW5kX3RhYnN0YXRfZW50 cnkoT2lkIHJlbF9pZCk7CiAKLQogLyoKICAqIEZ1bmN0aW9ucyBpbiBwZ3N0YXRfcmVwbHNs b3QuYwogICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmggYi9zcmMv aW5jbHVkZS91dGlscy9lbG9nLmgKaW5kZXggZTU0ZWNhNWI0ODkuLmU3NTJjMGNlMDE1IDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmgKKysrIGIvc3JjL2luY2x1ZGUv dXRpbHMvZWxvZy5oCkBAIC0yMzAsNiArMjMwLDcgQEAgZXh0ZXJuIGludAlnZXRlcnJsZXZl bCh2b2lkKTsKIGV4dGVybiBpbnQJZ2V0ZXJycG9zaXRpb24odm9pZCk7CiBleHRlcm4gaW50 CWdldGludGVybmFsZXJycG9zaXRpb24odm9pZCk7CiAKK2V4dGVybiBpbnQJZ2V0ZXJyZWxl dmVsKHZvaWQpOwogCiAvKi0tLS0tLS0tLS0KICAqIE9sZC1zdHlsZSBlcnJvciByZXBvcnRp bmcgQVBJOiB0byBiZSB1c2VkIGluIHRoaXMgd2F5OgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmggYi9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRf aW50ZXJuYWwuaAppbmRleCA2MWIyZTFmOTZiMi4uMmMwZTU1ZDYzZjMgMTAwNjQ0Ci0tLSBh L3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9pbnRlcm5hbC5oCisrKyBiL3NyYy9pbmNsdWRl L3V0aWxzL3Bnc3RhdF9pbnRlcm5hbC5oCkBAIC01NzMsNyArNTczLDcgQEAgZXh0ZXJuIFBn U3RhdF9FbnRyeVJlZiAqcGdzdGF0X2ZldGNoX3BlbmRpbmdfZW50cnkoUGdTdGF0X0tpbmQg a2luZCwKIGV4dGVybiB2b2lkICpwZ3N0YXRfZmV0Y2hfZW50cnkoUGdTdGF0X0tpbmQga2lu ZCwgT2lkIGRib2lkLCB1aW50NjQgb2JqaWQpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3NuYXBz aG90X2ZpeGVkKFBnU3RhdF9LaW5kIGtpbmQpOwogCi0KK2V4dGVybiB2b2lkIHBnc3RhdF91 cGRhdGVfc25hcHNob3QoUGdTdGF0X0tpbmQga2luZCk7CiAvKgogICogRnVuY3Rpb25zIGlu IHBnc3RhdF9hcmNoaXZlci5jCiAgKi8KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlv bi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dCBiL3Ny Yy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJs ZS1yZWFkLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uN2Nk Yjc5YzBlYzQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0 ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKQEAgLTAsMCArMSw1 MyBAQAordW51c2VkIHN0ZXAgbmFtZTogczJfZGVsZXRlCitQYXJzZWQgdGVzdCBzcGVjIHdp dGggMiBzZXNzaW9ucworCitzdGFydGluZyBwZXJtdXRhdGlvbjogczJfaW5zZXJ0IHMyX3By aW50X3ZhY3V1bV9zdGF0c190YWJsZSBzMV9iZWdpbl9yZXBlYXRhYmxlX3JlYWQgczJfdXBk YXRlIHMyX2luc2VydF9pbnRlcnJ1cHQgczJfdmFjdXVtIHMyX3ByaW50X3ZhY3V1bV9zdGF0 c190YWJsZSBzMV9jb21taXQgczJfY2hlY2twb2ludCBzMl92YWN1dW0gczJfcHJpbnRfdmFj dXVtX3N0YXRzX3RhYmxlCitzdGVwIHMyX2luc2VydDogSU5TRVJUIElOVE8gdGVzdF92YWN1 dW1fc3RhdF9pc29sYXRpb24oaWQsIGl2YWwpIFNFTEVDVCBpdmFsLCBpdmFsJTEwIEZST00g Z2VuZXJhdGVfc2VyaWVzKDEsMTAwMCkgQXMgaXZhbDsKK3N0ZXAgczJfcHJpbnRfdmFjdXVt X3N0YXRzX3RhYmxlOiAKKyAgICBTRUxFQ1QKKyAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNf ZGVsZXRlZCwgdnQuZGVhZF90dXBsZXMsIHZ0LnR1cGxlc19mcm96ZW4KKyAgICBGUk9NIHBn X3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworICAgIFdIRVJFIHZ0LnJlbG5h bWUgPSAndGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24nIEFORCB2dC5yZWxpZCA9IGMub2lk OworCityZWxuYW1lICAgICAgICAgICAgICAgICAgIHx0dXBsZXNfZGVsZXRlZHxkZWFkX3R1 cGxlc3x0dXBsZXNfZnJvemVuCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCit0ZXN0X3ZhY3V1bV9zdGF0X2lz b2xhdGlvbnwgICAgICAgICAgICAgMHwgICAgICAgICAgMHwgICAgICAgICAgICAwCisoMSBy b3cpCisKK3N0ZXAgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkOiAKKyAgQkVHSU4gdHJhbnNh Y3Rpb24gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsKKyAgc2VsZWN0IGNvdW50 KGl2YWwpIGZyb20gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gd2hlcmUgaWQ+OTAwOwor Citjb3VudAorLS0tLS0KKyAgMTAwCisoMSByb3cpCisKK3N0ZXAgczJfdXBkYXRlOiBVUERB VEUgdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gU0VUIGl2YWwgPSBpdmFsICsgMiB3aGVy ZSBpZCA+IDkwMDsKK3N0ZXAgczJfaW5zZXJ0X2ludGVycnVwdDogSU5TRVJUIElOVE8gdGVz dF92YWN1dW1fc3RhdF9pc29sYXRpb24gdmFsdWVzICgxLDEpOworc3RlcCBzMl92YWN1dW06 IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbjsKK3N0ZXAgczJfcHJpbnRfdmFj dXVtX3N0YXRzX3RhYmxlOiAKKyAgICBTRUxFQ1QKKyAgICB2dC5yZWxuYW1lLCB2dC50dXBs ZXNfZGVsZXRlZCwgdnQuZGVhZF90dXBsZXMsIHZ0LnR1cGxlc19mcm96ZW4KKyAgICBGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworICAgIFdIRVJFIHZ0LnJl bG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24nIEFORCB2dC5yZWxpZCA9IGMu b2lkOworCityZWxuYW1lICAgICAgICAgICAgICAgICAgIHx0dXBsZXNfZGVsZXRlZHxkZWFk X3R1cGxlc3x0dXBsZXNfZnJvemVuCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCit0ZXN0X3ZhY3V1bV9zdGF0 X2lzb2xhdGlvbnwgICAgICAgICAgICAgMHwgICAgICAgIDEwMHwgICAgICAgICAgICAwCiso MSByb3cpCisKK3N0ZXAgczFfY29tbWl0OiBDT01NSVQ7CitzdGVwIHMyX2NoZWNrcG9pbnQ6 IENIRUNLUE9JTlQ7CitzdGVwIHMyX3ZhY3V1bTogVkFDVVVNIHRlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9uOworc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6IAorICAgIFNF TEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxldGVkLCB2dC5kZWFkX3R1cGxl cywgdnQudHVwbGVzX2Zyb3plbgorICAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0 LCBwZ19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0 X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisKK3JlbG5hbWUgICAgICAgICAg ICAgICAgICAgfHR1cGxlc19kZWxldGVkfGRlYWRfdHVwbGVzfHR1cGxlc19mcm96ZW4KKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0KK3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAgMTAw fCAgICAgICAgMTAwfCAgICAgICAgICAxMDEKKygxIHJvdykKKwpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZSBiL3NyYy90ZXN0L2lzb2xhdGlv bi9pc29sYXRpb25fc2NoZWR1bGUKaW5kZXggMTQzMTA5YWE0ZGEuLmU5M2RkNGY2MjZjIDEw MDY0NAotLS0gYS9zcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCisrKyBi L3NyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUKQEAgLTk1LDYgKzk1LDcg QEAgdGVzdDogdGltZW91dHMKIHRlc3Q6IHZhY3V1bS1jb25jdXJyZW50LWRyb3AKIHRlc3Q6 IHZhY3V1bS1jb25mbGljdAogdGVzdDogdmFjdXVtLXNraXAtbG9ja2VkCit0ZXN0OiB2YWN1 dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkCiB0ZXN0OiBzdGF0cwogdGVzdDogaG9y aXpvbnMKIHRlc3Q6IHByZWRpY2F0ZS1oYXNoCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29s YXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5zcGVjIGIv c3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxl LXJlYWQuc3BlYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNWZh Y2IyYzg2MmMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3Mv dmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5zcGVjCkBAIC0wLDAgKzEsNTEg QEAKKyMgVGVzdCBmb3IgY2hlY2tpbmcgZGVhZF90dXBsZXMsIHR1cGxlc19kZWxldGVkIGFu ZCBmcm96ZW4gdHVwbGVzIGluIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy4KKyMgRGVhZF90dXBs ZXMgdmFsdWVzIGFyZSBjb3VudGVkIHdoZW4gdmFjdXVtIGNhbm5vdCBjbGVhbiB1cCB1bnVz ZWQgdHVwbGVzIHdoaWxlIGxvY2sgaXMgdXNpbmcgYW5vdGhlciB0cmFuc2FjdGlvbi4KKyMg RGVhZF90dXBsZXMgYXJlbid0IGluY3JlYXNlZCBhZnRlciByZWxlYXNpbmcgbG9jayBjb21w YXJlZCB3aXRoIHR1cGxlc19kZWxldGVkLCB3aGljaCBpbmNyZWFzZWQKKyMgYnkgdGhlIHZh bHVlIG9mIHRoZSBjbGVhcmVkIHR1cGxlcyB0aGF0IHRoZSB2YWN1dW0gbWFuYWdlZCB0byBj bGVhci4KKworc2V0dXAKK3sKKyAgICBDUkVBVEUgVEFCTEUgdGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb24oaWQgaW50LCBpdmFsIGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0g b2ZmKTsKKyAgICBTRVQgdHJhY2tfaW9fdGltaW5nID0gb247Cit9CisKK3RlYXJkb3duCit7 CisgICAgRFJPUCBUQUJMRSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiBDQVNDQURFOwor ICAgIFJFU0VUIHRyYWNrX2lvX3RpbWluZzsKK30KKworc2Vzc2lvbiBzMQorc3RlcCBzMV9i ZWdpbl9yZXBlYXRhYmxlX3JlYWQgICB7CisgIEJFR0lOIHRyYW5zYWN0aW9uIElTT0xBVElP TiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CisgIHNlbGVjdCBjb3VudChpdmFsKSBmcm9tIHRl c3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkPjkwMDsKKyAgfQorc3RlcCBzMV9j b21taXQgICAgICAgICAgICAgICAgICB7IENPTU1JVDsgfQorCitzZXNzaW9uIHMyCitzdGVw IHMyX2luc2VydCAgICAgICAgICAgICAgICAgIHsgSU5TRVJUIElOVE8gdGVzdF92YWN1dW1f c3RhdF9pc29sYXRpb24oaWQsIGl2YWwpIFNFTEVDVCBpdmFsLCBpdmFsJTEwIEZST00gZ2Vu ZXJhdGVfc2VyaWVzKDEsMTAwMCkgQXMgaXZhbDsgfQorc3RlcCBzMl91cGRhdGUgICAgICAg ICAgICAgICAgICB7IFVQREFURSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiBTRVQgaXZh bCA9IGl2YWwgIDIgd2hlcmUgaWQgPiA5MDA7IH0KK3N0ZXAgczJfZGVsZXRlICAgICAgICAg ICAgICAgICAgeyBERUxFVEUgRlJPTSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB3aGVy ZSBpZCA+IDkwMDsgfQorc3RlcCBzMl9pbnNlcnRfaW50ZXJydXB0ICAgICAgICB7IElOU0VS VCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHZhbHVlcyAoMSwxKTsgfQorc3Rl cCBzMl92YWN1dW0gICAgICAgICAgICAgICAgICB7IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0 X2lzb2xhdGlvbjsgfQorc3RlcCBzMl9jaGVja3BvaW50ICAgICAgICAgICAgICB7IENIRUNL UE9JTlQ7IH0KK3N0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlCit7CisgICAgU0VM RUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LmRlYWRfdHVwbGVz LCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQs IHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK30KKworcGVybXV0YXRpb24KKyAg ICBzMl9pbnNlcnQKKyAgICBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUKKyAgICBzMV9i ZWdpbl9yZXBlYXRhYmxlX3JlYWQKKyAgICBzMl91cGRhdGUKKyAgICBzMl9pbnNlcnRfaW50 ZXJydXB0CisgICAgczJfdmFjdXVtCisgICAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxl CisgICAgczFfY29tbWl0CisgICAgczJfY2hlY2twb2ludAorICAgIHMyX3ZhY3V1bQorICAg IHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggMmI0NzAxM2YxMTMu LjBiZDljNmQzOWIxIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1 bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAt MTgwNCw3ICsxODA0LDkgQEAgcGdfc3RhdF9hbGxfdGFibGVzfCBTRUxFQ1QgYy5vaWQgQVMg cmVsaWQsCiAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KGMub2lkKSBBUyB2YWN1dW1f Y291bnQsCiAgICAgcGdfc3RhdF9nZXRfYXV0b3ZhY3V1bV9jb3VudChjLm9pZCkgQVMgYXV0 b3ZhY3V1bV9jb3VudCwKICAgICBwZ19zdGF0X2dldF9hbmFseXplX2NvdW50KGMub2lkKSBB UyBhbmFseXplX2NvdW50LAotICAgIHBnX3N0YXRfZ2V0X2F1dG9hbmFseXplX2NvdW50KGMu b2lkKSBBUyBhdXRvYW5hbHl6ZV9jb3VudAorICAgIHBnX3N0YXRfZ2V0X2F1dG9hbmFseXpl X2NvdW50KGMub2lkKSBBUyBhdXRvYW5hbHl6ZV9jb3VudCwKKyAgICBwZ19zdGF0X2dldF9y ZXZfYWxsX2Zyb3plbl9wYWdlcyhjLm9pZCkgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMsCisg ICAgcGdfc3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzKGMub2lkKSBBUyByZXZfYWxs X3Zpc2libGVfcGFnZXMKICAgIEZST00gKChwZ19jbGFzcyBjCiAgICAgIExFRlQgSk9JTiBw Z19pbmRleCBpIE9OICgoYy5vaWQgPSBpLmluZHJlbGlkKSkpCiAgICAgIExFRlQgSk9JTiBw Z19uYW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSkKQEAgLTE4Nzks NiArMTg4MSwzNCBAQCBwZ19zdGF0X2RhdGFiYXNlX2NvbmZsaWN0c3wgU0VMRUNUIG9pZCBB UyBkYXRpZCwKICAgICBwZ19zdGF0X2dldF9kYl9jb25mbGljdF9zdGFydHVwX2RlYWRsb2Nr KG9pZCkgQVMgY29uZmxfZGVhZGxvY2ssCiAgICAgcGdfc3RhdF9nZXRfZGJfY29uZmxpY3Rf bG9naWNhbHNsb3Qob2lkKSBBUyBjb25mbF9hY3RpdmVfbG9naWNhbHNsb3QKICAgIEZST00g cGdfZGF0YWJhc2UgZDsKK3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXN8IFNFTEVDVCBucy5u c3BuYW1lIEFTIHNjaGVtYSwKKyAgICByZWwucmVsbmFtZSwKKyAgICBzdGF0cy5yZWxpZCwK KyAgICBzdGF0cy50b3RhbF9ibGtzX3JlYWQsCisgICAgc3RhdHMudG90YWxfYmxrc19oaXQs CisgICAgc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkLAorICAgIHN0YXRzLnRvdGFsX2Jsa3Nf d3JpdHRlbiwKKyAgICBzdGF0cy5yZWxfYmxrc19yZWFkLAorICAgIHN0YXRzLnJlbF9ibGtz X2hpdCwKKyAgICBzdGF0cy5wYWdlc19zY2FubmVkLAorICAgIHN0YXRzLnBhZ2VzX3JlbW92 ZWQsCisgICAgc3RhdHMucGFnZXNfZnJvemVuLAorICAgIHN0YXRzLnBhZ2VzX2FsbF92aXNp YmxlLAorICAgIHN0YXRzLnR1cGxlc19kZWxldGVkLAorICAgIHN0YXRzLnR1cGxlc19mcm96 ZW4sCisgICAgc3RhdHMuZGVhZF90dXBsZXMsCisgICAgc3RhdHMuaW5kZXhfdmFjdXVtX2Nv dW50LAorICAgIHN0YXRzLndhbF9yZWNvcmRzLAorICAgIHN0YXRzLndhbF9mcGksCisgICAg c3RhdHMud2FsX2J5dGVzLAorICAgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisgICAgc3RhdHMu YmxrX3dyaXRlX3RpbWUsCisgICAgc3RhdHMuZGVsYXlfdGltZSwKKyAgICBzdGF0cy50b3Rh bF90aW1lCisgICBGUk9NIChwZ19jbGFzcyByZWwKKyAgICAgSk9JTiBwZ19uYW1lc3BhY2Ug bnMgT04gKChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlKSkpLAorICAgIExBVEVSQUwgcGdf c3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhyZWwub2lkKSBzdGF0cyhyZWxpZCwgdG90YWxfYmxr c19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtz X3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfc2Nhbm5lZCwg cGFnZXNfcmVtb3ZlZCwgcGFnZXNfZnJvemVuLCBwYWdlc19hbGxfdmlzaWJsZSwgdHVwbGVz X2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4sIGRlYWRfdHVwbGVzLCBpbmRleF92YWN1dW1fY291 bnQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJs a193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQorICBXSEVSRSAocmVsLnJl bGtpbmQgPSAncic6OiJjaGFyIik7CiBwZ19zdGF0X2dzc2FwaXwgU0VMRUNUIHBpZCwKICAg ICBnc3NfYXV0aCBBUyBnc3NfYXV0aGVudGljYXRlZCwKICAgICBnc3NfcHJpbmMgQVMgcHJp bmNpcGFsLApAQCAtMjE4Niw3ICsyMjE2LDkgQEAgcGdfc3RhdF9zeXNfdGFibGVzfCBTRUxF Q1QgcmVsaWQsCiAgICAgdmFjdXVtX2NvdW50LAogICAgIGF1dG92YWN1dW1fY291bnQsCiAg ICAgYW5hbHl6ZV9jb3VudCwKLSAgICBhdXRvYW5hbHl6ZV9jb3VudAorICAgIGF1dG9hbmFs eXplX2NvdW50LAorICAgIHJldl9hbGxfZnJvemVuX3BhZ2VzLAorICAgIHJldl9hbGxfdmlz aWJsZV9wYWdlcwogICAgRlJPTSBwZ19zdGF0X2FsbF90YWJsZXMKICAgV0hFUkUgKChzY2hl bWFuYW1lID0gQU5ZIChBUlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9z Y2hlbWEnOjpuYW1lXSkpIE9SIChzY2hlbWFuYW1lIH4gJ15wZ190b2FzdCc6OnRleHQpKTsK IHBnX3N0YXRfdXNlcl9mdW5jdGlvbnN8IFNFTEVDVCBwLm9pZCBBUyBmdW5jaWQsCkBAIC0y MjM0LDcgKzIyNjYsOSBAQCBwZ19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAg ICAgdmFjdXVtX2NvdW50LAogICAgIGF1dG92YWN1dW1fY291bnQsCiAgICAgYW5hbHl6ZV9j b3VudCwKLSAgICBhdXRvYW5hbHl6ZV9jb3VudAorICAgIGF1dG9hbmFseXplX2NvdW50LAor ICAgIHJldl9hbGxfZnJvemVuX3BhZ2VzLAorICAgIHJldl9hbGxfdmlzaWJsZV9wYWdlcwog ICAgRlJPTSBwZ19zdGF0X2FsbF90YWJsZXMKICAgV0hFUkUgKChzY2hlbWFuYW1lIDw+IEFM TCAoQVJSQVlbJ3BnX2NhdGFsb2cnOjpuYW1lLCAnaW5mb3JtYXRpb25fc2NoZW1hJzo6bmFt ZV0pKSBBTkQgKHNjaGVtYW5hbWUgIX4gJ15wZ190b2FzdCc6OnRleHQpKTsKIHBnX3N0YXRf d2FsfCBTRUxFQ1Qgd2FsX3JlY29yZHMsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmEzZDhhNDMwMWYzCi0tLSAvZGV2L251bGwK KysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3Rp Y3Mub3V0CkBAIC0wLDAgKzEsMjA5IEBACistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1 bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxl Y3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5k IHZpc2libGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5k IHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9m cGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3Ig aXMgdW5zdGFibGUuCistLQorLS0gY29uZGl0aW8gc2luZSBxdWEgbm9uCitTSE9XIHRyYWNr X2NvdW50czsgIC0tIG11c3QgYmUgb24KKyB0cmFja19jb3VudHMgCistLS0tLS0tLS0tLS0t LQorIG9uCisoMSByb3cpCisKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3 YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CistLSBl bnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2Vf bmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK1xzZXQgc2FtcGxlX3NpemUgMTAwMDAK K1NFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2UgPSAwOworU0VUIHZhY3V1bV9mcmVlemVfdGFi bGVfYWdlID0gMDsKKy0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7 CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVk ID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4 IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2 ZXN0YXQ7CitTRUxFQ1Qgb2lkIEFTIHJvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1l ID0gJ3Zlc3RhdCcgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7 CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMg dmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbix0dXBsZXNf ZGVsZXRlZCxyZWxwYWdlcyxwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdf c3RhdF9nZXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFt ZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCBwYWdlc19m cm96ZW4gfCB0dXBsZXNfZGVsZXRlZCB8IHJlbHBhZ2VzIHwgcGFnZXNfc2Nhbm5lZCB8IHBh Z2VzX3JlbW92ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQg IHwgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAgIDQ1NSB8ICAgICAgICAg ICAgIDAgfCAgICAgICAgICAgICAwCisoMSByb3cpCisKK1NFTEVDVCByZWxwYWdlcyBBUyBy cAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKK1ZB Q1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5V UCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0 YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4dGVuZGVk IHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKKy0tIHZhY3V1bSBmcm96 ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBzdGF5ZWQg dGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVhbmVkIHVw CitTRUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4gPiAwIEFTIHBhZ2VzX2Zyb3plbix0 dXBsZXNfZGVsZXRlZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMtOnJwID0gMCBB UyByZWxwYWdlcyxwYWdlc19zY2FubmVkID4gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3Jl bW92ZWQgPSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3Rh YmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2 dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCBwYWdlc19mcm96ZW4gfCB0dXBsZXNfZGVs ZXRlZCB8IHJlbHBhZ2VzIHwgcGFnZXNfc2Nhbm5lZCB8IHBhZ2VzX3JlbW92ZWQgCistLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgZiAgICAgICAgICAgIHwg dCAgICAgICAgICAgICAgfCB0ICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cp CisKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVs cGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92ZWQgQVMgcHIK K0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUg dnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBT dG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBB UyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X2dl dF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS0gTG9v ayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMg ZFdSLCB3YWxfYnl0ZXMgPiAwIEFTIGRXQgorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFi bGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKyBkd3IgfCBkd2IgCistLS0tLSstLS0t LQorIHQgICB8IHQKKygxIHJvdykKKworREVMRVRFIEZST00gdmVzdGF0OzsKK1ZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYp IHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3Rp Y3MKK0NIRUNLUE9JTlQ7CistLSBwYWdlc19yZW1vdmVkIG11c3QgYmUgaW5jcmVhc2VkCitT RUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4tOmZwID4gMCBBUyBwYWdlc19mcm96ZW4s dHVwbGVzX2RlbGV0ZWQtOnRkID4gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJw ID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA+IDAgQVMgcGFnZXNfc2Nhbm5l ZCxwYWdlc19yZW1vdmVkLTpwciA+IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0 X2dldF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0g J3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8IHBhZ2VzX2Zyb3pl biB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNf cmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCBm ICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IGYgICAgICAgIHwgdCAgICAgICAgICAg ICB8IHQKKygxIHJvdykKKworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVs ZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNf cmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIHZ0LCBwZ19j bGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5v aWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNU IHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IsIHdhbF9m cGktOmhmcGkgQVMgZGZwaQorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS0gV0FMIGFkdmFuY2Ugc2hvdWxkIGJlIGRl dGVjdGVkLgorU0VMRUNUIDpkd3IgPiAwIEFTIGRXUiwgOmR3YiA+IDAgQVMgZFdCOworIGR3 ciB8IGR3YiAKKy0tLS0tKy0tLS0tCisgdCAgIHwgdAorKDEgcm93KQorCistLSBTdG9yZSBX QUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Is d2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X2dldF92YWN1 dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorSU5TRVJUIElOVE8g dmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBh cyB4OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIFZBQ1VVTSBG VUxMIGRvZXNuJ3QgcmVwb3J0IHRvIHN0YXQgY29sbGVjdG9yLiBTbywgbm8gYW55IGFkdmFu Y2VtZW50cyBvZiBzdGF0aXN0aWNzCistLSBhcmUgZGV0ZWN0ZWQgaGVyZS4KK1ZBQ1VVTSBG VUxMIHZlc3RhdDsKKy0tIEl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRp c3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJs ZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3cjIsIHdhbF9ieXRlcy06aHdiIEFT IGR3YjIsIHdhbF9mcGktOmhmcGkgQVMgZGZwaTIKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVt X3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKy0tIFdBTCBhbmQgb3Ro ZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1Qg OmR3cjI9MCBBUyBkV1IsIDpkZnBpMj0wIEFTIGRGUEksIDpkd2IyPTAgQVMgZFdCOworIGR3 ciB8IGRmcGkgfCBkd2IgCistLS0tLSstLS0tLS0rLS0tLS0KKyB0ICAgfCB0ICAgIHwgdAor KDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4tOmZwID0gMCBBUyBw YWdlc19mcm96ZW4sdHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxy ZWxwYWdlcyAtOnJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMg cGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAor RlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2 dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8 IHBhZ2VzX2Zyb3plbiB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2Fu bmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQor IHZlc3RhdCAgfCB0ICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IGYgICAgICAgIHwg dCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBm cCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBB UyBwcyxwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJs ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQu cmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFi bGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2Zw aSBBUyBoZnBpIEZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1l ID0gJ3Zlc3RhdCcgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3Rh dDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhf Q0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUg d2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50 byB2YXJpYWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQor U0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyMywgd2FsX2J5dGVzLTpod2IgQVMgZHdi Mywgd2FsX2ZwaS06aGZwaSBBUyBkZnBpMworRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFi bGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS1UaGVyZSBhcmUgbm90aGlu ZyBjaGFuZ2VkCitTRUxFQ1QgOmR3cjM+MCBBUyBkV1IsIDpkZnBpMz0wIEFTIGRGUEksIDpk d2IzPjAgQVMgZFdCOworIGR3ciB8IGRmcGkgfCBkd2IgCistLS0tLSstLS0tLS0rLS0tLS0K KyB0ICAgfCB0ICAgIHwgdAorKDEgcm93KQorCistLQorLS0gTm93LCB0aGUgdGFibGUgYW5k IGluZGV4IGlzIGNvbXByZXNzZWQgaW50byB6ZXJvIG51bWJlciBvZiBwYWdlcy4gQ2hlY2sg aXQKKy0tIGluIHZhY3V1bSBleHRlbmRlZCBzdGF0aXN0aWNzLgorLS0gVGhlIHBhZ2VzX2Zy b3plbiwgcGFnZXNfc2Nhbm5lZCB2YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitT RUxFQ1QgdnQucmVsbmFtZSxwYWdlc19mcm96ZW4tOmZwID0gMCBBUyBwYWdlc19mcm96ZW4s dHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJw ID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5l ZCxwYWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0 X2dldF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0g J3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8IHBhZ2VzX2Zyb3pl biB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNf cmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCB0 ICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IGYgICAgICAgIHwgdCAgICAgICAgICAg ICB8IHQKKygxIHJvdykKKworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2Vu ZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7Cist LSBtdXN0IGJlIGVtcHR5CitTRUxFQ1QgcGFnZXNfZnJvemVuLCBwYWdlc19hbGxfdmlzaWJs ZSwgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBn X3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19z dGF0X2dldF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF9n ZXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKKyBw YWdlc19mcm96ZW4gfCBwYWdlc19hbGxfdmlzaWJsZSB8IHJldl9hbGxfZnJvemVuX3BhZ2Vz IHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAg ICAgMCB8ICAgICAgICAgICAgICAgICAgICAgMAorKDEgcm93KQorCitWQUNVVU0gKFBBUkFM TEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKy0tIGJhY2tlbmQgZGVm cmVlemVkIHBhZ2VzCitTRUxFQ1QgcGFnZXNfZnJvemVuID4gMCBBUyBwYWdlc19mcm96ZW4s cGFnZXNfYWxsX3Zpc2libGUgPiAwIEFTIHBhZ2VzX2FsbF92aXNpYmxlLHJldl9hbGxfZnJv emVuX3BhZ2VzID0gMCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVf cGFnZXMgPSAwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X2dldF92 YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF9nZXRfdmFj dXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfZ2V0X3ZhY3V1bV90 YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CisgcGFnZXNfZnJvemVu IHwgcGFnZXNfYWxsX3Zpc2libGUgfCByZXZfYWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxf dmlzaWJsZV9wYWdlcyAKKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGYgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCB0Ciso MSByb3cpCisKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxl IEFTIHB2LCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9w YWdlcyBBUyBoYXZwCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRf YWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAn dmVzdGF0JyBhbmQgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRf YWxsX3RhYmxlcy5yZWxpZCBcZ3NldAorVVBEQVRFIHZlc3RhdCBTRVQgeCA9IHggKyAxMDAx OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7 CitTRUxFQ1QgcGFnZXNfZnJvemVuID4gOnBmIEFTIHBhZ2VzX2Zyb3plbixwYWdlc19hbGxf dmlzaWJsZSA+IDpwdiBBUyBwYWdlc19hbGxfdmlzaWJsZSxyZXZfYWxsX2Zyb3plbl9wYWdl cyA+IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdl cyA+IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X2dldF92 YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF9nZXRfdmFj dXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfZ2V0X3ZhY3V1bV90 YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CisgcGFnZXNfZnJvemVu IHwgcGFnZXNfYWxsX3Zpc2libGUgfCByZXZfYWxsX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxf dmlzaWJsZV9wYWdlcyAKKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGYgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgICAgfCBmCiso MSByb3cpCisKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxl IEFTIHB2LCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxfdmlzaWJsZV9w YWdlcyBBUyBoYXZwCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcGdf c3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKK0VSUk9S OiAgY29sdW1uICJyZXZfYWxsX2Zyb3plbl9wYWdlcyIgZG9lcyBub3QgZXhpc3QKK0xJTkUg MTogLi4uTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYsIHBhZ2VzX2FsbF92aXNpYmxlIEFTIHB2 LCByZXZfYWxsX2ZyLi4uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgorVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJf VVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CistLSB2YWN1dW0gZnJlZXplZCBwYWdlcworU0VM RUNUIHBhZ2VzX2Zyb3plbiA9IDpwZiBBUyBwYWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2li bGUgPSA6cHYgQVMgcGFnZXNfYWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPSA6 aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSA6 aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVt X3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfZ2V0X3ZhY3V1bV90 YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVz LnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworIHBhZ2VzX2Zyb3plbiB8IHBh Z2VzX2FsbF92aXNpYmxlIHwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2li bGVfcGFnZXMgCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0ICAgICAgICAgICAg fCB0ICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwgdAorKDEgcm93 KQorCitTRUxFQ1QgbWluKHJlbGlkKSBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMo MCkgd2hlcmUgcmVsaWQgPiAwOworIG1pbiAKKy0tLS0tCisgICAgCisoMSByb3cpCisKK0RS T1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVs ZQppbmRleCA4MWU0MjIyZDI2YS4uOTc3YTA0NzIwMjcgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJh bGxlbF9zY2hlZHVsZQpAQCAtMTM2LDMgKzEzNiw4IEBAIHRlc3Q6IGZhc3RfZGVmYXVsdAog IyBydW4gdGFibGVzcGFjZSB0ZXN0IGF0IHRoZSBlbmQgYmVjYXVzZSBpdCBkcm9wcyB0aGUg dGFibGVzcGFjZSBjcmVhdGVkIGR1cmluZwogIyBzZXR1cCB0aGF0IG90aGVyIHRlc3RzIG1h eSB1c2UuCiB0ZXN0OiB0YWJsZXNwYWNlCisKKyMgLS0tLS0tLS0tLQorIyBDaGVjayB2YWN1 dW0gc3RhdGlzdGljcworIyAtLS0tLS0tLS0tCit0ZXN0OiB2YWN1dW1fdGFibGVzX3N0YXRp c3RpY3MKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uODgyMDhlYTgyY2QKLS0tIC9kZXYvbnVsbAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3Fs CkBAIC0wLDAgKzEsMTYwIEBACistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0 cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBk dXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2li bGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2li bGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMg bm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5z dGFibGUuCistLQorCistLSBjb25kaXRpbyBzaW5lIHF1YSBub24KK1NIT1cgdHJhY2tfY291 bnRzOyAgLS0gbXVzdCBiZSBvbgorLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdl IHdhbnQgdG8gdGVzdCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKKwor CistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRf Zm9yY2VfbmV4dF9mbHVzaCgpOworCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCitTRVQgdmFj dXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsKK1NFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2FnZSA9 IDA7CistLVNFVCBzdGF0c19mZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90OworQ1JFQVRF IFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwg ZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdl bmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0Owor CitTRUxFQ1Qgb2lkIEFTIHJvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zl c3RhdCcgXGdzZXQKKworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0t IEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3 IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuLHR1cGxlc19kZWxl dGVkLHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0 X2dldF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0g J3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgcmVscGFnZXMgQVMgcnAK K0ZST00gcGdfY2xhc3MgYworV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKK1ZB Q1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5V UCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0 YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFRoZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5k ZWQgdmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhhdAorLS0gdmFjdXVtIGZy b3plZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdlc19yZW1vdmVkIHN0YXll ZCB0aGUgc2FtZQorLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQg dXAKK1NFTEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbiA+IDAgQVMgcGFnZXNfZnJvemVu LHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcy06cnAgPSAw IEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQgPiAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNf cmVtb3ZlZCA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1f dGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5E IHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgcGFnZXNfZnJvemVuIEFTIGZwLHR1cGxlc19k ZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLCBwYWdl c19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgdnQsIHBn X2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBj Lm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NF TEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhm cGkgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVz dGF0JyBcZ3NldAorCistLSBMb29rIGludG8gV0FMIHJlY29yZHMgZGVsdGFzLgorU0VMRUNU IHdhbF9yZWNvcmRzID4gMCBBUyBkV1IsIHdhbF9ieXRlcyA+IDAgQVMgZFdCCitGUk9NIHBn X3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnOworCitE RUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0Vf TElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNz YXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gcGFn ZXNfcmVtb3ZlZCBtdXN0IGJlIGluY3JlYXNlZAorU0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNf ZnJvemVuLTpmcCA+IDAgQVMgcGFnZXNfZnJvemVuLHR1cGxlc19kZWxldGVkLTp0ZCA+IDAg QVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA9IDAgQVMgcmVscGFnZXMscGFnZXNf c2Nhbm5lZC06cHMgPiAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIgPiAw IEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyB2dCwg cGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9 IGMub2lkOworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0 ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3ZlZCBB UyBwcgorRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitX SEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQK KworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3Jl Y29yZHMtOmh3ciBBUyBkd3IsIHdhbF9ieXRlcy06aHdiIEFTIGR3Yiwgd2FsX2ZwaS06aGZw aSBBUyBkZnBpCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0tIFdBTCBhZHZhbmNlIHNob3VsZCBiZSBkZXRlY3Rl ZC4KK1NFTEVDVCA6ZHdyID4gMCBBUyBkV1IsIDpkd2IgPiAwIEFTIGRXQjsKKworLS0gU3Rv cmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMg aHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF9nZXRf dmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworSU5TRVJU IElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9z aXplKSBhcyB4OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIFZB Q1VVTSBGVUxMIGRvZXNuJ3QgcmVwb3J0IHRvIHN0YXQgY29sbGVjdG9yLiBTbywgbm8gYW55 IGFkdmFuY2VtZW50cyBvZiBzdGF0aXN0aWNzCistLSBhcmUgZGV0ZWN0ZWQgaGVyZS4KK1ZB Q1VVTSBGVUxMIHZlc3RhdDsKKy0tIEl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2Fs IHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyMiwgd2FsX2J5dGVz LTpod2IgQVMgZHdiMiwgd2FsX2ZwaS06aGZwaSBBUyBkZnBpMgorRlJPTSBwZ19zdGF0X2dl dF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCistLSBX QUwgYW5kIG90aGVyIHN0YXRpc3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVk LgorU0VMRUNUIDpkd3IyPTAgQVMgZFdSLCA6ZGZwaTI9MCBBUyBkRlBJLCA6ZHdiMj0wIEFT IGRXQjsKKworU0VMRUNUIHZ0LnJlbG5hbWUscGFnZXNfZnJvemVuLTpmcCA9IDAgQVMgcGFn ZXNfZnJvemVuLHR1cGxlc19kZWxldGVkLTp0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVs cGFnZXMgLTpycCA8IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPSAwIEFTIHBh Z2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIgPSAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZS T00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHBhZ2Vz X2Zyb3plbiBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFn ZXNfc2Nhbm5lZCBBUyBwcyxwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfZ2V0 X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVz dGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5j ZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVz IEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCitERUxFVEUgRlJPTSB2ZXN0YXQ7 CitUUlVOQ0FURSB2ZXN0YXQ7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9M SU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3Nh cnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBTdG9y ZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxl cyBmcm9tIHRoZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyMywgd2Fs X2J5dGVzLTpod2IgQVMgZHdiMywgd2FsX2ZwaS06aGZwaSBBUyBkZnBpMworRlJPTSBwZ19z dGF0X2dldF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAor CistLVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZHdyMz4wIEFTIGRXUiwg OmRmcGkzPTAgQVMgZEZQSSwgOmR3YjM+MCBBUyBkV0I7CisKKy0tCistLSBOb3csIHRoZSB0 YWJsZSBhbmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHplcm8gbnVtYmVyIG9mIHBhZ2Vz LiBDaGVjayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0YXRpc3RpY3MuCistLSBUaGUg cGFnZXNfZnJvemVuLCBwYWdlc19zY2FubmVkIHZhbHVlcyBzaG91bGRuJ3QgYmUgY2hhbmdl ZAorLS0KK1NFTEVDVCB2dC5yZWxuYW1lLHBhZ2VzX2Zyb3plbi06ZnAgPSAwIEFTIHBhZ2Vz X2Zyb3plbix0dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBh Z2VzIC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdl c19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9N IHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworSU5TRVJUIElOVE8g dmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBh cyB4OworQU5BTFlaRSB2ZXN0YXQ7CisKKy0tIG11c3QgYmUgZW1wdHkKK1NFTEVDVCBwYWdl c19mcm96ZW4sIHBhZ2VzX2FsbF92aXNpYmxlLCByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZf YWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcywgcGdf c3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMucmVsbmFt ZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdf c3RhdF9hbGxfdGFibGVzLnJlbGlkOworCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9V U0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworLS0gYmFja2VuZCBkZWZyZWV6ZWQgcGFnZXMK K1NFTEVDVCBwYWdlc19mcm96ZW4gPiAwIEFTIHBhZ2VzX2Zyb3plbixwYWdlc19hbGxfdmlz aWJsZSA+IDAgQVMgcGFnZXNfYWxsX3Zpc2libGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPSAw IEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA9IDAgQVMg cmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMs IHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLnJl bG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9 IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKK1NFTEVDVCBwYWdlc19mcm96ZW4gQVMgcGYs IHBhZ2VzX2FsbF92aXNpYmxlIEFTIHB2LCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZw LHJldl9hbGxfdmlzaWJsZV9wYWdlcyBBUyBoYXZwCitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1 bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X2dldF92YWN1dW1f dGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxl cy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZCBcZ3NldAorCitVUERBVEUgdmVz dGF0IFNFVCB4ID0geCArIDEwMDE7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FH RV9MSU1JVCAxMjgpIHZlc3RhdDsKKworU0VMRUNUIHBhZ2VzX2Zyb3plbiA+IDpwZiBBUyBw YWdlc19mcm96ZW4scGFnZXNfYWxsX3Zpc2libGUgPiA6cHYgQVMgcGFnZXNfYWxsX3Zpc2li bGUscmV2X2FsbF9mcm96ZW5fcGFnZXMgPiA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdl cyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPiA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFn ZXMKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVz IFdIRVJFIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFu ZCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVz LnJlbGlkOworU0VMRUNUIHBhZ2VzX2Zyb3plbiBBUyBwZiwgcGFnZXNfYWxsX3Zpc2libGUg QVMgcHYsIHJldl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxlX3Bh Z2VzIEFTIGhhdnAKK0ZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyBXSEVSRSBwZ19z dGF0X2dldF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCitWQUNV VU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworLS0g dmFjdXVtIGZyZWV6ZWQgcGFnZXMKK1NFTEVDVCBwYWdlc19mcm96ZW4gPSA6cGYgQVMgcGFn ZXNfZnJvemVuLHBhZ2VzX2FsbF92aXNpYmxlID0gOnB2IEFTIHBhZ2VzX2FsbF92aXNpYmxl LHJldl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMs cmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2Vz CitGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBX SEVSRSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQg cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5y ZWxpZDsKKworU0VMRUNUIG1pbihyZWxpZCkgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFi bGVzKDApIHdoZXJlIHJlbGlkID4gMDsKKworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsK XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCi0tIAoyLjM0LjEKCg== --------------mA7RtUH8OO6khZAM76QJ8BuH Content-Type: text/x-patch; charset=UTF-8; name="v11-0004-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v11-0004-Add-documentation-about-the-system-views-that-are-u"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA0MTM0YzA0N2M2M2YyYjZhY2MzZmUxMTlmN2ZiZDNkNjZjMDg1YmVhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogU3VuLCAyNSBBdWcgMjAyNCAxNzo0Nzo1NSArMDMwMApTdWJq ZWN0OiBbUEFUQ0hdIEFkZCBkb2N1bWVudGF0aW9uIGFib3V0IHRoZSBzeXN0ZW0gdmlld3Mg dGhhdCBhcmUgdXNlZCBpbiB0aGUKIG1hY2hpbmVyeSBvZiB2YWN1dW0gc3RhdGlzdGljcy4K Ci0tLQogZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sICAgICAgICAgICAgICAgIHwg NzQ3ICsrKysrKysrKysrKysrKysrKwogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRh YmxlLXJlYWQub3V0ICAgIHwgICA2ICstCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBl dGFibGUtcmVhZC5zcGVjICAgfCAgIDQgKy0KIDMgZmlsZXMgY2hhbmdlZCwgNzUyIGluc2Vy dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3N5 c3RlbS12aWV3cy5zZ21sIGIvZG9jL3NyYy9zZ21sL3N5c3RlbS12aWV3cy5zZ21sCmluZGV4 IDYxZDI4ZTcwMWYyLi5iNzRjNTNiYjAwMCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3N5 c3RlbS12aWV3cy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbApA QCAtNTA2NCw0ICs1MDY0LDc1MSBAQCBTRUxFQ1QgKiBGUk9NIHBnX2xvY2tzIHBsIExFRlQg Sk9JTiBwZ19wcmVwYXJlZF94YWN0cyBwcHgKICAgPC90YWJsZT4KICA8L3NlY3QxPgogCis8 c2VjdDEgaWQ9InZpZXctcGctc3RhdC1nZXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgPHRpdGxl PjxzdHJ1Y3RuYW1lPnBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT48 L3RpdGxlPgorCisgIDxpbmRleHRlcm0gem9uZT0idmlldy1wZy1zdGF0LWdldC12YWN1dW0t ZGF0YWJhc2UiPgorICAgPHByaW1hcnk+cGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlPC9w cmltYXJ5PgorICA8L2luZGV4dGVybT4KKworICA8cGFyYT4KKyAgIFRoZSB2aWV3IDxzdHJ1 Y3RuYW1lPnBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT4gd2lsbCBj b250YWluCisgICBvbmUgcm93IGZvciBlYWNoIGRhdGFiYXNlIGluIHRoZSBjdXJyZW50IGNs dXN0ZXIsIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dAorICAgdmFjdXVtaW5nIHRoYXQgZGF0 YWJhc2UuCisgIDwvcGFyYT4KKworICA8dGFibGU+CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+ cGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1lPiBDb2x1bW5zPC90aXRs ZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFkPgorICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5PgorICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGJpZDwvc3RydWN0Zmll bGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgIE9JRCBvZiBhIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9y b3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+Cisg ICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNl IGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBv biB0aGlzIGRhdGFiYXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRv dGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgZGF0YWJhc2Ug YmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAgICAgIGJ1ZmZlciBjYWNoZSBieSB2YWN1 dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2RpcnRpZWQ8L3N0 cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBh cmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3MgZGlydGllZCBieSB2YWN1 dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3dyaXR0ZW48L3N0 cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBh cmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9ja3Mgd3JpdHRlbiBieSB2YWN1 dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfcmVjb3Jkczwvc3RydWN0Zmll bGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCByZWNvcmRzIGdlbmVyYXRlZCBieSB2YWN1dW0g b3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAgICAg PC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50 cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmlu aXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfZnBpPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBU b3RhbCBudW1iZXIgb2YgV0FMIGZ1bGwgcGFnZSBpbWFnZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1 bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGRhdGFiYXNlCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9ieXRlczwvc3RydWN0ZmllbGQ+ IDx0eXBlPm51bWVyaWM8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVG90YWwgYW1vdW50IG9mIFdBTCBieXRlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgZGF0YWJhc2UKKyAgICAgIDwv cGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+YmxrX3JlYWRfdGltZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVy YXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4 PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRpbWUgc3Bl bnQgd3JpdGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9y bWVkIG9uCisgICAgICAgIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHhy ZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAorICAgICAg ICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ ZGVsYXlfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHNsZWVwaW5nIGluIGEg dmFjdXVtIGRlbGF5IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgor ICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMgKHNlZSA8eHJlZiBsaW5r ZW5kPSJydW50aW1lLWNvbmZpZy1yZXNvdXJjZS12YWN1dW0tY29zdCIvPgorICAgICAgICBm b3IgZGV0YWlscykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c3lzdGVt X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgU3lzdGVtIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0 aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2df dGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8 c3RydWN0ZmllbGQ+dXNlcl90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFVzZXIgQ1BVIHRpbWUg b2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFRvdGFsIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgZGF0YWJhc2UsIGluIG1pbGxpc2Vjb25k cworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5pbnRlcnJ1cHRzPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+aW50NDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9ybWVk IG9uIHRoaXMgZGF0YWJhc2UKKyAgICAgICAgd2VyZSBpbnRlcnJ1cHRlZCBvbiBhbnkgZXJy b3JzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90Ym9keT4K KyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisKKyAgPHNlY3QxIGlkPSJ2 aWV3LXBnLXN0YXQtZ2V0LXZhY3V1bS1pbmRleGVzIj4KKyAgPHRpdGxlPjxzdHJ1Y3RuYW1l PnBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAg PGluZGV4dGVybSB6b25lPSJ2aWV3LXBnLXN0YXQtZ2V0LXZhY3V1bS1pbmRleGVzIj4KKyAg IDxwcmltYXJ5PnBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzPC9wcmltYXJ5PgorICA8L2lu ZGV4dGVybT4KKworICA8cGFyYT4KKyAgIFRoZSB2aWV3IDxzdHJ1Y3RuYW1lPnBnX3N0YXRf Z2V0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSBy b3cgZm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBU T0FTVAorICAgdGFibGUgaW5kZXhlcyksIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1 dW1pbmcgdGhhdCBzcGVjaWZpYyBpbmRleC4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAg IDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X2dldF92YWN1dW1faW5kZXhlczwvc3RydWN0 bmFtZT4gQ29sdW1uczwvdGl0bGU+CisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0aGVh ZD4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5cGUK KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIERlc2NyaXB0aW9uCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90aGVhZD4KKworICAgIDx0 Ym9keT4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZp ZWxkPnJlbGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+b2lkPC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgT0lEIG9mIGFuIGluZGV4CisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPnNjaGVtYTwvc3RydWN0ZmllbGQ+IDx0eXBlPm5hbWU8 L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTmFtZSBvZiB0 aGUgc2NoZW1hIHRoaXMgaW5kZXggaXMgaW4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+cmVsbmFtZTwvc3RydWN0ZmllbGQ+IDx0eXBlPm5hbWU8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBOYW1lIG9mIHRoaXMgaW5kZXgKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAg PGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9k ZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19yZWFkPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHJlYWQgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IE51bWJlciBvZiB0aW1lcyBkYXRhYmFzZSBibG9ja3Mgd2VyZSBmb3VuZCBpbiB0aGUKKyAg ICAgICAgYnVmZmVyIGNhY2hlIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZv cm1lZCBvbiB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxk PnRvdGFsX2Jsa3NfZGlydGllZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+Cisg ICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNl IGJsb2NrcyBkaXJ0aWVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1l ZCBvbiB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRv dGFsX2Jsa3Nfd3JpdHRlbjwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNlIGJs b2NrcyB3cml0dGVuIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBv biB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnJlbF9i bGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBibG9ja3MgdmFjdXVtIG9wZXJh dGlvbnMgcmVhZCBmcm9tIHRoaXMKKyAgICAgICAgaW5kZXgKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50 ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIg b2YgdGltZXMgYmxvY2tzIG9mIHRoaXMgaW5kZXggd2VyZSBhbHJlYWR5IGZvdW5kCisgICAg ICAgIGluIHRoZSBidWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9wZXJhdGlvbnMsIHNvIHRoYXQg YSByZWFkIHdhcyBub3QgbmVjZXNzYXJ5CisgICAgICAgICh0aGlzIG9ubHkgaW5jbHVkZXMg aGl0cyBpbiB0aGUKKyAgICAgICAgcHJvamVjdDsgYnVmZmVyIGNhY2hlLCBub3QgdGhlIG9w ZXJhdGluZyBzeXN0ZW0ncyBmaWxlIHN5c3RlbSBjYWNoZSkKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cGFnZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9y bWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ dHVwbGVzX2RlbGV0ZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkZWFkIHR1cGxlcyB2 YWN1dW0gb3BlcmF0aW9ucyBkZWxldGVkIGZyb20gdGhpcyBpbmRleAorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfcmVjb3Jkczwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVG90 YWwgbnVtYmVyIG9mIFdBTCByZWNvcmRzIGdlbmVyYXRlZCBieSB2YWN1dW0gb3BlcmF0aW9u cworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD53YWxfZnBpPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1iZXIg b2YgV0FMIGZ1bGwgcGFnZSBpbWFnZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25z CisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPndhbF9ieXRlczwvc3RydWN0ZmllbGQ+IDx0eXBlPm51bWVyaWM8 L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVG90YWwgYW1v dW50IG9mIFdBTCBieXRlcyBnZW5lcmF0ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAg ICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+YmxrX3JlYWRfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCByZWFk aW5nIGRhdGFiYXNlIGJsb2NrcyBieSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24K KyAgICAgICAgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzIChpZiA8eHJlZiBsaW5rZW5k PSJndWMtdHJhY2staW8tdGltaW5nIi8+IGlzIGVuYWJsZWQsCisgICAgICAgIG90aGVyd2lz ZSB6ZXJvKQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfd3JpdGVf dGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCB3cml0aW5nIGRhdGFiYXNlIGJsb2Nr cyBieSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBpbmRl eCwgaW4gbWlsbGlzZWNvbmRzIChpZiA8eHJlZiBsaW5rZW5kPSJndWMtdHJhY2staW8tdGlt aW5nIi8+IGlzIGVuYWJsZWQsCisgICAgICAgIG90aGVyd2lzZSB6ZXJvKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5kZWxheV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFRpbWUgc3BlbnQgc2xlZXBpbmcgaW4gYSB2YWN1dW0gZGVsYXkgcG9pbnQgYnkgdmFjdXVt IG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgaW5kZXgsIGluIG1pbGxp c2Vjb25kcyAoc2VlIDx4cmVmIGxpbmtlbmQ9InJ1bnRpbWUtY29uZmlnLXJlc291cmNlLXZh Y3V1bS1jb3N0Ii8+CisgICAgICAgIGZvciBkZXRhaWxzKQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD5zeXN0ZW1fdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0 ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBTeXN0ZW0g Q1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMgaW5kZXgsIGluIG1pbGxpc2Vjb25kcworICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD51c2VyX3RpbWU8L3N0cnVjdGZpZWxk PiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVXNlciBDUFUgdGltZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRleCwgaW4gbWlsbGlz ZWNvbmRzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJv dz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xl PSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX3RpbWU8 L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICAgVG90YWwgdGltZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRleCwg aW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmlu dGVycnVwdHM8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3Bh cmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIHZhY3V1bSBvcGVy YXRpb25zIHBlcmZvcm1lZCBvbiB0aGlzIGluZGV4CisgICAgICAgIHdlcmUgaW50ZXJydXB0 ZWQgb24gYW55IGVycm9ycworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor ICAgIDwvdGJvZHk+CisgICA8L3Rncm91cD4KKyAgPC90YWJsZT4KKyA8L3NlY3QxPgorCisg PHNlY3QxIGlkPSJ2aWV3LXBnLXN0YXQtZ2V0LXZhY3V1bS10YWJsZXMiPgorICA8dGl0bGU+ PHN0cnVjdG5hbWU+cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlczwvc3RydWN0bmFtZT48L3Rp dGxlPgorCisgIDxpbmRleHRlcm0gem9uZT0idmlldy1wZy1zdGF0LWdldC12YWN1dW0tdGFi bGVzIj4KKyAgIDxwcmltYXJ5PnBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXM8L3ByaW1hcnk+ CisgIDwvaW5kZXh0ZXJtPgorCisgIDxwYXJhPgorICAgVGhlIHZpZXcgPHN0cnVjdG5hbWU+ cGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlczwvc3RydWN0bmFtZT4gd2lsbCBjb250YWluCisg ICBvbmUgcm93IGZvciBlYWNoIHRhYmxlIGluIHRoZSBjdXJyZW50IGRhdGFiYXNlIChpbmNs dWRpbmcgVE9BU1QKKyAgIHRhYmxlcyksIHNob3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1 dW1pbmcgdGhhdCBzcGVjaWZpYyB0YWJsZS4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAg IDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X2dldF92YWN1dW1fdGFibGVzPC9zdHJ1Y3Ru 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+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBi bG9ja3MgZGlydGllZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQg b24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisg ICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3Rh bF9ibGtzX3dyaXR0ZW48L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBibG9j a3Mgd3JpdHRlbiBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxr c19yZWFkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4K KyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgYmxvY2tzIHZhY3V1bSBvcGVyYXRp b25zIHJlYWQgZnJvbSB0aGlzCisgICAgICAgIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPnJlbF9ibGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8 L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9m IHRpbWVzIGJsb2NrcyBvZiB0aGlzIHRhYmxlIHdlcmUgYWxyZWFkeSBmb3VuZAorICAgICAg ICBpbiB0aGUgYnVmZmVyIGNhY2hlIGJ5IHZhY3V1bSBvcGVyYXRpb25zLCBzbyB0aGF0IGEg cmVhZCB3YXMgbm90IG5lY2Vzc2FyeQorICAgICAgICAodGhpcyBvbmx5IGluY2x1ZGVzIGhp dHMgaW4gdGhlCisgICAgICAgIHByb2plY3Q7IGJ1ZmZlciBjYWNoZSwgbm90IHRoZSBvcGVy YXRpbmcgc3lzdGVtJ3MgZmlsZSBzeXN0ZW0gY2FjaGUpCisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPnBhZ2VzX3NjYW5uZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4 PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBv ZiBwYWdlcyBleGFtaW5lZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3Jt ZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5w YWdlc19yZW1vdmVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFnZXMgcmVtb3ZlZCBm cm9tIHRoZSBwaHlzaWNhbCBzdG9yYWdlIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAg IHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnBhZ2VzX2Zyb3plbjwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+Cisg ICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIHZh Y3V1bSBvcGVyYXRpb25zIG1hcmtlZCBwYWdlcyBvZiB0aGlzIHRhYmxlCisgICAgICAgIGFz IGFsbC1mcm96ZW4gaW4gdGhlIHZpc2liaWxpdHkgbWFwCisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAg ICAgPHN0cnVjdGZpZWxkPnBhZ2VzX2FsbF92aXNpYmxlPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1i ZXIgb2YgdGltZXMgdmFjdXVtIG9wZXJhdGlvbnMgbWFya2VkIHBhZ2VzIG9mIHRoaXMgdGFi bGUKKyAgICAgICAgYXMgYWxsLXZpc2libGUgaW4gdGhlIHZpc2liaWxpdHkgbWFwCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnR1cGxlc19kZWxldGVkPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgICBOdW1iZXIgb2YgZGVhZCB0dXBsZXMgdmFjdXVtIG9wZXJhdGlvbnMgZGVsZXRl ZCBmcm9tIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ dHVwbGVzX2Zyb3plbjwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8 L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHR1cGxlcyBvZiB0aGlz IHRhYmxlIHRoYXQgdmFjdXVtIG9wZXJhdGlvbnMgbWFya2VkIGFzCisgICAgICAgIGZyb3pl bgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5kZWFkX3R1cGxlczwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGxl ZnQgaW4gdGhpcyB0YWJsZSBkdWUKKyAgICAgICAgdG8gdGhlaXIgdmlzaWJpbGl0eSBpbiB0 cmFuc2FjdGlvbnMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW5kZXhf dmFjdXVtX2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgaW5kZXhlcyBv biB0aGlzIHRhYmxlIHdlcmUgdmFjdXVtZWQKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+cmV2X2FsbF9mcm96ZW5fcGFnZXM8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4 PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBv ZiB0aW1lcyB0aGUgYWxsLWZyb3plbiBtYXJrIGluIHRoZSB2aXNpYmlsaXR5IG1hcAorICAg ICAgICB3YXMgcmVtb3ZlZCBmb3IgcGFnZXMgb2YgdGhpcyB0YWJsZQorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZXZfYWxsX3Zpc2libGVfcGFnZXM8L3N0cnVjdGZp ZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIE51bWJlciBvZiB0aW1lcyB0aGUgYWxsLXZpc2libGUgbWFyayBpbiB0aGUgdmlz aWJpbGl0eSBtYXAKKyAgICAgICAgd2FzIHJlbW92ZWQgZm9yIHBhZ2VzIG9mIHRoaXMgdGFi bGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8L3N0 cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBh cmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0ZWQgYnkg dmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAg PGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9k ZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAg ICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVyYXRlZCBieSB2 YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8L3N0cnVjdGZpZWxk PiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1bSBv cGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IFRpbWUgc3BlbnQgcmVhZGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlv bnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcyAo aWYgPHhyZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAor ICAgICAgICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8 L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVf ZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0 ZmllbGQ+YmxrX3dyaXRlX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRpbWUgc3BlbnQgd3JpdGlu ZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9uCisg ICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHhyZWYgbGlua2VuZD0i Z3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAorICAgICAgICBvdGhlcndpc2Ug emVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGVsYXlfdGltZTwv c3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHNsZWVwaW5nIGluIGEgdmFjdXVtIGRlbGF5 IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlz IHRhYmxlLCBpbiBtaWxsaXNlY29uZHMgKHNlZSA8eHJlZiBsaW5rZW5kPSJydW50aW1lLWNv bmZpZy1yZXNvdXJjZS12YWN1dW0tY29zdCIvPgorICAgICAgICBmb3IgZGV0YWlscykKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAg PGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9k ZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c3lzdGVtX3RpbWU8L3N0cnVjdGZp ZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4K KyAgICAgICAgU3lzdGVtIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBpbiBt aWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dXNlcl90 aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgor ICAgICAgPHBhcmE+CisgICAgICAgIFVzZXIgQ1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRoaXMg dGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD50b3RhbF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIHRpbWUgb2YgdmFjdXVt aW5nIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+ CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxv Z190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAg IDxzdHJ1Y3RmaWVsZD5pbnRlcnJ1cHRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0 aW1lcyB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAgICAg ICB3ZXJlIGludGVycnVwdGVkIG9uIGFueSBlcnJvcnMKKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5PgorICAgPC90Z3JvdXA+CisgIDwvdGFibGU+ CisgIDxwYXJhPkNvbHVtbnMgPHN0cnVjdGZpZWxkPnRvdGFsXyo8L3N0cnVjdGZpZWxkPiwg PHN0cnVjdGZpZWxkPndhbF8qPC9zdHJ1Y3RmaWVsZD4KKyAgICBhbmQgPHN0cnVjdGZpZWxk PmJsa18qPC9zdHJ1Y3RmaWVsZD4gaW5jbHVkZSBkYXRhIG9uIHZhY3V1bWluZyBpbmRleGVz IG9uIHRoaXMgdGFibGUsIHdoaWxlIGNvbHVtbnMKKyAgICA8c3RydWN0ZmllbGQ+c3lzdGVt X3RpbWU8L3N0cnVjdGZpZWxkPiBhbmQgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0 ZmllbGQ+IG9ubHkgaW5jbHVkZSBkYXRhCisgICAgb24gdmFjdXVtaW5nIHRoZSBoZWFwLjwv cGFyYT4KKyA8L3NlY3QxPgorCiA8L2NoYXB0ZXI+CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9p c29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5v dXQgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1y ZXBldGFibGUtcmVhZC5vdXQKaW5kZXggOTNmZTE1YzAxZjkuLmE3Nzk0MDIzNTA4IDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1p bi1yZXBldGFibGUtcmVhZC5vdXQKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVk L3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CkBAIC02LDcgKzYsNyBA QCBzdGVwIHMyX2luc2VydDogSU5TRVJUIElOVE8gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRp b24oaWQsIGl2YWwpIFNFTEVDVCBpdmFsLCBpdgogc3RlcCBzMl9wcmludF92YWN1dW1fc3Rh dHNfdGFibGU6IAogICAgIFNFTEVDVAogICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxl dGVkLCB2dC5kZWFkX3R1cGxlcywgdnQudHVwbGVzX2Zyb3plbgotICAgIEZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgRlJPTSBwZ19zdGF0X2dldF92 YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCiAgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0 ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CiAKIHJl bG5hbWV8dHVwbGVzX2RlbGV0ZWR8ZGVhZF90dXBsZXN8dHVwbGVzX2Zyb3plbgpAQCAtMjgs NyArMjgsNyBAQCBzdGVwIHMyX3ZhY3V1bTogVkFDVVVNIHRlc3RfdmFjdXVtX3N0YXRfaXNv bGF0aW9uOwogc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6IAogICAgIFNFTEVD VAogICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxldGVkLCB2dC5kZWFkX3R1cGxlcywg dnQudHVwbGVzX2Zyb3plbgotICAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBw Z19jbGFzcyBjCisgICAgRlJPTSBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzIHZ0LCBwZ19j bGFzcyBjCiAgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xh dGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CiAKIHJlbG5hbWUgICAgICAgICAgICAgICAg ICAgfHR1cGxlc19kZWxldGVkfGRlYWRfdHVwbGVzfHR1cGxlc19mcm96ZW4KQEAgLTQyLDcg KzQyLDcgQEAgc3RlcCBzMl92YWN1dW06IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xh dGlvbjsKIHN0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOiAKICAgICBTRUxFQ1QK ICAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQuZGVhZF90dXBsZXMsIHZ0 LnR1cGxlc19mcm96ZW4KLSAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdf Y2xhc3MgYworICAgIEZST00gcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xh c3MgYwogICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9pc29sYXRp b24nIEFORCB2dC5yZWxpZCA9IGMub2lkOwogCiByZWxuYW1lICAgICAgICAgICAgICAgICAg IHx0dXBsZXNfZGVsZXRlZHxkZWFkX3R1cGxlc3x0dXBsZXNfZnJvemVuCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFi bGUtcmVhZC5zcGVjIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRp bmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYwppbmRleCA1ZmFjYjJjODYyYy4uNmUzM2RmNDY0 ODAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5k aW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL3Nw ZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYwpAQCAtMSw0ICsx LDQgQEAKLSMgVGVzdCBmb3IgY2hlY2tpbmcgZGVhZF90dXBsZXMsIHR1cGxlc19kZWxldGVk IGFuZCBmcm96ZW4gdHVwbGVzIGluIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy4KKyMgVGVzdCBm b3IgY2hlY2tpbmcgZGVhZF90dXBsZXMsIHR1cGxlc19kZWxldGVkIGFuZCBmcm96ZW4gdHVw bGVzIGluIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMuCiAjIERlYWRfdHVwbGVzIHZhbHVl cyBhcmUgY291bnRlZCB3aGVuIHZhY3V1bSBjYW5ub3QgY2xlYW4gdXAgdW51c2VkIHR1cGxl cyB3aGlsZSBsb2NrIGlzIHVzaW5nIGFub3RoZXIgdHJhbnNhY3Rpb24uCiAjIERlYWRfdHVw bGVzIGFyZW4ndCBpbmNyZWFzZWQgYWZ0ZXIgcmVsZWFzaW5nIGxvY2sgY29tcGFyZWQgd2l0 aCB0dXBsZXNfZGVsZXRlZCwgd2hpY2ggaW5jcmVhc2VkCiAjIGJ5IHRoZSB2YWx1ZSBvZiB0 aGUgY2xlYXJlZCB0dXBsZXMgdGhhdCB0aGUgdmFjdXVtIG1hbmFnZWQgdG8gY2xlYXIuCkBA IC0zMyw3ICszMyw3IEBAIHN0ZXAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlCiB7CiAg ICAgU0VMRUNUCiAgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LmRlYWRf dHVwbGVzLCB2dC50dXBsZXNfZnJvemVuCi0gICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBGUk9NIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMg dnQsIHBnX2NsYXNzIGMKICAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKIH0KIAotLSAKMi4zNC4xCgo= --------------mA7RtUH8OO6khZAM76QJ8BuH--