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 1tniCi-000uWL-27 for pgsql-hackers@arkaria.postgresql.org; Thu, 27 Feb 2025 18:01:50 +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 1tniBk-001dYt-20 for pgsql-hackers@arkaria.postgresql.org; Thu, 27 Feb 2025 18:00:46 +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 1tniBi-001dSQ-Ro for pgsql-hackers@lists.postgresql.org; Thu, 27 Feb 2025 18:00:46 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tniBX-00016g-0M for pgsql-hackers@postgresql.org; Thu, 27 Feb 2025 18:00:43 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1740679231; bh=Z7WXbCDJD4K5CdzcB/Ig0WP0G56kzaeeUGiPX1DQbu0=; h=Message-ID:Date:User-Agent:Subject:From:To:Cc:References: In-Reply-To:From; b=mdutes5m3LTeGOza8P0UuVfnaPHiVxVP2XO6s0zNnZO6xMXr4o6hxWDow27uWaicu Zjx3nQhAE5u0Si+6CeteyuGdrF2sSEFKbWdPol/kao3nQAjklaTuDfXvhZXeZ4WHXi aLHg/mpn+RnwoaR5vJ79/6qx77EVsk6ncjz8aMR2QeYkMQBy9SQpq92g6KeyTChk8c JdO1PEXxWXb4gxl0wuWvJ8LJWXTkofcwpAFR2sxsbtu29x100a4RhefnLGjdvBDFVI lEub6e4nuKiVr/A/GeUpKJHzr4mudX7hBY/ycw1mp9w03MtGPVVaVOWfx7/C7Bmji4 DJJlES2Oq7n0g== Received: from [172.30.48.130] (unknown [172.30.48.130]) (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 5C1CE602FF; Thu, 27 Feb 2025 21:00:30 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------o2d5R9Kv8VVcO99oQFm6lvfh" Message-ID: <513f0188-b093-4cc8-98cf-4c324570d525@postgrespro.ru> Date: Thu, 27 Feb 2025 21:00:29 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics From: Alena Rybakina To: pgsql-hackers Cc: Alexander Korotkov , Jim Nasby , Ilia Evdokimov , Kirill Reshke , Andrei Zubkov , Masahiko Sawada , Melanie Plageman , jian he , a.lepikhov@postgrespro.ru, Sami Imseih References: <0B6CBF4C-CC2A-4200-9126-CE3A390D938B@upgrade.com> <6732acf8ce0f31025b535ae1a64568750924a887.camel@moonset.ru> <5AA8FFD5-6DE2-4A31-8E00-AE98F738F5D1@upgrade.com> <85b963fe-5977-43aa-9241-75b862abcc69@postgrespro.ru> <9C7A167C-DCDE-4A17-9ABE-6276723FEC50@upgrade.com> <2d493cf9-9ba7-4cc1-a3f2-67afd7c163ee@postgrespro.ru> <30d54302-9e9c-4e04-819e-a13b679cdcc8@postgrespro.ru> <86f76aa5-1ab5-4e2e-9b15-405051852a2a@postgrespro.ru> <1e81a0a1-a63b-48fb-905a-d6495f89ab73@postgrespro.ru> <0b4eefc7-4c38-4caa-b2ca-a4c75dd7dd12@postgrespro.ru> <333c2306-c401-4959-9f0c-a44c670a11a9@postgrespro.ru> Content-Language: en-US In-Reply-To: <333c2306-c401-4959-9f0c-a44c670a11a9@postgrespro.ru> X-KSMG-AntiPhishing: NotDetected X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2025/02/27 14:12:00 #27481496 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. --------------o2d5R9Kv8VVcO99oQFm6lvfh Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi! On 17.02.2025 17:46, Alena Rybakina wrote: > On 04.02.2025 18:22, Alena Rybakina wrote: >> Hi! Thank you for your review! >> >> On 02.02.2025 23:43, Alexander Korotkov wrote: >>> On Mon, Jan 13, 2025 at 3:26 PM Alena Rybakina >>> wrote: >>>> I noticed that the cfbot is bad, the reason seems to be related to >>>> the lack of a parameter in >>>> src/backend/utils/misc/postgresql.conf.sample. I added it, it >>>> should help. >>> The patch doesn't apply cleanly.  Please rebase. >> I rebased them. > The patch needed a rebase again. There is nothing new since version > 18, only a rebase. The patch needed a new rebase. Sorry, but due to feeling unwell I picked up a patch from another thread and squashed the patch for vacuum statistics for indexes and heaps in the previous version. Now I fixed everything together with the rebase. -- Regards, Alena Rybakina Postgres Professional --------------o2d5R9Kv8VVcO99oQFm6lvfh Content-Type: text/x-patch; charset=UTF-8; name="v20-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v20-0001-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA0YTg3ZGI1N2I3M2U0N2Y0MTA1NmMwZTU5Y2VmNWQ1ODYyYzU2ZTk5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAyNyBGZWIgMjAyNSAyMDowMTozOCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMS80XSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uIAogdGFibGUgcmVsYXRpb25zLgoKVmFsdWUgb2YgdG90YWxf Ymxrc19oaXQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19kaXJ0aWVkIGFyZSBudW1i ZXIgb2YKaGl0dGVkLCBtaXNzZWQgYW5kIGRpcnRpZWQgcGFnZXMgaW4gc2hhcmVkIGJ1ZmZl cnMgZHVyaW5nIGEgdmFjdXVtIG9wZXJhdGlvbgpyZXNwZWN0aXZlbHkuCgp0b3RhbF9ibGtz X2RpcnRpZWQgbWVhbnMgJ2RpcnRpZWQgb25seSBieSB0aGlzIGFjdGlvbicuIFNvLCBpZiB0 aGlzIHBhZ2Ugd2FzCmRpcnR5IGJlZm9yZSB0aGUgdmFjdXVtIG9wZXJhdGlvbiwgaXQgZG9l c24ndCBjb3VudCB0aGlzIHBhZ2UgYXMgJ2RpcnRpZWQnLgoKVGhlIHR1cGxlc19kZWxldGVk IHBhcmFtZXRlciBpcyB0aGUgbnVtYmVyIG9mIHR1cGxlcyBjbGVhbmVkIHVwIGJ5IHRoZSB2 YWN1dW0Kb3BlcmF0aW9uLgoKVGhlIGRlbGF5X3RpbWUgdmFsdWUgbWVhbnMgdG90YWwgdmFj dXVtIHNsZWVwIHRpbWUgaW4gdmFjdXVtIGRlbGF5IHBvaW50LgpUaGUgcGFnZXNfcmVtb3Zl ZCB2YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIHBhZ2VzIGJ5IHdoaWNoIHRoZSBwaHlzaWNhbCBk YXRhCnN0b3JhZ2Ugb2YgdGhlIHJlbGF0aW9uIHdhcyByZWR1Y2VkLgpUaGUgdmFsdWUgb2Yg cGFnZXNfZGVsZXRlZCBwYXJhbWV0ZXIgaXMgdGhlIG51bWJlciBvZiBmcmVlZCBwYWdlcyBp biB0aGUgdGFibGUKKGZpbGUgc2l6ZSBtYXkgbm90IGhhdmUgY2hhbmdlZCkuCgpUcmFja2lu ZyBvZiBJTyBkdXJpbmcgYW4gKGF1dG8pdmFjdXVtIG9wZXJhdGlvbi4KSW50cm9kdWNlZCB2 YXJpYWJsZXMgYmxrX3JlYWRfdGltZSBhbmQgYmxrX3dyaXRlX3RpbWUgdHJhY2tzIG9ubHkg YWNjZXNzIHRvCmJ1ZmZlciBwYWdlcyBhbmQgZmx1c2hpbmcgdGhlbSB0byBkaXNrLiBSZWFk aW5nIG9wZXJhdGlvbiBpcyB0cml2aWFsLCBidXQKd3JpdGluZyBtZWFzdXJlbWVudCB0ZWNo bmlxdWUgaXMgbm90IG9idmlvdXMuClNvLCBkdXJpbmcgYSB2YWN1dW0gd3JpdGluZyB0aW1l IGNhbiBiZSB6ZXJvIGluY3JlbWVudGVkIGJlY2F1c2Ugbm8gYW55IGZsdXNoaW5nCm9wZXJh dGlvbnMgd2VyZSBwZXJmb3JtZWQuCgpTeXN0ZW0gdGltZSBhbmQgdXNlciB0aW1lIGFyZSBw YXJhbWV0ZXJzIHRoYXQgZGVzY3JpYmVzIGhvdyBtdWNoIHRpbWUgYSB2YWN1dW0Kb3BlcmF0 aW9uIGhhcyBzcGVudCBpbiBleGVjdXRpbmcgb2YgY29kZSBpbiB1c2VyIHNwYWNlIGFuZCBr ZXJuZWwgc3BhY2UKYWNjb3JkaW5nbHkuIEFsc28sIGFjY3VtdWxhdGUgdG90YWwgdGltZSBv ZiBhIHZhY3V1bSB0aGF0IGlzIGEgZGlmZiBiZXR3ZWVuCnRpbWVzdGFtcHMgaW4gc3RhcnQg YW5kIGZpbmlzaCBwb2ludHMgaW4gdGhlIHZhY3V1bSBjb2RlLgpSZW1lbWJlciBhYm91dCBp ZGxlIHRpbWUsIHdoZW4gdmFjdXVtIHdhaXRlZCBmb3IgSU8gYW5kIGxvY2tzLCBzbyB0b3Rh bCB0aW1lCmlzbid0IGVxdWFsIGEgc3VtIG9mIHVzZXIgYW5kIHN5c3RlbSB0aW1lLCBidXQg bm8gbGVzcy4KCnBhZ2VzX2Zyb3plbiBpcyBhIG51bWJlciBvZiBwYWdlcyB0aGF0IGFyZSBt YXJrZWQgYXMgZnJvemVuIGluIHZtIGR1cmluZyB2YWN1dW0uClRoaXMgcGFyYW1ldGVyIGlz IGluY3JlbWVudGVkIGlmIHBhZ2UgaXMgbWFya2VkIGFzIGFsbC1mcm96ZW4uCnBhZ2VzX2Fs bF92aXNpYmxlIGlzIGEgbnVtYmVyIG9mIHBhZ2VzIHRoYXQgYXJlIG1hcmtlZCBhcyBhbGwt dmlzaWJsZSBpbiB2bSBkdXJpbmcKdmFjdXVtLgoKd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3Vu dCBpcyBhIG51bWJlciBvZiB0aW1lcyB3aGVuIHRoZSB2YWN1dW0gc3RhcnRzIHVyZ2VudCBj bGVhbnVwCnRvIHByZXZlbnQgd3JhcGFyb3VuZCBwcm9ibGVtIHdoaWNoIGlzIGNyaXRpY2Fs IGZvciB0aGUgZGF0YWJhc2UuCgpBdXRob3JzOiBBbGVuYSBSeWJha2luYSA8bGVuYS5yaWJh Y2tpbmFAeWFuZGV4LnJ1PiwKCSBBbmRyZWkgTGVwaWtob3YgPGEubGVwaWtob3ZAcG9zdGdy ZXNwcm8ucnU+LAoJIEFuZHJlaSBadWJrb3YgPGEuenVia292QHBvc3RncmVzcHJvLnJ1PgpS ZXZpZXdlZC1ieTogRGlsaXAgS3VtYXIgPGRpbGlwYmFsYXV0QGdtYWlsLmNvbT4sIE1hc2Fo aWtvIFNhd2FkYSA8c2F3YWRhLm1zaGtAZ21haWwuY29tPiwKCSAgICAgSWxpYSBFdmRva2lt b3YgPGlseWEuZXZkb2tpbW92QHRhbnRvcmxhYnMuY29tPiwgamlhbiBoZSA8amlhbi51bml2 ZXJzYWxpdHlAZ21haWwuY29tPiwKCSAgICAgS2lyaWxsIFJlc2hrZSA8cmVzaGtla2lyaWxs QGdtYWlsLmNvbT4sIEFsZXhhbmRlciBLb3JvdGtvdiA8YWVrb3JvdGtvdkBnbWFpbC5jb20+ LAoJICAgICBKaW0gTmFzYnkgPGpuYXNieUB1cGdyYWRlLmNvbT4sIFNhbWkgSW1zZWloIDxz YW1pbXNlaWhAZ21haWwuY29tPgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1 bWxhenkuYyAgICAgICAgICB8IDE1MCArKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL2FjY2Vz cy9oZWFwL3Zpc2liaWxpdHltYXAuYyAgICAgICB8ICAxMCArCiBzcmMvYmFja2VuZC9jYXRh bG9nL3N5c3RlbV92aWV3cy5zcWwgICAgICAgICAgfCAgNTIgKysrLQogc3JjL2JhY2tlbmQv Y29tbWFuZHMvdmFjdXVtLmMgICAgICAgICAgICAgICAgIHwgICA0ICsKIHNyYy9iYWNrZW5k L2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgICAgICAgICB8ICAgMSArCiBzcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAgMTIgKy0KIHNyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICA0NiArKystCiBzcmMv YmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAgfCAxNDcgKysrKysr KysrKysrCiBzcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMgICAgICAgICAgICAgICAg fCAgMTMgKwogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMgICAgICAgICAg IHwgICA5ICsKIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBs ZSB8ICAgMSArCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAg ICAgfCAgMTggKysKIHNyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oICAgICAgICAgICAg ICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgODAgKysrKystCiBzcmMvaW5jbHVkZS91dGlscy9lbG9nLmggICAgICAgICAg ICAgICAgICAgICAgfCAgIDEgKwogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxl LXJlYWQub3V0ICAgIHwgIDUzICsrKysKIHNyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25f c2NoZWR1bGUgICAgICAgICB8ICAgMSArCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBl dGFibGUtcmVhZC5zcGVjICAgfCAgNTMgKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9ydWxlcy5vdXQgICAgICAgICAgIHwgIDQ0ICsrKy0KIC4uLi9leHBlY3RlZC92YWN1dW1f dGFibGVzX3N0YXRpc3RpY3Mub3V0ICAgICB8IDIyNyArKysrKysrKysrKysrKysrKysKIHNy Yy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgNSArCiAu Li4vcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbCAgfCAxODMgKysr KysrKysrKysrKysKIDIyIGZpbGVzIGNoYW5nZWQsIDEwOTUgaW5zZXJ0aW9ucygrKSwgMTYg ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvaXNvbGF0aW9uL2V4 cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0CiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmct aW4tcmVwZXRhYmxlLXJlYWQuc3BlYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGlj cy5zcWwKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5 LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5kZXggMWFmMThh NzhhMmIuLmZiZTdjYzI1NDU4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVh cC92YWN1dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6 eS5jCkBAIC0yOTAsNiArMjkwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCS8q IEVycm9yIHJlcG9ydGluZyBzdGF0ZSAqLwogCWNoYXIJICAgKmRibmFtZTsKIAljaGFyCSAg ICpyZWxuYW1lc3BhY2U7CisJT2lkCQkJcmVsb2lkOwogCWNoYXIJICAgKnJlbG5hbWU7CiAJ Y2hhcgkgICAqaW5kbmFtZTsJCS8qIEN1cnJlbnQgaW5kZXggbmFtZSAqLwogCUJsb2NrTnVt YmVyIGJsa25vOwkJCS8qIHVzZWQgb25seSBmb3IgaGVhcCBvcGVyYXRpb25zICovCkBAIC00 MDgsNiArNDA5LDggQEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCSAqIGJlZW4gcGVy bWFuZW50bHkgZGlzYWJsZWQuCiAJICovCiAJQmxvY2tOdW1iZXIgZWFnZXJfc2Nhbl9yZW1h aW5pbmdfZmFpbHM7CisKKwlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsgLyog bnVtYmVyIG9mIGVtZXJnZW5jeSB2YWN1dW1zIHRvIHByZXZlbnQgYW50aS13cmFwYXJvdW5k IHNodXRkb3duICovCiB9IExWUmVsU3RhdGU7CiAKIApAQCAtNDE5LDYgKzQyMiwxOCBAQCB0 eXBlZGVmIHN0cnVjdCBMVlNhdmVkRXJySW5mbwogCVZhY0VyclBoYXNlIHBoYXNlOwogfSBM VlNhdmVkRXJySW5mbzsKIAorLyoKKyAqIENvdW50ZXJzIGFuZCB1c2FnZSBkYXRhIGZvciBl eHRlbmRlZCBzdGF0cyB0cmFja2luZy4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0 Q291bnRlcnMKK3sKKwlUaW1lc3RhbXBUeiBzdGFydHRpbWU7CisJV2FsVXNhZ2UJd2FsdXNh Z2U7CisJQnVmZmVyVXNhZ2UgYnVmdXNhZ2U7CisJZG91YmxlCQlWYWN1dW1EZWxheVRpbWU7 CisJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2ZldGNoZWQ7CisJUGdTdGF0X0NvdW50ZXIgYmxv Y2tzX2hpdDsKK30gTFZFeHRTdGF0Q291bnRlcnM7CiAKIC8qIG5vbi1leHBvcnQgZnVuY3Rp b24gcHJvdG90eXBlcyAqLwogc3RhdGljIHZvaWQgbGF6eV9zY2FuX2hlYXAoTFZSZWxTdGF0 ZSAqdmFjcmVsKTsKQEAgLTQ3NSw2ICs0OTAsMTA2IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV92 YWN1dW1fZXJyb3JfaW5mbyhMVlJlbFN0YXRlICp2YWNyZWwsCiBzdGF0aWMgdm9pZCByZXN0 b3JlX3ZhY3V1bV9lcnJvcl9pbmZvKExWUmVsU3RhdGUgKnZhY3JlbCwKIAkJCQkJCQkJCSAg Y29uc3QgTFZTYXZlZEVyckluZm8gKnNhdmVkX3ZhY3JlbCk7CiAKKy8qIC0tLS0tLS0tLS0K KyAqIGV4dHZhY19zdGF0c19zdGFydCgpIC0KKyAqCisgKiBTYXZlIGN1dC1vZmYgdmFsdWVz IG9mIGV4dGVuZGVkIHZhY3V1bSBjb3VudGVycyBiZWZvcmUgc3RhcnQgb2YgYSByZWxhdGlv bgorICogcHJvY2Vzc2luZy4KKyAqIC0tLS0tLS0tLS0KKyAqLworc3RhdGljIHZvaWQKK2V4 dHZhY19zdGF0c19zdGFydChSZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50ZXJzICpjb3Vu dGVycykKK3sKKwlUaW1lc3RhbXBUeglzdGFydHRpbWU7CisKKwlpZighcGdzdGF0X3RyYWNr X3ZhY3V1bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisKKwltZW1zZXQoY291bnRlcnMsIDAs IHNpemVvZihMVkV4dFN0YXRDb3VudGVycykpOworCisJc3RhcnR0aW1lID0gR2V0Q3VycmVu dFRpbWVzdGFtcCgpOworCisJY291bnRlcnMtPnN0YXJ0dGltZSA9IHN0YXJ0dGltZTsKKwlj b3VudGVycy0+d2FsdXNhZ2UgPSBwZ1dhbFVzYWdlOworCWNvdW50ZXJzLT5idWZ1c2FnZSA9 IHBnQnVmZmVyVXNhZ2U7CisJY291bnRlcnMtPlZhY3V1bURlbGF5VGltZSA9IFZhY3V1bURl bGF5VGltZTsKKwljb3VudGVycy0+YmxvY2tzX2ZldGNoZWQgPSAwOworCWNvdW50ZXJzLT5i bG9ja3NfaGl0ID0gMDsKKworCWlmICghcmVsLT5wZ3N0YXRfaW5mbyB8fCAhcGdzdGF0X3Ry YWNrX2NvdW50cykKKwkJLyoKKwkJICogaWYgc29tZXRoaW5nIGdvZXMgd3Jvbmcgb3IgdXNl ciBkb2Vzbid0IHdhbnQgdG8gdHJhY2sgYSBkYXRhYmFzZQorCQkgKiBhY3Rpdml0eSAtIGp1 c3Qgc3VwcHJlc3MgaXQuCisJCSAqLworCQlyZXR1cm47CisKKwljb3VudGVycy0+YmxvY2tz X2ZldGNoZWQgPSByZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tzX2ZldGNoZWQ7CisJ Y291bnRlcnMtPmJsb2Nrc19oaXQgPSByZWwtPnBnc3RhdF9pbmZvLT5jb3VudHMuYmxvY2tz X2hpdDsKK30KKworLyogLS0tLS0tLS0tLQorICogZXh0dmFjX3N0YXRzX2VuZCgpIC0KKyAq CisgKglDYWxsZWQgdG8gZmluaXNoIGFuIGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWMgZ2F0 aGVyaW5nIGFuZCBmb3JtIGEgcmVwb3J0LgorICogLS0tLS0tLS0tLQorICovCitzdGF0aWMg dm9pZAorZXh0dmFjX3N0YXRzX2VuZChSZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50ZXJz ICpjb3VudGVycywKKwkJCQkgIEV4dFZhY1JlcG9ydCAqcmVwb3J0KQoreworCVdhbFVzYWdl CXdhbHVzYWdlOworCUJ1ZmZlclVzYWdlCWJ1ZnVzYWdlOworCVRpbWVzdGFtcFR6IGVuZHRp bWU7CisJbG9uZwkJc2VjczsKKwlpbnQJCQl1c2VjczsKKworCWlmKCFwZ3N0YXRfdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworCS8qIENhbGN1bGF0ZSBkaWZmcyBv ZiBnbG9iYWwgc3RhdCBwYXJhbWV0ZXJzIG9uIFdBTCBhbmQgYnVmZmVyIHVzYWdlLiAqLwor CW1lbXNldCgmd2FsdXNhZ2UsIDAsIHNpemVvZihXYWxVc2FnZSkpOworCVdhbFVzYWdlQWNj dW1EaWZmKCZ3YWx1c2FnZSwgJnBnV2FsVXNhZ2UsICZjb3VudGVycy0+d2FsdXNhZ2UpOwor CisJbWVtc2V0KCZidWZ1c2FnZSwgMCwgc2l6ZW9mKEJ1ZmZlclVzYWdlKSk7CisJQnVmZmVy VXNhZ2VBY2N1bURpZmYoJmJ1ZnVzYWdlLCAmcGdCdWZmZXJVc2FnZSwgJmNvdW50ZXJzLT5i dWZ1c2FnZSk7CisKKwllbmR0aW1lID0gR2V0Q3VycmVudFRpbWVzdGFtcCgpOworCVRpbWVz dGFtcERpZmZlcmVuY2UoY291bnRlcnMtPnN0YXJ0dGltZSwgZW5kdGltZSwgJnNlY3MsICZ1 c2Vjcyk7CisKKwltZW1zZXQocmVwb3J0LCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisK KwkvKgorCSAqIEZpbGwgYWRkaXRpb25hbCBzdGF0aXN0aWNzIG9uIGEgdmFjdXVtIHByb2Nl c3Npbmcgb3BlcmF0aW9uLgorCSAqLworCXJlcG9ydC0+dG90YWxfYmxrc19yZWFkID0gYnVm dXNhZ2UubG9jYWxfYmxrc19yZWFkICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3NfcmVhZDsKKwly ZXBvcnQtPnRvdGFsX2Jsa3NfaGl0ID0gYnVmdXNhZ2UubG9jYWxfYmxrc19oaXQgKyBidWZ1 c2FnZS5zaGFyZWRfYmxrc19oaXQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX2RpcnRpZWQgPSBi dWZ1c2FnZS5sb2NhbF9ibGtzX2RpcnRpZWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19kaXJ0 aWVkOworCXJlcG9ydC0+dG90YWxfYmxrc193cml0dGVuID0gYnVmdXNhZ2Uuc2hhcmVkX2Js a3Nfd3JpdHRlbjsKKworCXJlcG9ydC0+d2FsX3JlY29yZHMgPSB3YWx1c2FnZS53YWxfcmVj b3JkczsKKwlyZXBvcnQtPndhbF9mcGkgPSB3YWx1c2FnZS53YWxfZnBpOworCXJlcG9ydC0+ d2FsX2J5dGVzID0gd2FsdXNhZ2Uud2FsX2J5dGVzOworCisJcmVwb3J0LT5ibGtfcmVhZF90 aW1lID0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2UubG9jYWxfYmxrX3JlYWRf dGltZSk7CisJcmVwb3J0LT5ibGtfcmVhZF90aW1lICs9IElOU1RSX1RJTUVfR0VUX01JTExJ U0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfcmVhZF90aW1lKTsKKwlyZXBvcnQtPmJsa193cml0 ZV90aW1lID0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2UubG9jYWxfYmxrX3dy aXRlX3RpbWUpOworCXJlcG9ydC0+YmxrX3dyaXRlX3RpbWUgPSBJTlNUUl9USU1FX0dFVF9N SUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3dyaXRlX3RpbWUpOworCXJlcG9ydC0+ZGVs YXlfdGltZSA9IFZhY3V1bURlbGF5VGltZSAtIGNvdW50ZXJzLT5WYWN1dW1EZWxheVRpbWU7 CisKKwlyZXBvcnQtPnRvdGFsX3RpbWUgPSBzZWNzICogMTAwMC4gKyB1c2VjcyAvIDEwMDAu OworCisJaWYgKCFyZWwtPnBnc3RhdF9pbmZvIHx8ICFwZ3N0YXRfdHJhY2tfY291bnRzKQor CQkvKgorCQkgKiBpZiBzb21ldGhpbmcgZ29lcyB3cm9uZyBvciBhbiB1c2VyIGRvZXNuJ3Qg d2FudCB0byB0cmFjayBhIGRhdGFiYXNlCisJCSAqIGFjdGl2aXR5IC0ganVzdCBzdXBwcmVz cyBpdC4KKwkJICovCisJCXJldHVybjsKKworCXJlcG9ydC0+Ymxrc19mZXRjaGVkID0KKwkJ cmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19mZXRjaGVkIC0gY291bnRlcnMtPmJs b2Nrc19mZXRjaGVkOworCXJlcG9ydC0+Ymxrc19oaXQgPQorCQlyZWwtPnBnc3RhdF9pbmZv LT5jb3VudHMuYmxvY2tzX2hpdCAtIGNvdW50ZXJzLT5ibG9ja3NfaGl0OworfQogCiAKIC8q CkBAIC02MzEsNyArNzQ2LDE0IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZh Y3V1bVBhcmFtcyAqcGFyYW1zLAogCVdhbFVzYWdlCXN0YXJ0d2FsdXNhZ2UgPSBwZ1dhbFVz YWdlOwogCUJ1ZmZlclVzYWdlIHN0YXJ0YnVmZmVydXNhZ2UgPSBwZ0J1ZmZlclVzYWdlOwog CUVycm9yQ29udGV4dENhbGxiYWNrIGVycmNhbGxiYWNrOworCUxWRXh0U3RhdENvdW50ZXJz IGV4dFZhY0NvdW50ZXJzOworCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CiAJY2hhcgkg ICoqaW5kbmFtZXMgPSBOVUxMOworCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOworCisJLyogSW5p dGlhbGl6ZSB2YWN1dW0gc3RhdGlzdGljcyAqLworCW1lbXNldCgmYWxsemVybywgMCwgc2l6 ZW9mKEV4dFZhY1JlcG9ydCkpOworCWV4dFZhY1JlcG9ydCA9IGFsbHplcm87CiAKIAl2ZXJi b3NlID0gKHBhcmFtcy0+b3B0aW9ucyAmIFZBQ09QVF9WRVJCT1NFKSAhPSAwOwogCWluc3Ry dW1lbnQgPSAodmVyYm9zZSB8fCAoQW1BdXRvVmFjdXVtV29ya2VyUHJvY2VzcygpICYmCkBA IC02NTEsNyArNzczLDcgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgVmFjdXVt UGFyYW1zICpwYXJhbXMsCiAKIAlwZ3N0YXRfcHJvZ3Jlc3Nfc3RhcnRfY29tbWFuZChQUk9H UkVTU19DT01NQU5EX1ZBQ1VVTSwKIAkJCQkJCQkJICBSZWxhdGlvbkdldFJlbGlkKHJlbCkp OwotCisJZXh0dmFjX3N0YXRzX3N0YXJ0KHJlbCwgJmV4dFZhY0NvdW50ZXJzKTsKIAkvKgog CSAqIFNldHVwIGVycm9yIHRyYWNlYmFjayBzdXBwb3J0IGZvciBlcmVwb3J0KCkgZmlyc3Qu ICBUaGUgaWRlYSBpcyB0byBzZXQKIAkgKiB1cCBhbiBlcnJvciBjb250ZXh0IGNhbGxiYWNr IHRvIGRpc3BsYXkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiBhbnkKQEAgLTY2OCw2ICs3 OTAsNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJhbXMgKnBh cmFtcywKIAl2YWNyZWwtPmRibmFtZSA9IGdldF9kYXRhYmFzZV9uYW1lKE15RGF0YWJhc2VJ ZCk7CiAJdmFjcmVsLT5yZWxuYW1lc3BhY2UgPSBnZXRfbmFtZXNwYWNlX25hbWUoUmVsYXRp b25HZXROYW1lc3BhY2UocmVsKSk7CiAJdmFjcmVsLT5yZWxuYW1lID0gcHN0cmR1cChSZWxh dGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKTsKKwl2YWNyZWwtPnJlbG9pZCA9IFJlbGF0aW9u R2V0UmVsaWQocmVsKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBOVUxMOwogCXZhY3JlbC0+cGhh c2UgPSBWQUNVVU1fRVJSQ0JfUEhBU0VfVU5LTk9XTjsKIAl2YWNyZWwtPnZlcmJvc2UgPSB2 ZXJib3NlOwpAQCAtNzU3LDYgKzg4MCw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiBy ZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCXZhY3JlbC0+dm1fbmV3X3Zpc2libGVfZnJv emVuX3BhZ2VzID0gMDsKIAl2YWNyZWwtPnZtX25ld19mcm96ZW5fcGFnZXMgPSAwOwogCXZh Y3JlbC0+cmVsX3BhZ2VzID0gb3JpZ19yZWxfcGFnZXMgPSBSZWxhdGlvbkdldE51bWJlck9m QmxvY2tzKHJlbCk7CisJdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ID0gMDsK IAogCS8qCiAJICogR2V0IGN1dG9mZnMgdGhhdCBkZXRlcm1pbmUgd2hpY2ggZGVsZXRlZCB0 dXBsZXMgYXJlIGNvbnNpZGVyZWQgREVBRCwKQEAgLTkxNCw2ICsxMDM4LDI2IEBAIGhlYXBf dmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCQkJCQkJ dmFjcmVsLT5OZXdSZWxmcm96ZW5YaWQsIHZhY3JlbC0+TmV3UmVsbWluTXhpZCwKIAkJCQkJ CSZmcm96ZW54aWRfdXBkYXRlZCwgJm1pbm11bHRpX3VwZGF0ZWQsIGZhbHNlKTsKIAorCS8q IE1ha2UgZ2VuZXJpYyBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0ICovCisJZXh0dmFj X3N0YXRzX2VuZChyZWwsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CisKKwlp ZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJeworCQkvKiBGaWxsIGhlYXAt c3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzICovCisJCWV4dFZhY1JlcG9ydC5wYWdl c19zY2FubmVkID0gdmFjcmVsLT5zY2FubmVkX3BhZ2VzOworCQlleHRWYWNSZXBvcnQucGFn ZXNfcmVtb3ZlZCA9IHZhY3JlbC0+cmVtb3ZlZF9wYWdlczsKKwkJZXh0VmFjUmVwb3J0LnZt X25ld19mcm96ZW5fcGFnZXMgPSB2YWNyZWwtPnZtX25ld19mcm96ZW5fcGFnZXM7CisJCWV4 dFZhY1JlcG9ydC52bV9uZXdfdmlzaWJsZV9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X3Zpc2li bGVfcGFnZXM7CisJCWV4dFZhY1JlcG9ydC52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMg PSB2YWNyZWwtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsKKwkJZXh0VmFjUmVwb3J0 LnR1cGxlc19kZWxldGVkID0gdmFjcmVsLT50dXBsZXNfZGVsZXRlZDsKKwkJZXh0VmFjUmVw b3J0LnR1cGxlc19mcm96ZW4gPSB2YWNyZWwtPnR1cGxlc19mcm96ZW47CisJCWV4dFZhY1Jl cG9ydC5yZWNlbnRseV9kZWFkX3R1cGxlcyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBs ZXM7CisJCWV4dFZhY1JlcG9ydC5taXNzZWRfZGVhZF90dXBsZXMgPSB2YWNyZWwtPm1pc3Nl ZF9kZWFkX3R1cGxlczsKKwkJZXh0VmFjUmVwb3J0Lm1pc3NlZF9kZWFkX3BhZ2VzID0gdmFj cmVsLT5taXNzZWRfZGVhZF9wYWdlczsKKwkJZXh0VmFjUmVwb3J0LmluZGV4X3ZhY3V1bV9j b3VudCA9IHZhY3JlbC0+bnVtX2luZGV4X3NjYW5zOworCQlleHRWYWNSZXBvcnQud3JhcGFy b3VuZF9mYWlsc2FmZV9jb3VudCA9IHZhY3JlbC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3Vu dDsKKwl9CisKIAkvKgogCSAqIFJlcG9ydCByZXN1bHRzIHRvIHRoZSBjdW11bGF0aXZlIHN0 YXRzIHN5c3RlbSwgdG9vLgogCSAqCkBAIC05MjksNyArMTA3Myw4IEBAIGhlYXBfdmFjdXVt X3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCQkJCQkJIE1heCh2 YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCksCiAJCQkJCQkgdmFjcmVsLT5yZWNlbnRseV9k ZWFkX3R1cGxlcyArCiAJCQkJCQkgdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXMsCi0JCQkJ CQkgc3RhcnR0aW1lKTsKKwkJCQkJCSBzdGFydHRpbWUsCisJCQkJCQkgJmV4dFZhY1JlcG9y dCk7CiAJcGdzdGF0X3Byb2dyZXNzX2VuZF9jb21tYW5kKCk7CiAKIAlpZiAoaW5zdHJ1bWVu dCkKQEAgLTI5NDQsNiArMzA4OSw3IEBAIGxhenlfY2hlY2tfd3JhcGFyb3VuZF9mYWlsc2Fm ZShMVlJlbFN0YXRlICp2YWNyZWwpCiAJCWludDY0CQlwcm9ncmVzc192YWxbMl0gPSB7MCwg MH07CiAKIAkJVmFjdXVtRmFpbHNhZmVBY3RpdmUgPSB0cnVlOworCQl2YWNyZWwtPndyYXBh cm91bmRfZmFpbHNhZmVfY291bnQgKys7CiAKIAkJLyoKIAkJICogQWJhbmRvbiB1c2Ugb2Yg YSBidWZmZXIgYWNjZXNzIHN0cmF0ZWd5IHRvIGFsbG93IHVzZSBvZiBhbGwgb2YKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zpc2liaWxpdHltYXAuYyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy9oZWFwL3Zpc2liaWxpdHltYXAuYwppbmRleCA3NDVhMDRlZjI2ZS4u MDc2MjNhMDQ1ZmEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zpc2li aWxpdHltYXAuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92aXNpYmlsaXR5bWFw LmMKQEAgLTkxLDYgKzkxLDcgQEAKICNpbmNsdWRlICJhY2Nlc3MveGxvZ2luc2VydC5oIgog I2luY2x1ZGUgImFjY2Vzcy94bG9ndXRpbHMuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIK KyNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRlICJwb3J0L3BnX2JpdHV0aWxzLmgiCiAj aW5jbHVkZSAic3RvcmFnZS9idWZtZ3IuaCIKICNpbmNsdWRlICJzdG9yYWdlL3NtZ3IuaCIK QEAgLTE2MCw2ICsxNjEsMTUgQEAgdmlzaWJpbGl0eW1hcF9jbGVhcihSZWxhdGlvbiByZWws IEJsb2NrTnVtYmVyIGhlYXBCbGssIEJ1ZmZlciB2bWJ1ZiwgdWludDggZmxhZ3MKIAogCWlm IChtYXBbbWFwQnl0ZV0gJiBtYXNrKQogCXsKKwkJLyoKKwkJICogQXMgcGFydCBvZiB2YWN1 dW0gc3RhdHMsIHRyYWNrIGhvdyBvZnRlbiBhbGwtdmlzaWJsZSBvciBhbGwtZnJvemVuCisJ CSAqIGJpdHMgYXJlIGNsZWFyZWQuCisJCSAqLworCQlpZiAobWFwW21hcEJ5dGVdID4+IG1h cE9mZnNldCAmIGZsYWdzICYgVklTSUJJTElUWU1BUF9BTExfVklTSUJMRSkKKwkJCXBnc3Rh dF9jb3VudF92bV9yZXZfYWxsX3Zpc2libGUocmVsKTsKKwkJaWYgKG1hcFttYXBCeXRlXSA+ PiBtYXBPZmZzZXQgJiBmbGFncyAmIFZJU0lCSUxJVFlNQVBfQUxMX0ZST1pFTikKKwkJCXBn c3RhdF9jb3VudF92bV9yZXZfYWxsX2Zyb3plbihyZWwpOworCiAJCW1hcFttYXBCeXRlXSAm PSB+bWFzazsKIAogCQlNYXJrQnVmZmVyRGlydHkodm1idWYpOwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxv Zy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGE0ZDJjZmRjYWY1Li4yZTQyZjZkNzEwOCAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtNzAwLDcgKzcwMCw5IEBA IENSRUFURSBWSUVXIHBnX3N0YXRfYWxsX3RhYmxlcyBBUwogICAgICAgICAgICAgcGdfc3Rh dF9nZXRfdG90YWxfdmFjdXVtX3RpbWUoQy5vaWQpIEFTIHRvdGFsX3ZhY3V1bV90aW1lLAog ICAgICAgICAgICAgcGdfc3RhdF9nZXRfdG90YWxfYXV0b3ZhY3V1bV90aW1lKEMub2lkKSBB UyB0b3RhbF9hdXRvdmFjdXVtX3RpbWUsCiAgICAgICAgICAgICBwZ19zdGF0X2dldF90b3Rh bF9hbmFseXplX3RpbWUoQy5vaWQpIEFTIHRvdGFsX2FuYWx5emVfdGltZSwKLSAgICAgICAg ICAgIHBnX3N0YXRfZ2V0X3RvdGFsX2F1dG9hbmFseXplX3RpbWUoQy5vaWQpIEFTIHRvdGFs X2F1dG9hbmFseXplX3RpbWUKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RvdGFsX2F1dG9h bmFseXplX3RpbWUoQy5vaWQpIEFTIHRvdGFsX2F1dG9hbmFseXplX3RpbWUsCisgICAgICAg ICAgICBwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcyhDLm9pZCkgQVMgcmV2X2Fs bF9mcm96ZW5fcGFnZXMsCisgICAgICAgICAgICBwZ19zdGF0X2dldF9yZXZfYWxsX3Zpc2li bGVfcGFnZXMoQy5vaWQpIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcwogICAgIEZST00gcGdf Y2xhc3MgQyBMRUZUIEpPSU4KICAgICAgICAgIHBnX2luZGV4IEkgT04gQy5vaWQgPSBJLmlu ZHJlbGlkCiAgICAgICAgICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIE4gT04gKE4ub2lkID0g Qy5yZWxuYW1lc3BhY2UpCkBAIC0xMzkwLDMgKzEzOTIsNTEgQEAgQ1JFQVRFIFZJRVcgcGdf c3RhdF9zdWJzY3JpcHRpb25fc3RhdHMgQVMKIAogQ1JFQVRFIFZJRVcgcGdfd2FpdF9ldmVu dHMgQVMKICAgICBTRUxFQ1QgKiBGUk9NIHBnX2dldF93YWl0X2V2ZW50cygpOworLS0KKy0t IFNob3cgZXh0ZW5kZWQgY3VtdWxhdGl2ZSBzdGF0aXN0aWNzIG9uIGEgdmFjdXVtIG9wZXJh dGlvbiBvdmVyIGFsbCB0YWJsZXMgYW5kCistLSBkYXRhYmFzZXMgb2YgdGhlIGluc3RhbmNl LgorLS0gVXNlIEludmFsaWQgT2lkICIwIiBhcyBhbiBpbnB1dCByZWxhdGlvbiBpZCB0byBn ZXQgc3RhdCBvbiBlYWNoIHRhYmxlIGluIGEKKy0tIGRhdGFiYXNlLgorLS0KKworQ1JFQVRF IFZJRVcgcGdfc3RhdF92YWN1dW1fdGFibGVzIEFTCitTRUxFQ1QKKyAgbnMubnNwbmFtZSBB UyBzY2hlbWFuYW1lLAorICByZWwucmVsbmFtZSBBUyByZWxuYW1lLAorICBzdGF0cy5yZWxp ZCBhcyByZWxpZCwKKworICBzdGF0cy50b3RhbF9ibGtzX3JlYWQgQVMgdG90YWxfYmxrc19y ZWFkLAorICBzdGF0cy50b3RhbF9ibGtzX2hpdCBBUyB0b3RhbF9ibGtzX2hpdCwKKyAgc3Rh dHMudG90YWxfYmxrc19kaXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgc3RhdHMu dG90YWxfYmxrc193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKworICBzdGF0cy5y ZWxfYmxrc19yZWFkIEFTIHJlbF9ibGtzX3JlYWQsCisgIHN0YXRzLnJlbF9ibGtzX2hpdCBB UyByZWxfYmxrc19oaXQsCisKKyAgc3RhdHMucGFnZXNfc2Nhbm5lZCBBUyBwYWdlc19zY2Fu bmVkLAorICBzdGF0cy5wYWdlc19yZW1vdmVkIEFTIHBhZ2VzX3JlbW92ZWQsCisgIHN0YXRz LnZtX25ld19mcm96ZW5fcGFnZXMgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcywKKyAgc3RhdHMu dm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsCisgIHN0YXRz LnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5f cGFnZXMsCisgIHN0YXRzLm1pc3NlZF9kZWFkX3BhZ2VzIEFTIG1pc3NlZF9kZWFkX3BhZ2Vz LAorICBzdGF0cy50dXBsZXNfZGVsZXRlZCBBUyB0dXBsZXNfZGVsZXRlZCwKKyAgc3RhdHMu dHVwbGVzX2Zyb3plbiBBUyB0dXBsZXNfZnJvemVuLAorICBzdGF0cy5yZWNlbnRseV9kZWFk X3R1cGxlcyBBUyByZWNlbnRseV9kZWFkX3R1cGxlcywKKyAgc3RhdHMubWlzc2VkX2RlYWRf dHVwbGVzIEFTIG1pc3NlZF9kZWFkX3R1cGxlcywKKworICBzdGF0cy53cmFwYXJvdW5kX2Zh aWxzYWZlIEFTIHdyYXBhcm91bmRfZmFpbHNhZmUsCisgIHN0YXRzLmluZGV4X3ZhY3V1bV9j b3VudCBBUyBpbmRleF92YWN1dW1fY291bnQsCisgIHN0YXRzLndhbF9yZWNvcmRzIEFTIHdh bF9yZWNvcmRzLAorICBzdGF0cy53YWxfZnBpIEFTIHdhbF9mcGksCisgIHN0YXRzLndhbF9i eXRlcyBBUyB3YWxfYnl0ZXMsCisKKyAgc3RhdHMuYmxrX3JlYWRfdGltZSBBUyBibGtfcmVh ZF90aW1lLAorICBzdGF0cy5ibGtfd3JpdGVfdGltZSBBUyBibGtfd3JpdGVfdGltZSwKKwor ICBzdGF0cy5kZWxheV90aW1lIEFTIGRlbGF5X3RpbWUsCisgIHN0YXRzLnRvdGFsX3RpbWUg QVMgdG90YWxfdGltZQorCitGUk9NIHBnX2NsYXNzIHJlbAorICBKT0lOIHBnX25hbWVzcGFj ZSBucyBPTiBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlLAorICBMQVRFUkFMIHBnX3N0YXRf Z2V0X3ZhY3V1bV90YWJsZXMocmVsLm9pZCkgc3RhdHMKK1dIRVJFIHJlbC5yZWxraW5kID0g J3InOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMgYi9zcmMv YmFja2VuZC9jb21tYW5kcy92YWN1dW0uYwppbmRleCAwMjM5ZDliYWU2NS4uYWVhMmNmMzA3 ZGEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jCisrKyBiL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jCkBAIC0xMTQsNiArMTE0LDkgQEAgcGdfYXRv bWljX3VpbnQzMiAqVmFjdXVtU2hhcmVkQ29zdEJhbGFuY2UgPSBOVUxMOwogcGdfYXRvbWlj X3VpbnQzMiAqVmFjdXVtQWN0aXZlTldvcmtlcnMgPSBOVUxMOwogaW50CQkJVmFjdXVtQ29z dEJhbGFuY2VMb2NhbCA9IDA7CiAKKy8qIEN1bXVsYXRpdmUgc3RvcmFnZSB0byByZXBvcnQg dG90YWwgdmFjdXVtIGRlbGF5IHRpbWUuICovCitkb3VibGUgVmFjdXVtRGVsYXlUaW1lID0g MDsgLyogbXNlYy4gKi8KKwogLyogbm9uLWV4cG9ydCBmdW5jdGlvbiBwcm90b3R5cGVzICov CiBzdGF0aWMgTGlzdCAqZXhwYW5kX3ZhY3V1bV9yZWwoVmFjdXVtUmVsYXRpb24gKnZyZWws CiAJCQkJCQkJICAgTWVtb3J5Q29udGV4dCB2YWNfY29udGV4dCwgaW50IG9wdGlvbnMpOwpA QCAtMjQ5Nyw2ICsyNTAwLDcgQEAgdmFjdXVtX2RlbGF5X3BvaW50KGJvb2wgaXNfYW5hbHl6 ZSkKIAkJCWV4aXQoMSk7CiAKIAkJVmFjdXVtQ29zdEJhbGFuY2UgPSAwOworCQlWYWN1dW1E ZWxheVRpbWUgKz0gbXNlYzsKIAogCQkvKgogCQkgKiBCYWxhbmNlIGFuZCB1cGRhdGUgbGlt aXQgdmFsdWVzIGZvciBhdXRvdmFjdXVtIHdvcmtlcnMuIFdlIG11c3QgZG8KZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCmluZGV4IDJiOWQ1NDhjZGViLi43OTI0YzUy NmNiMCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwu YworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCkBAIC0xMDU0 LDYgKzEwNTQsNyBAQCBwYXJhbGxlbF92YWN1dW1fbWFpbihkc21fc2VnbWVudCAqc2VnLCBz aG1fdG9jICp0b2MpCiAJLyogU2V0IGNvc3QtYmFzZWQgdmFjdXVtIGRlbGF5ICovCiAJVmFj dXVtVXBkYXRlQ29zdHMoKTsKIAlWYWN1dW1Db3N0QmFsYW5jZSA9IDA7CisJVmFjdXVtRGVs YXlUaW1lID0gMDsKIAlWYWN1dW1Db3N0QmFsYW5jZUxvY2FsID0gMDsKIAlWYWN1dW1TaGFy ZWRDb3N0QmFsYW5jZSA9ICYoc2hhcmVkLT5jb3N0X2JhbGFuY2UpOwogCVZhY3V1bUFjdGl2 ZU5Xb3JrZXJzID0gJihzaGFyZWQtPmFjdGl2ZV9ud29ya2Vycyk7CmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdC5jCmluZGV4IDMxNjhiODI1ZTI1Li44MjZhNTY4NWIyYSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTE5MSw3ICsxOTEsNyBAQCBz dGF0aWMgdm9pZCBwZ3N0YXRfcmVzZXRfYWZ0ZXJfZmFpbHVyZSh2b2lkKTsKIHN0YXRpYyBi b29sIHBnc3RhdF9mbHVzaF9wZW5kaW5nX2VudHJpZXMoYm9vbCBub3dhaXQpOwogCiBzdGF0 aWMgdm9pZCBwZ3N0YXRfcHJlcF9zbmFwc2hvdCh2b2lkKTsKLXN0YXRpYyB2b2lkIHBnc3Rh dF9idWlsZF9zbmFwc2hvdCh2b2lkKTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9idWlsZF9zbmFw c2hvdChQZ1N0YXRfS2luZCBzdGF0S2luZCk7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfYnVpbGRf c25hcHNob3RfZml4ZWQoUGdTdGF0X0tpbmQga2luZCk7CiAKIHN0YXRpYyBpbmxpbmUgYm9v bCBwZ3N0YXRfaXNfa2luZF92YWxpZChQZ1N0YXRfS2luZCBraW5kKTsKQEAgLTIwNCw3ICsy MDQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgcGdzdGF0X2lzX2tpbmRfdmFsaWQoUGdTdGF0 X0tpbmQga2luZCk7CiAKIGJvb2wJCXBnc3RhdF90cmFja19jb3VudHMgPSBmYWxzZTsKIGlu dAkJCXBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeSA9IFBHU1RBVF9GRVRDSF9DT05TSVNURU5D WV9DQUNIRTsKLQorYm9vbAkJcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzID0gdHJ1 ZTsKIAogLyogLS0tLS0tLS0tLQogICogc3RhdGUgc2hhcmVkIHdpdGggcGdzdGF0XyouYwpA QCAtMjYxLDcgKzI2MSw2IEBAIHN0YXRpYyBib29sIHBnc3RhdF9pc19pbml0aWFsaXplZCA9 IGZhbHNlOwogc3RhdGljIGJvb2wgcGdzdGF0X2lzX3NodXRkb3duID0gZmFsc2U7CiAjZW5k aWYKIAotCiAvKgogICogVGhlIGRpZmZlcmVudCBraW5kcyBvZiBidWlsdC1pbiBzdGF0aXN0 aWNzLgogICoKQEAgLTkwMSw3ICs5MDAsNiBAQCBwZ3N0YXRfcmVzZXRfb2Zfa2luZChQZ1N0 YXRfS2luZCBraW5kKQogCQlwZ3N0YXRfcmVzZXRfZW50cmllc19vZl9raW5kKGtpbmQsIHRz KTsKIH0KIAotCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqIEZldGNoaW5nIG9mIHN0YXRzCiAgKiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K QEAgLTk3MCw3ICs5NjgsNyBAQCBwZ3N0YXRfZmV0Y2hfZW50cnkoUGdTdGF0X0tpbmQga2lu ZCwgT2lkIGRib2lkLCB1aW50NjQgb2JqaWQpCiAKIAkvKiBpZiB3ZSBuZWVkIHRvIGJ1aWxk IGEgZnVsbCBzbmFwc2hvdCwgZG8gc28gKi8KIAlpZiAocGdzdGF0X2ZldGNoX2NvbnNpc3Rl bmN5ID09IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9TTkFQU0hPVCkKLQkJcGdzdGF0X2J1 aWxkX3NuYXBzaG90KCk7CisJCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lORF9J TlZBTElEKTsKIAogCS8qIGlmIGNhY2hpbmcgaXMgZGVzaXJlZCwgbG9vayB1cCBpbiBjYWNo ZSAqLwogCWlmIChwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPiBQR1NUQVRfRkVUQ0hfQ09O U0lTVEVOQ1lfTk9ORSkKQEAgLTEwODYsNyArMTA4NCw3IEBAIHBnc3RhdF9zbmFwc2hvdF9m aXhlZChQZ1N0YXRfS2luZCBraW5kKQogCQlwZ3N0YXRfY2xlYXJfc25hcHNob3QoKTsKIAog CWlmIChwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPT0gUEdTVEFUX0ZFVENIX0NPTlNJU1RF TkNZX1NOQVBTSE9UKQotCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoKTsKKwkJcGdzdGF0X2J1 aWxkX3NuYXBzaG90KFBHU1RBVF9LSU5EX0lOVkFMSUQpOwogCWVsc2UKIAkJcGdzdGF0X2J1 aWxkX3NuYXBzaG90X2ZpeGVkKGtpbmQpOwogCkBAIC0xMTM3LDcgKzExMzUsNyBAQCBwZ3N0 YXRfcHJlcF9zbmFwc2hvdCh2b2lkKQogfQogCiBzdGF0aWMgdm9pZAotcGdzdGF0X2J1aWxk X3NuYXBzaG90KHZvaWQpCitwZ3N0YXRfYnVpbGRfc25hcHNob3QoUGdTdGF0X0tpbmQgc3Rh dEtpbmQpCiB7CiAJZHNoYXNoX3NlcV9zdGF0dXMgaHN0YXQ7CiAJUGdTdGF0U2hhcmVkX0hh c2hFbnRyeSAqcDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bn c3RhdF9yZWxhdGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3Jl bGF0aW9uLmMKaW5kZXggZDY0NTk1YTE2NWMuLjAyNzJkZDFmMzkzIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYworKysgYi9zcmMv YmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwpAQCAtNDcsNiArNDcs OCBAQCBzdGF0aWMgdm9pZCBhZGRfdGFic3RhdF94YWN0X2xldmVsKFBnU3RhdF9UYWJsZVN0 YXR1cyAqcGdzdGF0X2luZm8sIGludCBuZXN0X2xldgogc3RhdGljIHZvaWQgZW5zdXJlX3Rh YnN0YXRfeGFjdF9sZXZlbChQZ1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvKTsKIHN0 YXRpYyB2b2lkIHNhdmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RTdGF0 dXMgKnRyYW5zLCBib29sIGlzX2Ryb3ApOwogc3RhdGljIHZvaWQgcmVzdG9yZV90cnVuY2Ry b3BfY291bnRlcnMoUGdTdGF0X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnMpOworc3RhdGljIHZv aWQgcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBF eHRWYWNSZXBvcnQgKnNyYywKKwkJCQkJCQkgICBib29sIGFjY3VtdWxhdGVfcmVsdHlwZV9z cGVjaWZpY19pbmZvKTsKIAogCiAvKgpAQCAtMjA5LDcgKzIxMSw3IEBAIHBnc3RhdF9kcm9w X3JlbGF0aW9uKFJlbGF0aW9uIHJlbCkKIHZvaWQKIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9p ZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJCQkJCSBQZ1N0YXRfQ291bnRlciBsaXZldHVw bGVzLCBQZ1N0YXRfQ291bnRlciBkZWFkdHVwbGVzLAotCQkJCQkgVGltZXN0YW1wVHogc3Rh cnR0aW1lKQorCQkJCQkgVGltZXN0YW1wVHogc3RhcnR0aW1lLCBFeHRWYWNSZXBvcnQgKnBh cmFtcykKIHsKIAlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKIAlQZ1N0YXRTaGFyZWRf UmVsYXRpb24gKnNodGFiZW50cnk7CkBAIC0yMzUsNiArMjM3LDggQEAgcGdzdGF0X3JlcG9y dF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAl0YWJlbnRyeS0+bGl2ZV90 dXBsZXMgPSBsaXZldHVwbGVzOwogCXRhYmVudHJ5LT5kZWFkX3R1cGxlcyA9IGRlYWR0dXBs ZXM7CiAKKwlwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoJnRhYmVudHJ5LT52YWN1 dW1fZXh0LCBwYXJhbXMsIHRydWUpOworCiAJLyoKIAkgKiBJdCBpcyBxdWl0ZSBwb3NzaWJs ZSB0aGF0IGEgbm9uLWFnZ3Jlc3NpdmUgVkFDVVVNIGVuZGVkIHVwIHNraXBwaW5nCiAJICog dmFyaW91cyBwYWdlcywgaG93ZXZlciwgd2UnbGwgemVybyB0aGUgaW5zZXJ0IGNvdW50ZXIg aGVyZSByZWdhcmRsZXNzLgpAQCAtODcyLDYgKzg3Niw5IEBAIHBnc3RhdF9yZWxhdGlvbl9m bHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpCiAJdGFi ZW50cnktPmJsb2Nrc19mZXRjaGVkICs9IGxzdGF0cy0+Y291bnRzLmJsb2Nrc19mZXRjaGVk OwogCXRhYmVudHJ5LT5ibG9ja3NfaGl0ICs9IGxzdGF0cy0+Y291bnRzLmJsb2Nrc19oaXQ7 CiAKKwl0YWJlbnRyeS0+cmV2X2FsbF9mcm96ZW5fcGFnZXMgKz0gbHN0YXRzLT5jb3VudHMu cmV2X2FsbF9mcm96ZW5fcGFnZXM7CisJdGFiZW50cnktPnJldl9hbGxfdmlzaWJsZV9wYWdl cyArPSBsc3RhdHMtPmNvdW50cy5yZXZfYWxsX3Zpc2libGVfcGFnZXM7CisKIAkvKiBDbGFt cCBsaXZlX3R1cGxlcyBpbiBjYXNlIG9mIG5lZ2F0aXZlIGRlbHRhX2xpdmVfdHVwbGVzICov CiAJdGFiZW50cnktPmxpdmVfdHVwbGVzID0gTWF4KHRhYmVudHJ5LT5saXZlX3R1cGxlcywg MCk7CiAJLyogTGlrZXdpc2UgZm9yIGRlYWRfdHVwbGVzICovCkBAIC05OTUsMyArMTAwMiw0 MCBAQCByZXN0b3JlX3RydW5jZHJvcF9jb3VudGVycyhQZ1N0YXRfVGFibGVYYWN0U3RhdHVz ICp0cmFucykKIAkJdHJhbnMtPnR1cGxlc19kZWxldGVkID0gdHJhbnMtPmRlbGV0ZWRfcHJl X3RydW5jZHJvcDsKIAl9CiB9CisKK3N0YXRpYyB2b2lkCitwZ3N0YXRfYWNjdW11bGF0ZV9l eHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAorCQkJ CQkJCSAgIGJvb2wgYWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pCit7CisJZHN0 LT50b3RhbF9ibGtzX3JlYWQgKz0gc3JjLT50b3RhbF9ibGtzX3JlYWQ7CisJZHN0LT50b3Rh bF9ibGtzX2hpdCArPSBzcmMtPnRvdGFsX2Jsa3NfaGl0OworCWRzdC0+dG90YWxfYmxrc19k aXJ0aWVkICs9IHNyYy0+dG90YWxfYmxrc19kaXJ0aWVkOworCWRzdC0+dG90YWxfYmxrc193 cml0dGVuICs9IHNyYy0+dG90YWxfYmxrc193cml0dGVuOworCWRzdC0+d2FsX2J5dGVzICs9 IHNyYy0+d2FsX2J5dGVzOworCWRzdC0+d2FsX2ZwaSArPSBzcmMtPndhbF9mcGk7CisJZHN0 LT53YWxfcmVjb3JkcyArPSBzcmMtPndhbF9yZWNvcmRzOworCWRzdC0+YmxrX3JlYWRfdGlt ZSArPSBzcmMtPmJsa19yZWFkX3RpbWU7CisJZHN0LT5ibGtfd3JpdGVfdGltZSArPSBzcmMt PmJsa193cml0ZV90aW1lOworCWRzdC0+ZGVsYXlfdGltZSArPSBzcmMtPmRlbGF5X3RpbWU7 CisJZHN0LT50b3RhbF90aW1lICs9IHNyYy0+dG90YWxfdGltZTsKKworCWlmICghYWNjdW11 bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pCisJCXJldHVybjsKKworCWRzdC0+Ymxrc19m ZXRjaGVkICs9IHNyYy0+Ymxrc19mZXRjaGVkOworCWRzdC0+Ymxrc19oaXQgKz0gc3JjLT5i bGtzX2hpdDsKKworCWRzdC0+cGFnZXNfc2Nhbm5lZCArPSBzcmMtPnBhZ2VzX3NjYW5uZWQ7 CisJZHN0LT5wYWdlc19yZW1vdmVkICs9IHNyYy0+cGFnZXNfcmVtb3ZlZDsKKwlkc3QtPnZt X25ld19mcm96ZW5fcGFnZXMgKz0gc3JjLT52bV9uZXdfZnJvemVuX3BhZ2VzOworCWRzdC0+ dm1fbmV3X3Zpc2libGVfcGFnZXMgKz0gc3JjLT52bV9uZXdfdmlzaWJsZV9wYWdlczsKKwlk c3QtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyArPSBzcmMtPnZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlczsKKwlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2Rl bGV0ZWQ7CisJZHN0LT50dXBsZXNfZnJvemVuICs9IHNyYy0+dHVwbGVzX2Zyb3plbjsKKwlk c3QtPnJlY2VudGx5X2RlYWRfdHVwbGVzICs9IHNyYy0+cmVjZW50bHlfZGVhZF90dXBsZXM7 CisJZHN0LT5pbmRleF92YWN1dW1fY291bnQgKz0gc3JjLT5pbmRleF92YWN1dW1fY291bnQ7 CisJZHN0LT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHNyYy0+d3JhcGFyb3VuZF9m YWlsc2FmZV9jb3VudDsKKwlkc3QtPm1pc3NlZF9kZWFkX3BhZ2VzICs9IHNyYy0+bWlzc2Vk X2RlYWRfcGFnZXM7CisJZHN0LT5taXNzZWRfZGVhZF90dXBsZXMgKz0gc3JjLT5taXNzZWRf ZGVhZF90dXBsZXM7CisKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCmluZGV4IGVmYjZkMDAzMmFmLi44MTMzMmJjMGJh MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKKysr IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKQEAgLTEwNiw2ICsxMDYs MTIgQEAgUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQodHVwbGVzX3VwZGF0ZWQpCiAvKiBw Z19zdGF0X2dldF92YWN1dW1fY291bnQgKi8KIFBHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0 KHZhY3V1bV9jb3VudCkKIAorLyogcGdfc3RhdF9nZXRfcmV2X2Zyb3plbl9wYWdlcyAqLwor UEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQocmV2X2FsbF9mcm96ZW5fcGFnZXMpCisKKy8q IHBnX3N0YXRfZ2V0X3Jldl9hbGxfdmlzaWJsZV9wYWdlcyAqLworUEdfU1RBVF9HRVRfUkVM RU5UUllfSU5UNjQocmV2X2FsbF92aXNpYmxlX3BhZ2VzKQorCiAjZGVmaW5lIFBHX1NUQVRf R0VUX1JFTEVOVFJZX0ZMT0FUOChzdGF0KQkJCQkJCVwKIERhdHVtCQkJCQkJCQkJCQkJCQkJ XAogQ3BwQ29uY2F0KHBnX3N0YXRfZ2V0XyxzdGF0KShQR19GVU5DVElPTl9BUkdTKQkJCQkJ XApAQCAtMjI0OCwzICsyMjU0LDE0NCBAQCBwZ19zdGF0X2hhdmVfc3RhdHMoUEdfRlVOQ1RJ T05fQVJHUykKIAogCVBHX1JFVFVSTl9CT09MKHBnc3RhdF9oYXZlX2VudHJ5KGtpbmQsIGRi b2lkLCBvYmppZCkpOwogfQorCisKKy8qCisgKiBHZXQgdGhlIHZhY3V1bSBzdGF0aXN0aWNz IGZvciB0aGUgaGVhcCB0YWJsZXMuCisgKi8KK0RhdHVtCitwZ19zdGF0X2dldF92YWN1dW1f dGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJI2RlZmluZSBQR19TVEFUX0dFVF9WQUNV VU1fVEFCTEVTX1NUQVRTX0NPTFMgMjYKKworCU9pZAkJCQkJCXJlbGlkID0gUEdfR0VUQVJH X09JRCgwKTsKKwlQZ1N0YXRfU3RhdFRhYkVudHJ5ICAgICAqdGFiZW50cnk7CisJRXh0VmFj UmVwb3J0IAkJCSpleHR2YWN1dW07CisJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOworCURhdHVt CQkJCQkgdmFsdWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MU10gPSB7 MH07CisJYm9vbAkJCQkJIG51bGxzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNf Q09MU10gPSB7MH07CisJY2hhcgkJCQkJIGJ1ZlsyNTZdOworCWludAkJCQkJCSBpID0gMDsK KwlFeHRWYWNSZXBvcnQgYWxsemVybzsKKworCS8qIEluaXRpYWxpc2UgYXR0cmlidXRlcyBp bmZvcm1hdGlvbiBpbiB0aGUgdHVwbGUgZGVzY3JpcHRvciAqLworCXR1cGRlc2MgPSBDcmVh dGVUZW1wbGF0ZVR1cGxlRGVzYyhQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NP TFMpOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJyZWxpZCIsCisJCQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfcmVhZCIsCisJCQkJ CSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0 dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfaGl0IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEs IDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAi dG90YWxfYmxrc19kaXJ0aWVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc193 cml0dGVuIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsX2Jsa3NfcmVhZCIsCisJCQkJCSAg IElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJO dW1iZXIpICsraSwgInJlbF9ibGtzX2hpdCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInBhZ2Vz X3NjYW5uZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdlc19yZW1vdmVkIiwKKwkJCQkJ ICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0 ck51bWJlcikgKytpLCAidm1fbmV3X2Zyb3plbl9wYWdlcyIsCisJCQkJCSAgIElOVDhPSUQs IC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsr aSwgInZtX25ld192aXNpYmxlX3BhZ2VzIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidm1fbmV3 X3Zpc2libGVfZnJvemVuX3BhZ2VzIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAibWlzc2VkX2Rl YWRfcGFnZXMiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0dXBsZXNfZGVsZXRlZCIsCisJCQkJ CSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0 dHJOdW1iZXIpICsraSwgInR1cGxlc19mcm96ZW4iLAorCQkJCQkgICBJTlQ4T0lELCAtMSwg MCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJy ZWNlbnRseV9kZWFkX3R1cGxlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBs ZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIm1pc3NlZF9kZWFk X3R1cGxlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndyYXBhcm91bmRfZmFpbHNhZmVfY291 bnQiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJpbmRleF92YWN1dW1fY291bnQiLAorCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ3YWxfcmVjb3JkcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9m cGkiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfYnl0ZXMiLAorCQkJCQkgICBOVU1FUklD T0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgImJsa19yZWFkX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsK KwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa193 cml0ZV90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImRlbGF5X3RpbWUiLAorCQkJ CQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgInRvdGFsX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0x LCAwKTsKKworCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNf Q09MUyk7CisKKwlCbGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsKKworCXRhYmVudHJ5ID0gcGdz dGF0X2ZldGNoX3N0YXRfdGFiZW50cnkocmVsaWQpOworCisJaWYgKHRhYmVudHJ5ID09IE5V TEwpCisJeworCQkvKiBJZiB0aGUgc3Vic2NyaXB0aW9uIGlzIG5vdCBmb3VuZCwgaW5pdGlh bGlzZSBpdHMgc3RhdHMgKi8KKwkJbWVtc2V0KCZhbGx6ZXJvLCAwLCBzaXplb2YoRXh0VmFj UmVwb3J0KSk7CisJCWV4dHZhY3V1bSA9ICZhbGx6ZXJvOworCX0KKwllbHNlCisJeworCQll eHR2YWN1dW0gPSAmKHRhYmVudHJ5LT52YWN1dW1fZXh0KTsKKwl9CisKKwlpID0gMDsKKwor CXZhbHVlc1tpKytdID0gT2JqZWN0SWRHZXREYXR1bShyZWxpZCk7CisKKwl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX3JlYWQpOworCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfaGl0KTsKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2RpcnRp ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Js a3Nfd3JpdHRlbik7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT5ibGtzX2ZldGNoZWQgLQorCQkJCQkJCQkJZXh0dmFjdXVtLT5ibGtzX2hpdCk7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Ymxrc19oaXQpOworCisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cGFnZXNfc2Nhbm5lZCk7CisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cGFnZXNfcmVtb3ZlZCk7 CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dm1fbmV3X2Zyb3pl bl9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dm1f bmV3X3Zpc2libGVfcGFnZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+bWlzc2VkX2RlYWRfcGFnZXMpOworCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxlc19kZWxldGVkKTsKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNfZnJvemVuKTsKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5yZWNlbnRseV9kZWFkX3R1 cGxlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+bWlzc2Vk X2RlYWRfdHVwbGVzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0oZXh0dmFjdXVt LT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0oZXh0dmFjdXVtLT5pbmRleF92YWN1dW1fY291bnQpOworCisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX3JlY29yZHMpOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndhbF9mcGkpOworCisJLyogQ29udmVydCB0 byBudW1lcmljLCBsaWtlIHBnX3N0YXRfc3RhdGVtZW50cyAqLworCXNucHJpbnRmKGJ1Ziwg c2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1BVCwgZXh0dmFjdXVtLT53YWxfYnl0ZXMpOworCXZh bHVlc1tpKytdID0gRGlyZWN0RnVuY3Rpb25DYWxsMyhudW1lcmljX2luLAorCQkJCQkJCQkJ ICBDU3RyaW5nR2V0RGF0dW0oYnVmKSwKKwkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bSgw KSwKKwkJCQkJCQkJCSAgSW50MzJHZXREYXR1bSgtMSkpOworCisJdmFsdWVzW2krK10gPSBG bG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmJsa19yZWFkX3RpbWUpOworCXZhbHVlc1tpKytd ID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtfd3JpdGVfdGltZSk7CisJdmFsdWVz W2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmRlbGF5X3RpbWUpOworCXZhbHVl c1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF90aW1lKTsKKworCUFz c2VydChpID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9UQUJMRVNfU1RBVFNfQ09MUyk7CisKKwkv KiBSZXR1cm5zIHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KKwlQR19SRVRVUk5fREFUVU0oSGVh cFR1cGxlR2V0RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVlcywgbnVsbHMp KSk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxv Zy5jCmluZGV4IDg2MGJiZDQwZDQyLi40ZGE4ZDNmODdmZCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9y L2Vsb2cuYwpAQCAtMTYxOSw2ICsxNjE5LDE5IEBAIGdldGludGVybmFsZXJycG9zaXRpb24o dm9pZCkKIAlyZXR1cm4gZWRhdGEtPmludGVybmFscG9zOwogfQogCisvKgorICogUmV0dXJu IGVsZXZlbCBvZiBlcnJvcnMKKyAqLworaW50CitnZXRlcnJlbGV2ZWwodm9pZCkKK3sKKwlF cnJvckRhdGEgICplZGF0YSA9ICZlcnJvcmRhdGFbZXJyb3JkYXRhX3N0YWNrX2RlcHRoXTsK KworCS8qIHdlIGRvbid0IGJvdGhlciBpbmNyZW1lbnRpbmcgcmVjdXJzaW9uX2RlcHRoICov CisJQ0hFQ0tfU1RBQ0tfREVQVEgoKTsKKworCXJldHVybiBlZGF0YS0+ZWxldmVsOworfQog CiAvKgogICogRnVuY3Rpb25zIHRvIGFsbG93IGNvbnN0cnVjdGlvbiBvZiBlcnJvciBtZXNz YWdlIHN0cmluZ3Mgc2VwYXJhdGVseSBmcm9tCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9taXNjL2d1Y190YWJsZXMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3Rh Ymxlcy5jCmluZGV4IGFkMjVjYmIzOWM1Li43YmVkNTM5ZTZkNiAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvbWlzYy9ndWNfdGFibGVzLmMKQEAgLTE1MDEsNiArMTUwMSwxNSBAQCBzdHJ1Y3QgY29u ZmlnX2Jvb2wgQ29uZmlndXJlTmFtZXNCb29sW10gPQogCQlmYWxzZSwKIAkJTlVMTCwgTlVM TCwgTlVMTAogCX0sCisJeworCQl7InRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIiwgUEdDX1NV U0VULCBTVEFUU19DVU1VTEFUSVZFLAorCQkJZ2V0dGV4dF9ub29wKCJDb2xsZWN0cyB2YWN1 dW0gc3RhdGlzdGljcyBmb3IgdGFibGUgcmVsYXRpb25zLiIpLAorCQkJTlVMTAorCQl9LAor CQkmcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzLAorCQl0cnVlLAorCQlOVUxMLCBO VUxMLCBOVUxMCisJfSwKIAl7CiAJCXsidHJhY2tfd2FsX2lvX3RpbWluZyIsIFBHQ19TVVNF VCwgU1RBVFNfQ1VNVUxBVElWRSwKIAkJCWdldHRleHRfbm9vcCgiQ29sbGVjdHMgdGltaW5n IHN0YXRpc3RpY3MgZm9yIFdBTCBJL08gYWN0aXZpdHkuIiksCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUgYi9zcmMvYmFja2Vu ZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKaW5kZXggNTM2MmZmODA1MTku LjVmYWE4ZDRmOTk1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3Rn cmVzcWwuY29uZi5zYW1wbGUKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jl c3FsLmNvbmYuc2FtcGxlCkBAIC02NDQsNiArNjQ0LDcgQEAKICN0cmFja193YWxfaW9fdGlt aW5nID0gb2ZmCiAjdHJhY2tfZnVuY3Rpb25zID0gbm9uZQkJCSMgbm9uZSwgcGwsIGFsbAog I3N0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gY2FjaGUJIyBjYWNoZSwgbm9uZSwgc25hcHNo b3QKKyN0cmFja192YWN1dW1fc3RhdGlzdGljcyA9IG9mZgogCiAKICMgLSBNb25pdG9yaW5n IC0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMv aW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IGNkOTQyMmQwYmFjLi4yOWRjZDhi YWM1NSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysg Yi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC0xMjQ1MCw0ICsxMjQ1MCwy MiBAQAogICBwcm9hcmd0eXBlcyA9PiAnaW50NCcsCiAgIHByb3NyYyA9PiAnZ2lzdF9zdHJh dG51bV9jb21tb24nIH0sCiAKK3sgb2lkID0+ICc4MDAxJywKKyAgZGVzY3IgPT4gJ3BnX3N0 YXRfZ2V0X3ZhY3V1bV90YWJsZXMgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVzIGZvciB0 YWJsZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMnLCBwcm9y b3dzID0+IDEwMDAsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3Jk Jyxwcm9pc3N0cmljdCA9PiAnZicsCisgIHByb3JldHNldCA9PiAndCcsCisgIHByb2FyZ3R5 cGVzID0+ICdvaWQnLAorICBwcm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4 LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50 OCxpbnQ4LGludDgsaW50OCxpbnQ0LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZs b2F0OCxmbG9hdDgsZmxvYXQ4fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJn bmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0 LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxy ZWxfYmxrc19oaXQscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLHZtX25ld19mcm96ZW5f cGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2Vz LG1pc3NlZF9kZWFkX3BhZ2VzLHR1cGxlc19kZWxldGVkLHR1cGxlc19mcm96ZW4scmVjZW50 bHlfZGVhZF90dXBsZXMsbWlzc2VkX2RlYWRfdHVwbGVzLHdyYXBhcm91bmRfZmFpbHNhZmUs aW5kZXhfdmFjdXVtX2NvdW50LHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJsa19y ZWFkX3RpbWUsYmxrX3dyaXRlX3RpbWUsZGVsYXlfdGltZSx0b3RhbF90aW1lfScsCisgIHBy b3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcycgfSwKKworICB7IG9pZCA9PiAn ODAwMicsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdGltZXMgdGhlIGFsbC12 aXNpYmxlIHBhZ2VzIGluIHRoZSB2aXNpYmlsaXR5IG1hcCB3YXMgcmVtb3ZlZCBmb3IgcGFn ZXMgb2YgdGFibGUnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX3Zpc2li bGVfcGFnZXMnLCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFsbGVsID0+ICdyJywg cHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAorICBwcm9zcmMg PT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfdmlzaWJsZV9wYWdlcycgfSwKKyAgeyBvaWQgPT4g JzgwMDMnLCBkZXNjciA9PiAnc3RhdGlzdGljczogbnVtYmVyIG9mIHRpbWVzIHRoZSBhbGwt ZnJvemVuIHBhZ2VzIGluIHRoZSB2aXNpYmlsaXR5IG1hcCB3YXMgcmVtb3ZlZCBmb3IgcGFn ZXMgb2YgdGFibGUnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3pl bl9wYWdlcycsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBw cm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb3NyYyA9 PiAncGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMnIH0sCiBdCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRz L3ZhY3V1bS5oCmluZGV4IDE1NzFhNjZjNmJmLi5hNWZlNjIyZDkzMiAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFu ZHMvdmFjdXVtLmgKQEAgLTMyNiw2ICszMjYsNyBAQCBleHRlcm4gUEdETExJTVBPUlQgZG91 YmxlIHZhY3V1bV9tYXhfZWFnZXJfZnJlZXplX2ZhaWx1cmVfcmF0ZTsKIGV4dGVybiBQR0RM TElNUE9SVCBwZ19hdG9taWNfdWludDMyICpWYWN1dW1TaGFyZWRDb3N0QmFsYW5jZTsKIGV4 dGVybiBQR0RMTElNUE9SVCBwZ19hdG9taWNfdWludDMyICpWYWN1dW1BY3RpdmVOV29ya2Vy czsKIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgVmFjdXVtQ29zdEJhbGFuY2VMb2NhbDsKK2V4 dGVybiBQR0RMTElNUE9SVCBkb3VibGUgVmFjdXVtRGVsYXlUaW1lOwogCiBleHRlcm4gUEdE TExJTVBPUlQgYm9vbCBWYWN1dW1GYWlsc2FmZUFjdGl2ZTsKIGV4dGVybiBQR0RMTElNUE9S VCBkb3VibGUgdmFjdXVtX2Nvc3RfZGVsYXk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9w Z3N0YXQuaCBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IDY3NjU2MjY0YjYyLi44NGU2 MWEyN2IxNyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2lu Y2x1ZGUvcGdzdGF0LmgKQEAgLTExMiw2ICsxMTIsNTMgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdT dGF0X0JhY2tlbmRTdWJFbnRyeQogCVBnU3RhdF9Db3VudGVyIGNvbmZsaWN0X2NvdW50W0NP TkZMSUNUX05VTV9UWVBFU107CiB9IFBnU3RhdF9CYWNrZW5kU3ViRW50cnk7CiAKKy8qIC0t LS0tLS0tLS0KKyAqCisgKiBFeHRWYWNSZXBvcnQKKyAqCisgKiBBZGRpdGlvbmFsIHN0YXRp c3RpY3Mgb2YgdmFjdXVtIHByb2Nlc3Npbmcgb3ZlciBhIGhlYXAgcmVsYXRpb24uCisgKiBw YWdlc19yZW1vdmVkIGlzIHRoZSBhbW91bnQgYnkgd2hpY2ggdGhlIHBoeXNpY2FsbHkgc2hy YW5rLAorICogaWYgYW55IChpZSB0aGUgY2hhbmdlIGluIGl0cyB0b3RhbCBzaXplIG9uIGRp c2spCisgKiBwYWdlc19kZWxldGVkIHJlZmVyIHRvIGZyZWUgc3BhY2Ugd2l0aGluIHRoZSBp bmRleCBmaWxlCisgKiAtLS0tLS0tLS0tCisgKi8KK3R5cGVkZWYgc3RydWN0IEV4dFZhY1Jl cG9ydAoreworCS8qIG51bWJlciBvZiBibG9ja3MgbWlzc2VkLCBoaXQsIGRpcnRpZWQgYW5k IHdyaXR0ZW4gZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNpZmljIHJlbGF0aW9uICovCisJaW50 NjQJCXRvdGFsX2Jsa3NfcmVhZDsKKwlpbnQ2NAkJdG90YWxfYmxrc19oaXQ7CisJaW50NjQJ CXRvdGFsX2Jsa3NfZGlydGllZDsKKwlpbnQ2NAkJdG90YWxfYmxrc193cml0dGVuOworCisJ LyogYmxvY2tzIG1pc3NlZCBhbmQgaGl0IGZvciBqdXN0IHRoZSBoZWFwIGR1cmluZyBhIHZh Y3V1bSBvZiBzcGVjaWZpYyByZWxhdGlvbiAqLworCWludDY0CQlibGtzX2ZldGNoZWQ7CisJ aW50NjQJCWJsa3NfaGl0OworCisJLyogVmFjdXVtIFdBTCB1c2FnZSBzdGF0cyAqLworCWlu dDY0CQl3YWxfcmVjb3JkczsJLyogd2FsIHVzYWdlOiBudW1iZXIgb2YgV0FMIHJlY29yZHMg Ki8KKwlpbnQ2NAkJd2FsX2ZwaTsJCS8qIHdhbCB1c2FnZTogbnVtYmVyIG9mIFdBTCBmdWxs IHBhZ2UgaW1hZ2VzIHByb2R1Y2VkICovCisJdWludDY0CQl3YWxfYnl0ZXM7CQkvKiB3YWwg dXNhZ2U6IHNpemUgb2YgV0FMIHJlY29yZHMgcHJvZHVjZWQgKi8KKworCS8qIFRpbWUgc3Rh dHMuICovCisJZG91YmxlCQlibGtfcmVhZF90aW1lOwkvKiB0aW1lIHNwZW50IHJlYWRpbmcg cGFnZXMsIGluIG1zZWMgKi8KKwlkb3VibGUJCWJsa193cml0ZV90aW1lOyAvKiB0aW1lIHNw ZW50IHdyaXRpbmcgcGFnZXMsIGluIG1zZWMgKi8KKwlkb3VibGUJCWRlbGF5X3RpbWU7CQkv KiBob3cgbG9uZyB2YWN1dW0gc2xlcHQgaW4gdmFjdXVtIGRlbGF5IHBvaW50LCBpbiBtc2Vj ICovCisJZG91YmxlCQl0b3RhbF90aW1lOwkJLyogdG90YWwgdGltZSBvZiBhIHZhY3V1bSBv cGVyYXRpb24sIGluIG1zZWMgKi8KKworCWludDY0CQlwYWdlc19zY2FubmVkOwkJLyogaGVh cCBwYWdlcyBleGFtaW5lZCAobm90IHNraXBwZWQgYnkgVk0pICovCisJaW50NjQJCXBhZ2Vz X3JlbW92ZWQ7CQkvKiBoZWFwIHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICJ0cnVuY2F0aW9u IiAqLworCWludDY0CQl2bV9uZXdfZnJvemVuX3BhZ2VzOwkJLyogcGFnZXMgbWFya2VkIGlu IFZNIGFzIGZyb3plbiAqLworCWludDY0CQl2bV9uZXdfdmlzaWJsZV9wYWdlczsJLyogcGFn ZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICovCisJaW50NjQJCXZtX25ld192aXNp YmxlX2Zyb3plbl9wYWdlczsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxl IGFuZCBmcm96ZW4gKi8KKwlpbnQ2NAkJbWlzc2VkX2RlYWRfdHVwbGVzOwkJLyogdHVwbGVz IG5vdCBwcnVuZWQgYnkgdmFjdXVtIGR1ZSB0byBmYWlsdXJlIHRvIGdldCBhIGNsZWFudXAg bG9jayAqLworCWludDY0CQltaXNzZWRfZGVhZF9wYWdlczsJCS8qIHBhZ2VzIHdpdGggbWlz c2VkIGRlYWQgdHVwbGVzICovCisJaW50NjQJCXR1cGxlc19kZWxldGVkOwkJLyogdHVwbGVz IGRlbGV0ZWQgYnkgdmFjdXVtICovCisJaW50NjQJCXR1cGxlc19mcm96ZW47CQkvKiB0dXBs ZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAqLworCWludDY0CQlyZWNlbnRseV9kZWFkX3R1cGxl czsJLyogZGVsZXRlZCB0dXBsZXMgdGhhdCBhcmUgc3RpbGwgdmlzaWJsZSB0byBzb21lIHRy YW5zYWN0aW9uICovCisJaW50NjQJCWluZGV4X3ZhY3V1bV9jb3VudDsJLyogdGhlIG51bWJl ciBvZiBpbmRleCB2YWN1dW1pbmdzICovCisJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVf Y291bnQ7CS8qIG51bWJlciBvZiBlbWVyZ2VuY3kgdmFjdXVtcyB0byBwcmV2ZW50IGFudGkt d3JhcGFyb3VuZCBzaHV0ZG93biAqLworfSBFeHRWYWNSZXBvcnQ7CisKIC8qIC0tLS0tLS0t LS0KICAqIFBnU3RhdF9UYWJsZUNvdW50cwkJCVRoZSBhY3R1YWwgcGVyLXRhYmxlIGNvdW50 cyBrZXB0IGJ5IGEgYmFja2VuZAogICoKQEAgLTE1NCw2ICsyMDEsMTYgQEAgdHlwZWRlZiBz dHJ1Y3QgUGdTdGF0X1RhYmxlQ291bnRzCiAKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfZmV0 Y2hlZDsKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfaGl0OworCisJUGdTdGF0X0NvdW50ZXIg cmV2X2FsbF92aXNpYmxlX3BhZ2VzOworCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfZnJvemVu X3BhZ2VzOworCisJLyoKKwkgKiBBZGRpdGlvbmFsIGN1bXVsYXRpdmUgc3RhdCBvbiB2YWN1 dW0gb3BlcmF0aW9ucy4KKwkgKiBVc2UgYW4gZXhwZW5zaXZlIHN0cnVjdHVyZSBhcyBhbiBh YnN0cmFjdGlvbiBmb3IgZGlmZmVyZW50IHR5cGVzIG9mCisJICogcmVsYXRpb25zLgorCSAq LworCUV4dFZhY1JlcG9ydAl2YWN1dW1fZXh0OwogfSBQZ1N0YXRfVGFibGVDb3VudHM7CiAK IC8qIC0tLS0tLS0tLS0KQEAgLTIxMiw3ICsyNjksNyBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0 YXRfVGFibGVYYWN0U3RhdHVzCiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCi0jZGVmaW5lIFBHU1RBVF9G SUxFX0ZPUk1BVF9JRAkweDAxQTVCQ0I1CisjZGVmaW5lIFBHU1RBVF9GSUxFX0ZPUk1BVF9J RAkweDAxQTVCQ0I2CiAKIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9BcmNoaXZlclN0YXRzCiB7 CkBAIC0zOTQsNiArNDUxLDggQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXREQkVudHJ5 CiAJUGdTdGF0X0NvdW50ZXIgcGFyYWxsZWxfd29ya2Vyc19sYXVuY2hlZDsKIAogCVRpbWVz dGFtcFR6IHN0YXRfcmVzZXRfdGltZXN0YW1wOworCisJRXh0VmFjUmVwb3J0IHZhY3V1bV9l eHQ7CQkvKiBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyAqLwogfSBQZ1N0YXRfU3RhdERC RW50cnk7CiAKIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9TdGF0RnVuY0VudHJ5CkBAIC00NzIs NiArNTMxLDExIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9TdGF0VGFiRW50cnkKIAlQZ1N0 YXRfQ291bnRlciB0b3RhbF9hdXRvdmFjdXVtX3RpbWU7CiAJUGdTdGF0X0NvdW50ZXIgdG90 YWxfYW5hbHl6ZV90aW1lOwogCVBnU3RhdF9Db3VudGVyIHRvdGFsX2F1dG9hbmFseXplX3Rp bWU7CisKKwlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zpc2libGVfcGFnZXM7CisJUGdTdGF0 X0NvdW50ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7CisKKwlFeHRWYWNSZXBvcnQgdmFjdXVt X2V4dDsKIH0gUGdTdGF0X1N0YXRUYWJFbnRyeTsKIAogLyogLS0tLS0tCkBAIC02NTQsNyAr NzE4LDcgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3VubGlua19yZWxhdGlvbihSZWxhdGlvbiBy ZWwpOwogCiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQs IGJvb2wgc2hhcmVkLAogCQkJCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdT dGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKLQkJCQkJCQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGlt ZSk7CisJCQkJCQkJCSBUaW1lc3RhbXBUeiBzdGFydHRpbWUsIEV4dFZhY1JlcG9ydCAqcGFy YW1zKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiByZWws CiAJCQkJCQkJCSAgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIg ZGVhZHR1cGxlcywKIAkJCQkJCQkJICBib29sIHJlc2V0Y291bnRlciwgVGltZXN0YW1wVHog c3RhcnR0aW1lKTsKQEAgLTcwNSw2ICs3NjksMTcgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3Jl cG9ydF9hbmFseXplKFJlbGF0aW9uIHJlbCwKIAkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRf cmVsYXRpb24ocmVsKSkJCQkJCQlcCiAJCQkocmVsKS0+cGdzdGF0X2luZm8tPmNvdW50cy5i bG9ja3NfaGl0Kys7CQkJCVwKIAl9IHdoaWxlICgwKQorLyogYWNjdW11bGF0ZSB1bmZyb3pl biBhbGwtdmlzaWJsZSBhbmQgYWxsLWZyb3plbiBwYWdlcyAqLworI2RlZmluZSBwZ3N0YXRf Y291bnRfdm1fcmV2X2FsbF92aXNpYmxlKHJlbCkJCQkJCQlcCisJZG8gewkJCQkJCQkJCQkJ CQkJCVwKKwkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlc CisJCQkocmVsKS0+cGdzdGF0X2luZm8tPmNvdW50cy5yZXZfYWxsX3Zpc2libGVfcGFnZXMr KzsJXAorCX0gd2hpbGUgKDApCisjZGVmaW5lIHBnc3RhdF9jb3VudF92bV9yZXZfYWxsX2Zy b3plbihyZWwpCQkJCQkJXAorCWRvIHsJCQkJCQkJCQkJCQkJCQlcCisJCWlmIChwZ3N0YXRf c2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAorCQkJKHJlbCktPnBnc3RhdF9p bmZvLT5jb3VudHMucmV2X2FsbF9mcm96ZW5fcGFnZXMrKzsJXAorCX0gd2hpbGUgKDApCiAK IGV4dGVybiB2b2lkIHBnc3RhdF9jb3VudF9oZWFwX2luc2VydChSZWxhdGlvbiByZWwsIFBn U3RhdF9Db3VudGVyIG4pOwogZXh0ZXJuIHZvaWQgcGdzdGF0X2NvdW50X2hlYXBfdXBkYXRl KFJlbGF0aW9uIHJlbCwgYm9vbCBob3QsIGJvb2wgbmV3cGFnZSk7CkBAIC03OTMsNiArODY4 LDcgQEAgZXh0ZXJuIFBnU3RhdF9XYWxTdGF0cyAqcGdzdGF0X2ZldGNoX3N0YXRfd2FsKHZv aWQpOwogZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgcGdzdGF0X3RyYWNrX2NvdW50czsKIGV4 dGVybiBQR0RMTElNUE9SVCBpbnQgcGdzdGF0X3RyYWNrX2Z1bmN0aW9uczsKIGV4dGVybiBQ R0RMTElNUE9SVCBpbnQgcGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5OworZXh0ZXJuIFBHRExM SU1QT1JUIGJvb2wgcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwogCiAKIC8qCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmggYi9zcmMvaW5jbHVkZS91dGls cy9lbG9nLmgKaW5kZXggYTAyNDRiZmYxZmMuLjUxMjg5MDg5NmZlIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS91dGlscy9lbG9nLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5o CkBAIC0yMzAsNiArMjMwLDcgQEAgZXh0ZXJuIGludAlnZXRlcnJsZXZlbCh2b2lkKTsKIGV4 dGVybiBpbnQJZ2V0ZXJycG9zaXRpb24odm9pZCk7CiBleHRlcm4gaW50CWdldGludGVybmFs ZXJycG9zaXRpb24odm9pZCk7CiAKK2V4dGVybiBpbnQJZ2V0ZXJyZWxldmVsKHZvaWQpOwog CiAvKi0tLS0tLS0tLS0KICAqIE9sZC1zdHlsZSBlcnJvciByZXBvcnRpbmcgQVBJOiB0byBi ZSB1c2VkIGluIHRoaXMgd2F5OgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4 cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0IGIvc3JjL3Rl c3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJl YWQub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44N2Y3ZTQw YjRhNgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92 YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dApAQCAtMCwwICsxLDUzIEBA Cit1bnVzZWQgc3RlcCBuYW1lOiBzMl9kZWxldGUKK1BhcnNlZCB0ZXN0IHNwZWMgd2l0aCAy IHNlc3Npb25zCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBzMl9pbnNlcnQgczJfcHJpbnRf dmFjdXVtX3N0YXRzX3RhYmxlIHMxX2JlZ2luX3JlcGVhdGFibGVfcmVhZCBzMl91cGRhdGUg czJfaW5zZXJ0X2ludGVycnVwdCBzMl92YWN1dW0gczJfcHJpbnRfdmFjdXVtX3N0YXRzX3Rh YmxlIHMxX2NvbW1pdCBzMl9jaGVja3BvaW50IHMyX3ZhY3V1bSBzMl9wcmludF92YWN1dW1f c3RhdHNfdGFibGUKK3N0ZXAgczJfaW5zZXJ0OiBJTlNFUlQgSU5UTyB0ZXN0X3ZhY3V1bV9z dGF0X2lzb2xhdGlvbihpZCwgaXZhbCkgU0VMRUNUIGl2YWwsIGl2YWwlMTAgRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMSwxMDAwKSBBcyBpdmFsOworc3RlcCBzMl9wcmludF92YWN1dW1fc3Rh dHNfdGFibGU6IAorICAgIFNFTEVDVAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxl dGVkLCB2dC5yZWNlbnRseV9kZWFkX3R1cGxlcywgdnQubWlzc2VkX2RlYWRfdHVwbGVzLCB2 dC5taXNzZWRfZGVhZF9wYWdlcywgdnQudHVwbGVzX2Zyb3plbgorICAgIEZST00gcGdfc3Rh dF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVsbmFtZSA9 ICd0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisK K3JlbG5hbWUgICAgICAgICAgICAgICAgICAgfHR1cGxlc19kZWxldGVkfHJlY2VudGx5X2Rl YWRfdHVwbGVzfG1pc3NlZF9kZWFkX3R1cGxlc3xtaXNzZWRfZGVhZF9wYWdlc3x0dXBsZXNf ZnJvemVuCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLQordGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAgICAg IDB8ICAgICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgICAwfCAgICAgICAgICAg ICAgICAwfCAgICAgICAgICAgIDAKKygxIHJvdykKKworc3RlcCBzMV9iZWdpbl9yZXBlYXRh YmxlX3JlYWQ6IAorICBCRUdJTiB0cmFuc2FjdGlvbiBJU09MQVRJT04gTEVWRUwgUkVQRUFU QUJMRSBSRUFEOworICBzZWxlY3QgY291bnQoaXZhbCkgZnJvbSB0ZXN0X3ZhY3V1bV9zdGF0 X2lzb2xhdGlvbiB3aGVyZSBpZD45MDA7CisKK2NvdW50CistLS0tLQorICAxMDAKKygxIHJv dykKKworc3RlcCBzMl91cGRhdGU6IFVQREFURSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlv biBTRVQgaXZhbCA9IGl2YWwgKyAyIHdoZXJlIGlkID4gOTAwOworc3RlcCBzMl9pbnNlcnRf aW50ZXJydXB0OiBJTlNFUlQgSU5UTyB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB2YWx1 ZXMgKDEsMSk7CitzdGVwIHMyX3ZhY3V1bTogVkFDVVVNIHRlc3RfdmFjdXVtX3N0YXRfaXNv bGF0aW9uOworc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6IAorICAgIFNFTEVD VAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxldGVkLCB2dC5yZWNlbnRseV9kZWFk X3R1cGxlcywgdnQubWlzc2VkX2RlYWRfdHVwbGVzLCB2dC5taXNzZWRfZGVhZF9wYWdlcywg dnQudHVwbGVzX2Zyb3plbgorICAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBw Z19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0X2lz b2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisKK3JlbG5hbWUgICAgICAgICAgICAg ICAgICAgfHR1cGxlc19kZWxldGVkfHJlY2VudGx5X2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFk X3R1cGxlc3xtaXNzZWRfZGVhZF9wYWdlc3x0dXBsZXNfZnJvemVuCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQordGVzdF92 YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgICAx MDB8ICAgICAgICAgICAgICAgICAwfCAgICAgICAgICAgICAgICAwfCAgICAgICAgICAgIDAK KygxIHJvdykKKworc3RlcCBzMV9jb21taXQ6IENPTU1JVDsKK3N0ZXAgczJfY2hlY2twb2lu dDogQ0hFQ0tQT0lOVDsKK3N0ZXAgczJfdmFjdXVtOiBWQUNVVU0gdGVzdF92YWN1dW1fc3Rh dF9pc29sYXRpb247CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZTogCisgICAg U0VMRUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LnJlY2VudGx5 X2RlYWRfdHVwbGVzLCB2dC5taXNzZWRfZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3Bh Z2VzLCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMg dnQsIHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworcmVsbmFtZSAgICAgICAg ICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8cmVjZW50bHlfZGVhZF90dXBsZXN8bWlzc2Vk X2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFkX3BhZ2VzfHR1cGxlc19mcm96ZW4KKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCit0 ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgIDEwMHwgICAgICAgICAgICAg ICAgIDEwMHwgICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgIDB8ICAgICAgICAg IDEwMQorKDEgcm93KQorCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0 aW9uX3NjaGVkdWxlIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZQpp bmRleCAxNDMxMDlhYTRkYS4uZTkzZGQ0ZjYyNmMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2lz b2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2lz b2xhdGlvbl9zY2hlZHVsZQpAQCAtOTUsNiArOTUsNyBAQCB0ZXN0OiB0aW1lb3V0cwogdGVz dDogdmFjdXVtLWNvbmN1cnJlbnQtZHJvcAogdGVzdDogdmFjdXVtLWNvbmZsaWN0CiB0ZXN0 OiB2YWN1dW0tc2tpcC1sb2NrZWQKK3Rlc3Q6IHZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRh YmxlLXJlYWQKIHRlc3Q6IHN0YXRzCiB0ZXN0OiBob3Jpem9ucwogdGVzdDogcHJlZGljYXRl LWhhc2gKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0 ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMgYi9zcmMvdGVzdC9pc29sYXRpb24vc3Bl Y3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5zcGVjCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41ODkzZDg5NTczZAotLS0gL2Rldi9udWxs CisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJl cGV0YWJsZS1yZWFkLnNwZWMKQEAgLTAsMCArMSw1MyBAQAorIyBUZXN0IGZvciBjaGVja2lu ZyByZWNlbnRseV9kZWFkX3R1cGxlcywgdHVwbGVzX2RlbGV0ZWQgYW5kIGZyb3plbiB0dXBs ZXMgaW4gcGdfc3RhdF92YWN1dW1fdGFibGVzLgorIyByZWNlbnRseV9kZWFkX3R1cGxlcyB2 YWx1ZXMgYXJlIGNvdW50ZWQgd2hlbiB2YWN1dW0gaGFzbid0IGNsZWFyZWQgdHVwbGVzIGJl Y2F1c2UgdGhleSB3ZXJlIGRlbGV0ZWQgcmVjZW50bHkuCisjIHJlY2VudGx5X2RlYWRfdHVw bGVzIGFyZW4ndCBpbmNyZWFzZWQgYWZ0ZXIgcmVsZWFzaW5nIGxvY2sgY29tcGFyZWQgd2l0 aCB0dXBsZXNfZGVsZXRlZCwgd2hpY2ggaW5jcmVhc2VkCisjIGJ5IHRoZSB2YWx1ZSBvZiB0 aGUgY2xlYXJlZCB0dXBsZXMgdGhhdCB0aGUgdmFjdXVtIG1hbmFnZWQgdG8gY2xlYXIuCisK K3NldHVwCit7CisgICAgQ1JFQVRFIFRBQkxFIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9u KGlkIGludCwgaXZhbCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZik7Cisg ICAgU0VUIHRyYWNrX2lvX3RpbWluZyA9IG9uOworICAgIFNFVCB0cmFja192YWN1dW1fc3Rh dGlzdGljcyBUTyAnb24nOworfQorCit0ZWFyZG93bgoreworICAgIERST1AgVEFCTEUgdGVz dF92YWN1dW1fc3RhdF9pc29sYXRpb24gQ0FTQ0FERTsKKyAgICBSRVNFVCB0cmFja19pb190 aW1pbmc7CisgICAgUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7Cit9CisKK3Nlc3Np b24gczEKK3N0ZXAgczFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkICAgeworICBCRUdJTiB0cmFu c2FjdGlvbiBJU09MQVRJT04gTEVWRUwgUkVQRUFUQUJMRSBSRUFEOworICBzZWxlY3QgY291 bnQoaXZhbCkgZnJvbSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB3aGVyZSBpZD45MDA7 CisgIH0KK3N0ZXAgczFfY29tbWl0ICAgICAgICAgICAgICAgICAgeyBDT01NSVQ7IH0KKwor c2Vzc2lvbiBzMgorc3RlcCBzMl9pbnNlcnQgICAgICAgICAgICAgICAgICB7IElOU0VSVCBJ TlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uKGlkLCBpdmFsKSBTRUxFQ1QgaXZhbCwg aXZhbCUxMCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDEwMDApIEFzIGl2YWw7IH0KK3N0ZXAg czJfdXBkYXRlICAgICAgICAgICAgICAgICAgeyBVUERBVEUgdGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb24gU0VUIGl2YWwgPSBpdmFsICsgMiB3aGVyZSBpZCA+IDkwMDsgfQorc3RlcCBz Ml9kZWxldGUgICAgICAgICAgICAgICAgICB7IERFTEVURSBGUk9NIHRlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9uIHdoZXJlIGlkID4gOTAwOyB9CitzdGVwIHMyX2luc2VydF9pbnRlcnJ1 cHQgICAgICAgIHsgSU5TRVJUIElOVE8gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gdmFs dWVzICgxLDEpOyB9CitzdGVwIHMyX3ZhY3V1bSAgICAgICAgICAgICAgICAgIHsgVkFDVVVN IHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uOyB9CitzdGVwIHMyX2NoZWNrcG9pbnQgICAg ICAgICAgICAgIHsgQ0hFQ0tQT0lOVDsgfQorc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNf dGFibGUKK3sKKyAgICBTRUxFQ1QKKyAgICB2dC5yZWxuYW1lLCB2dC50dXBsZXNfZGVsZXRl ZCwgdnQucmVjZW50bHlfZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3R1cGxlcywgdnQu bWlzc2VkX2RlYWRfcGFnZXMsIHZ0LnR1cGxlc19mcm96ZW4KKyAgICBGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworICAgIFdIRVJFIHZ0LnJlbG5hbWUgPSAn dGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24nIEFORCB2dC5yZWxpZCA9IGMub2lkOworfQor CitwZXJtdXRhdGlvbgorICAgIHMyX2luc2VydAorICAgIHMyX3ByaW50X3ZhY3V1bV9zdGF0 c190YWJsZQorICAgIHMxX2JlZ2luX3JlcGVhdGFibGVfcmVhZAorICAgIHMyX3VwZGF0ZQor ICAgIHMyX2luc2VydF9pbnRlcnJ1cHQKKyAgICBzMl92YWN1dW0KKyAgICBzMl9wcmludF92 YWN1dW1fc3RhdHNfdGFibGUKKyAgICBzMV9jb21taXQKKyAgICBzMl9jaGVja3BvaW50Cisg ICAgczJfdmFjdXVtCisgICAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApp bmRleCA2MmY2OWFjMjBiMi4uMzhmOTMyOTRmYmYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcnVsZXMub3V0CkBAIC0xODA4LDcgKzE4MDgsOSBAQCBwZ19zdGF0X2FsbF90YWJsZXN8 IFNFTEVDVCBjLm9pZCBBUyByZWxpZCwKICAgICBwZ19zdGF0X2dldF90b3RhbF92YWN1dW1f dGltZShjLm9pZCkgQVMgdG90YWxfdmFjdXVtX3RpbWUsCiAgICAgcGdfc3RhdF9nZXRfdG90 YWxfYXV0b3ZhY3V1bV90aW1lKGMub2lkKSBBUyB0b3RhbF9hdXRvdmFjdXVtX3RpbWUsCiAg ICAgcGdfc3RhdF9nZXRfdG90YWxfYW5hbHl6ZV90aW1lKGMub2lkKSBBUyB0b3RhbF9hbmFs eXplX3RpbWUsCi0gICAgcGdfc3RhdF9nZXRfdG90YWxfYXV0b2FuYWx5emVfdGltZShjLm9p ZCkgQVMgdG90YWxfYXV0b2FuYWx5emVfdGltZQorICAgIHBnX3N0YXRfZ2V0X3RvdGFsX2F1 dG9hbmFseXplX3RpbWUoYy5vaWQpIEFTIHRvdGFsX2F1dG9hbmFseXplX3RpbWUsCisgICAg cGdfc3RhdF9nZXRfcmV2X2FsbF9mcm96ZW5fcGFnZXMoYy5vaWQpIEFTIHJldl9hbGxfZnJv emVuX3BhZ2VzLAorICAgIHBnX3N0YXRfZ2V0X3Jldl9hbGxfdmlzaWJsZV9wYWdlcyhjLm9p ZCkgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiAgICBGUk9NICgocGdfY2xhc3MgYwogICAg ICBMRUZUIEpPSU4gcGdfaW5kZXggaSBPTiAoKGMub2lkID0gaS5pbmRyZWxpZCkpKQogICAg ICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIG4gT04gKChuLm9pZCA9IGMucmVsbmFtZXNwYWNl KSkpCkBAIC0yMjAwLDcgKzIyMDIsOSBAQCBwZ19zdGF0X3N5c190YWJsZXN8IFNFTEVDVCBy ZWxpZCwKICAgICB0b3RhbF92YWN1dW1fdGltZSwKICAgICB0b3RhbF9hdXRvdmFjdXVtX3Rp bWUsCiAgICAgdG90YWxfYW5hbHl6ZV90aW1lLAotICAgIHRvdGFsX2F1dG9hbmFseXplX3Rp bWUKKyAgICB0b3RhbF9hdXRvYW5hbHl6ZV90aW1lLAorICAgIHJldl9hbGxfZnJvemVuX3Bh Z2VzLAorICAgIHJldl9hbGxfdmlzaWJsZV9wYWdlcwogICAgRlJPTSBwZ19zdGF0X2FsbF90 YWJsZXMKICAgV0hFUkUgKChzY2hlbWFuYW1lID0gQU5ZIChBUlJBWVsncGdfY2F0YWxvZyc6 Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hlbWEnOjpuYW1lXSkpIE9SIChzY2hlbWFuYW1lIH4g J15wZ190b2FzdCc6OnRleHQpKTsKIHBnX3N0YXRfdXNlcl9mdW5jdGlvbnN8IFNFTEVDVCBw Lm9pZCBBUyBmdW5jaWQsCkBAIC0yMjUyLDkgKzIyNTYsNDMgQEAgcGdfc3RhdF91c2VyX3Rh Ymxlc3wgU0VMRUNUIHJlbGlkLAogICAgIHRvdGFsX3ZhY3V1bV90aW1lLAogICAgIHRvdGFs X2F1dG92YWN1dW1fdGltZSwKICAgICB0b3RhbF9hbmFseXplX3RpbWUsCi0gICAgdG90YWxf YXV0b2FuYWx5emVfdGltZQorICAgIHRvdGFsX2F1dG9hbmFseXplX3RpbWUsCisgICAgcmV2 X2FsbF9mcm96ZW5fcGFnZXMsCisgICAgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiAgICBGUk9N IHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPD4gQUxMIChBUlJB WVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hlbWEnOjpuYW1lXSkpIEFO RCAoc2NoZW1hbmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOworcGdfc3RhdF92YWN1dW1f dGFibGVzfCBTRUxFQ1QgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAorICAgIHJlbC5yZWxu YW1lLAorICAgIHN0YXRzLnJlbGlkLAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCwKKyAg ICBzdGF0cy50b3RhbF9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQs CisgICAgc3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0YXRzLnJlbF9ibGtzX3Jl YWQsCisgICAgc3RhdHMucmVsX2Jsa3NfaGl0LAorICAgIHN0YXRzLnBhZ2VzX3NjYW5uZWQs CisgICAgc3RhdHMucGFnZXNfcmVtb3ZlZCwKKyAgICBzdGF0cy52bV9uZXdfZnJvemVuX3Bh Z2VzLAorICAgIHN0YXRzLnZtX25ld192aXNpYmxlX3BhZ2VzLAorICAgIHN0YXRzLnZtX25l d192aXNpYmxlX2Zyb3plbl9wYWdlcywKKyAgICBzdGF0cy5taXNzZWRfZGVhZF9wYWdlcywK KyAgICBzdGF0cy50dXBsZXNfZGVsZXRlZCwKKyAgICBzdGF0cy50dXBsZXNfZnJvemVuLAor ICAgIHN0YXRzLnJlY2VudGx5X2RlYWRfdHVwbGVzLAorICAgIHN0YXRzLm1pc3NlZF9kZWFk X3R1cGxlcywKKyAgICBzdGF0cy53cmFwYXJvdW5kX2ZhaWxzYWZlLAorICAgIHN0YXRzLmlu ZGV4X3ZhY3V1bV9jb3VudCwKKyAgICBzdGF0cy53YWxfcmVjb3JkcywKKyAgICBzdGF0cy53 YWxfZnBpLAorICAgIHN0YXRzLndhbF9ieXRlcywKKyAgICBzdGF0cy5ibGtfcmVhZF90aW1l LAorICAgIHN0YXRzLmJsa193cml0ZV90aW1lLAorICAgIHN0YXRzLmRlbGF5X3RpbWUsCisg ICAgc3RhdHMudG90YWxfdGltZQorICAgRlJPTSAocGdfY2xhc3MgcmVsCisgICAgIEpPSU4g cGdfbmFtZXNwYWNlIG5zIE9OICgobnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSkpKSwKKyAg ICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMocmVsLm9pZCkgc3RhdHMocmVs aWQsIHRvdGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGll ZCwgdG90YWxfYmxrc193cml0dGVuLCByZWxfYmxrc19yZWFkLCByZWxfYmxrc19oaXQsIHBh Z2VzX3NjYW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHZtX25ld19mcm96ZW5fcGFnZXMsIHZtX25l d192aXNpYmxlX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIG1pc3NlZF9k ZWFkX3BhZ2VzLCB0dXBsZXNfZGVsZXRlZCwgdHVwbGVzX2Zyb3plbiwgcmVjZW50bHlfZGVh ZF90dXBsZXMsIG1pc3NlZF9kZWFkX3R1cGxlcywgd3JhcGFyb3VuZF9mYWlsc2FmZSwgaW5k ZXhfdmFjdXVtX2NvdW50LCB3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzLCBibGtf cmVhZF90aW1lLCBibGtfd3JpdGVfdGltZSwgZGVsYXlfdGltZSwgdG90YWxfdGltZSkKKyAg V0hFUkUgKHJlbC5yZWxraW5kID0gJ3InOjoiY2hhciIpOwogcGdfc3RhdF93YWx8IFNFTEVD VCB3YWxfcmVjb3JkcywKICAgICB3YWxfZnBpLAogICAgIHdhbF9ieXRlcywKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNz Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0 aWNzLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYjVlYTlj OWFiMWUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Zh Y3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKQEAgLTAsMCArMSwyMjcgQEAKKy0tCistLSBU ZXN0IGN1bXVsYXRpdmUgdmFjdXVtIHN0YXRzIHN5c3RlbQorLS0KKy0tIENoZWNrIHRoZSB3 YWxsIHN0YXRpc3RpY3MgY29sbGVjdGVkIGR1cmluZyB2YWN1dW0gb3BlcmF0aW9uOgorLS0g bnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyBzZXQgYnkgdmFjdXVtOworLS0g bnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQu CistLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGluIHRoaXMgdGVzdCBi ZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KKy0tCistLSBjb25kaXRpbyBzaW5l IHF1YSBub24KK1NIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgorIHRyYWNrX2Nv dW50cyAKKy0tLS0tLS0tLS0tLS0tCisgb24KKygxIHJvdykKKworXHNldCBzYW1wbGVfc2l6 ZSAxMDAwMAorLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVz dCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKKy0tIFRlc3QgdGhhdCB2 YWN1dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9mZi4K K1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKK0NSRUFURSBUQUJMRSB2 ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0 b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK0RFTEVURSBG Uk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZF Ul9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKy0tIE11c3QgYmUgZW1wdHkuCitTRUxFQ1Qg cmVsbmFtZSx0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2Rp cnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxrc19yZWFkLCByZWxfYmxrc19oaXQs CitwYWdlc19zY2FubmVkLCBwYWdlc19yZW1vdmVkLCB2bV9uZXdfZnJvemVuX3BhZ2VzLCB2 bV9uZXdfdmlzaWJsZV9wYWdlcywgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLCBtaXNz ZWRfZGVhZF9wYWdlcywKK3R1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVuLCByZWNlbnRs eV9kZWFkX3R1cGxlcywgbWlzc2VkX2RlYWRfdHVwbGVzLCBpbmRleF92YWN1dW1fY291bnQs Cit3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzLCBibGtfcmVhZF90aW1lLCBibGtf d3JpdGVfdGltZSxkZWxheV90aW1lLCB0b3RhbF90aW1lCitGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyB2dAorV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOworIHJlbG5hbWUgfCB0 b3RhbF9ibGtzX3JlYWQgfCB0b3RhbF9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8 IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8IHJlbF9ibGtzX3JlYWQgfCByZWxfYmxrc19oaXQgfCBw YWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3ZlZCB8IHZtX25ld19mcm96ZW5fcGFnZXMgfCB2 bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyB8IG1p c3NlZF9kZWFkX3BhZ2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCB0dXBsZXNfZnJvemVuIHwgcmVj ZW50bHlfZGVhZF90dXBsZXMgfCBtaXNzZWRfZGVhZF90dXBsZXMgfCBpbmRleF92YWN1dW1f Y291bnQgfCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCBibGtfcmVhZF90 aW1lIHwgYmxrX3dyaXRlX3RpbWUgfCBkZWxheV90aW1lIHwgdG90YWxfdGltZSAKKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgdmVzdGF0ICB8ICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAwIHwgICAgICAg ICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgMCB8ICAg ICAgICAgICAgMCB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAwIHwgICAgICAgICAg ICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAwIHwgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgMCB8ICAgICAg ICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgMCB8 ICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAwIHwgICAgICAgMCB8ICAgICAgICAg MCB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgMCB8ICAgICAgICAgIDAgfCAgICAg ICAgICAwCisoMSByb3cpCisKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOworRFJP UCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKK1NIT1cgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7 ICAtLSBtdXN0IGJlIG9uCisgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgb24KKygxIHJvdykKKworLS0gZW5zdXJlIHBlbmRpbmcgc3Rh dHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBw Z19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IAorKDEgcm93KQorCistLVNFVCBzdGF0c19mZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90 OworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxl ZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1Qg eCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FOQUxZWkUg dmVzdGF0OworU0VMRUNUIG9pZCBBUyByb2lkIGZyb20gcGdfY2xhc3Mgd2hlcmUgcmVsbmFt ZSA9ICd2ZXN0YXQnIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAw OworLS0gQmVmb3JlIHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4dGVuZGVkIHN0YXRz IHZpZXcgaXMgZW1wdHkuCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2Vz LHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZAor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgdm1f bmV3X2Zyb3plbl9wYWdlcyB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19z Y2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0KKyB2ZXN0YXQgIHwgICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAg ICAwIHwgICAgICA0NTUgfCAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgMAorKDEgcm93 KQorCitTRUxFQ1QgcmVscGFnZXMgQVMgcnAKK0ZST00gcGdfY2xhc3MgYworV0hFUkUgcmVs bmFtZSA9ICd2ZXN0YXQnIFxnc2V0CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FH RV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNl c3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gVGhl IHRhYmxlIGFuZCBpbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBzaG91bGQgc2hv dyB1cyB0aGF0CistLSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdlcywg YnV0IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBiZWNhdXNlIG9mIG5vdCBm dWxsIHRhYmxlIGhhdmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUsdm1fbmV3X2Zy b3plbl9wYWdlcyA+IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVsZXRlZCA+ IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdl c19zY2FubmVkID4gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQgPSAwIEFTIHBh Z2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBj CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7Cisg cmVsbmFtZSB8IHZtX25ld19mcm96ZW5fcGFnZXMgfCB0dXBsZXNfZGVsZXRlZCB8IHJlbHBh Z2VzIHwgcGFnZXNfc2Nhbm5lZCB8IHBhZ2VzX3JlbW92ZWQgCistLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8IGYgICAgICAgICAgICAgICAgICAg fCB0ICAgICAgICAgICAgICB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJv dykKKworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgQVMgZnAsdHVwbGVzX2RlbGV0ZWQg QVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQgQVMgcHMsIHBhZ2VzX3JlbW92 ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitX SEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQK Ky0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNv cmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKy0tIExv b2sgaW50byBXQUwgcmVjb3JkcyBkZWx0YXMuCitTRUxFQ1Qgd2FsX3JlY29yZHMgPiAwIEFT IGRXUiwgd2FsX2J5dGVzID4gMCBBUyBkV0IKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JzsKKyBkd3IgfCBkd2IgCistLS0tLSstLS0tLQor IHQgICB8IHQKKygxIHJvdykKKworREVMRVRFIEZST00gdmVzdGF0OzsKK1ZBQ1VVTSAoUEFS QUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZl c3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MK K0NIRUNLUE9JTlQ7CistLSBwYWdlc19yZW1vdmVkIG11c3QgYmUgaW5jcmVhc2VkCitTRUxF Q1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzLTpmcCA+IDAgQVMgdm1fbmV3X2Zy b3plbl9wYWdlcyx0dXBsZXNfZGVsZXRlZC06dGQgPiAwIEFTIHR1cGxlc19kZWxldGVkLHJl bHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID4gMCBBUyBw YWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID4gMCBBUyBwYWdlc19yZW1vdmVkCitG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVs bmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCB2bV9u ZXdfZnJvemVuX3BhZ2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3Nj YW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLQorIHZlc3RhdCAgfCBmICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAg ICAgfCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2 bV9uZXdfZnJvemVuX3BhZ2VzIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2Vz IEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHByCitGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFt ZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwg YWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3 ciwgd2FsX2J5dGVzLTpod2IgQVMgZHdiLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkKK0ZST00g cGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAor LS0gV0FMIGFkdmFuY2Ugc2hvdWxkIGJlIGRldGVjdGVkLgorU0VMRUNUIDpkd3IgPiAwIEFT IGRXUiwgOmR3YiA+IDAgQVMgZFdCOworIGR3ciB8IGR3YiAKKy0tLS0tKy0tLS0tCisgdCAg IHwgdAorKDEgcm93KQorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMK K1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFT IGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0 YXQnIFxnc2V0CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUg eCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQgdG8gc3RhdCBjb2xs ZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MKKy0tIGFyZSBk ZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQgaXMgbmVjZXNzYXJ5 IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIFN0b3JlIFdB TCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMg ZHdyMiwgd2FsX2J5dGVzLTpod2IgQVMgZHdiMiwgd2FsX2ZwaS06aGZwaSBBUyBkZnBpMgor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxn c2V0CistLSBXQUwgYW5kIG90aGVyIHN0YXRpc3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJl IGRldGVjdGVkLgorU0VMRUNUIDpkd3IyPTAgQVMgZFdSLCA6ZGZwaTI9MCBBUyBkRlBJLCA6 ZHdiMj0wIEFTIGRXQjsKKyBkd3IgfCBkZnBpIHwgZHdiIAorLS0tLS0rLS0tLS0tKy0tLS0t CisgdCAgIHwgdCAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUsdm1fbmV3 X2Zyb3plbl9wYWdlcy06ZnAgPSAwIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdHVwbGVzX2Rl bGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwIDwgMCBBUyBy ZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNfc2Nhbm5lZCxwYWdlc19y ZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQg dnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHR1 cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVkIHwgcGFnZXNfcmVtb3Zl ZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwg dCAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgZiAgICAgICAgfCB0ICAg ICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBB UyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5l ZCBBUyBwcyxwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxl cyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5y ZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJs ZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBp IEFTIGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2 ZXN0YXQnIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0YXQ7CitUUlVOQ0FURSB2ZXN0YXQ7CitW QUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFO VVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBz dGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFy aWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKK1NFTEVD VCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3cjMsIHdhbF9ieXRlcy06aHdiIEFTIGR3YjMsIHdh bF9mcGktOmhmcGkgQVMgZGZwaTMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2Vk CitTRUxFQ1QgOmR3cjM+MCBBUyBkV1IsIDpkZnBpMz0wIEFTIGRGUEksIDpkd2IzPjAgQVMg ZFdCOworIGR3ciB8IGRmcGkgfCBkd2IgCistLS0tLSstLS0tLS0rLS0tLS0KKyB0ICAgfCB0 ICAgIHwgdAorKDEgcm93KQorCistLQorLS0gTm93LCB0aGUgdGFibGUgYW5kIGluZGV4IGlz IGNvbXByZXNzZWQgaW50byB6ZXJvIG51bWJlciBvZiBwYWdlcy4gQ2hlY2sgaXQKKy0tIGlu IHZhY3V1bSBleHRlbmRlZCBzdGF0aXN0aWNzLgorLS0gVGhlIHZtX25ld19mcm96ZW5fcGFn ZXMsIHBhZ2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBiZSBjaGFuZ2VkCistLQorU0VM RUNUIHZ0LnJlbG5hbWUsdm1fbmV3X2Zyb3plbl9wYWdlcy06ZnAgPSAwIEFTIHZtX25ld19m cm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxy ZWxwYWdlcyAtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMg cGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgdm1f bmV3X2Zyb3plbl9wYWdlcyB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19z Y2FubmVkIHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0KKyB2ZXN0YXQgIHwgdCAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAg ICAgIHwgZiAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitEUk9QIFRB QkxFIHZlc3RhdCBDQVNDQURFOworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEgg KGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJ TlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6 ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworLS0gbXVzdCBiZSBlbXB0eQorU0VMRUNUIHZt X25ld19mcm96ZW5fcGFnZXMsIHZtX25ld192aXNpYmxlX3BhZ2VzLCByZXZfYWxsX2Zyb3pl bl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3Bh Z2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdI RVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKKyB2 bV9uZXdfZnJvemVuX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfcGFnZXMgfCByZXZfYWxsX2Zy b3plbl9wYWdlcyB8IHJldl9hbGxfdmlzaWJsZV9wYWdlcyB8IHZtX25ld192aXNpYmxlX2Zy b3plbl9wYWdlcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAwIHwgICAg ICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgMCB8ICAgICAgICAgICAg ICAgICAgICAgMCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorKDEgcm93KQorCitW QUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKy0t IGJhY2tlbmQgZGVmcmVlemVkIHBhZ2VzCitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyA+ IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx2bV9uZXdfdmlzaWJsZV9wYWdlcyA+IDAgQVMg dm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID4gMCBB UyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMscmV2X2FsbF9mcm96ZW5fcGFnZXMgPSAw IEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA9IDAgQVMg cmV2X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdf c3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0g J3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxs X3RhYmxlcy5yZWxpZDsKKyB2bV9uZXdfZnJvemVuX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVf cGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX2Zyb3plbl9w YWdlcyB8IHJldl9hbGxfdmlzaWJsZV9wYWdlcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBmICAgICAg ICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VM RUNUIHZtX25ld19mcm96ZW5fcGFnZXMgQVMgcGYsIHZtX25ld192aXNpYmxlX3BhZ2VzIEFT IHB2LHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyBBUyBwdmYsIHJldl9hbGxfZnJvemVu X3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxlX3BhZ2VzIEFTIGhhdnAKK0ZST00gcGdf c3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92 YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFi bGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkIFxnc2V0CitVUERBVEUgdmVz dGF0IFNFVCB4ID0geCArIDEwMDE7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FH RV9MSU1JVCAxMjgpIHZlc3RhdDsKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID4gOnBm IEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPiA6cHYgQVMg dm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID4gOnB2 ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMscmV2X2FsbF9mcm96ZW5fcGFnZXMg PiA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMg PiA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVz LnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0g cGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworIHZtX25ld19mcm96ZW5fcGFnZXMgfCB2bV9u ZXdfdmlzaWJsZV9wYWdlcyB8IHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyB8IHJldl9h bGxfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF92aXNpYmxlX3BhZ2VzIAorLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorIGYgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IGYgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgICAgIHwgZgorKDEg cm93KQorCitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBwZiwgdm1fbmV3X3Zpc2li bGVfcGFnZXMgQVMgcHYsIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyBBUyBwdmYsIHJl dl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxlX3BhZ2VzIEFTIGhh dnAKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hF UkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3Rh dF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkIFxnc2V0 CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsK Ky0tIHZhY3V1bSBmcmVlemVkIHBhZ2VzCitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyA9 IDpwZiBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID0gOnB2 IEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA9 IDpwdmYgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLCByZXZfYWxsX2Zyb3plbl9w YWdlcyA9IDpoYWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9w YWdlcyA9IDpoYXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVs aWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7Cisgdm1fbmV3X2Zyb3plbl9wYWdlcyB8 IHZtX25ld192aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIHwg cmV2X2FsbF9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX3Zpc2libGVfcGFnZXMgCistLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgdCAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwg dCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCB0 CisoMSByb3cpCisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9w YXJhbGxlbF9zY2hlZHVsZQppbmRleCAzN2I2ZDIxZTFmOS4uZmQzYmJmODU0MTggMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpAQCAtMTM2LDMgKzEzNiw4IEBAIHRlc3Q6 IGZhc3RfZGVmYXVsdAogIyBydW4gdGFibGVzcGFjZSB0ZXN0IGF0IHRoZSBlbmQgYmVjYXVz ZSBpdCBkcm9wcyB0aGUgdGFibGVzcGFjZSBjcmVhdGVkIGR1cmluZwogIyBzZXR1cCB0aGF0 IG90aGVyIHRlc3RzIG1heSB1c2UuCiB0ZXN0OiB0YWJsZXNwYWNlCisKKyMgLS0tLS0tLS0t LQorIyBDaGVjayB2YWN1dW0gc3RhdGlzdGljcworIyAtLS0tLS0tLS0tCit0ZXN0OiB2YWN1 dW1fdGFibGVzX3N0YXRpc3RpY3MKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mu c3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNx bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNWJjMzRiZWM2NGIK LS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVz X3N0YXRpc3RpY3Muc3FsCkBAIC0wLDAgKzEsMTgzIEBACistLQorLS0gVGVzdCBjdW11bGF0 aXZlIHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0 aWNzIGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBm cm96ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBm cm96ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlz dGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMg YmVoYXZpb3IgaXMgdW5zdGFibGUuCistLQorCistLSBjb25kaXRpbyBzaW5lIHF1YSBub24K K1NIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgorXHNldCBzYW1wbGVfc2l6ZSAx MDAwMAorCistLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0 IGl0Li4uCitTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOworCistLSBUZXN0IHRoYXQg dmFjdXVtIHN0YXRpc3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYu CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CisKK0NSRUFURSBUQUJM RSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxm YWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0 ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKKworREVM RVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKworVkFDVVVNIChQQVJBTExFTCAw LCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKKy0tIE11c3QgYmUgZW1wdHku CitTRUxFQ1QgcmVsbmFtZSx0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3NfaGl0LCB0b3Rh bF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbixyZWxfYmxrc19yZWFkLCByZWxf Ymxrc19oaXQsCitwYWdlc19zY2FubmVkLCBwYWdlc19yZW1vdmVkLCB2bV9uZXdfZnJvemVu X3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9wYWdlcywgdm1fbmV3X3Zpc2libGVfZnJvemVuX3Bh Z2VzLCBtaXNzZWRfZGVhZF9wYWdlcywKK3R1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVu LCByZWNlbnRseV9kZWFkX3R1cGxlcywgbWlzc2VkX2RlYWRfdHVwbGVzLCBpbmRleF92YWN1 dW1fY291bnQsCit3YWxfcmVjb3Jkcywgd2FsX2ZwaSwgd2FsX2J5dGVzLCBibGtfcmVhZF90 aW1lLCBibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLCB0b3RhbF90aW1lCitGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyB2dAorV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOworCitS RVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljczsKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NB REU7CisKK1NIT1cgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCisK Ky0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9m b3JjZV9uZXh0X2ZsdXNoKCk7CisKKy0tU0VUIHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0g c25hcHNob3Q7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1 bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0 IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4Owor QU5BTFlaRSB2ZXN0YXQ7CisKK1NFTEVDVCBvaWQgQVMgcm9pZCBmcm9tIHBnX2NsYXNzIHdo ZXJlIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCitERUxFVEUgRlJPTSB2ZXN0YXQgV0hF UkUgeCAlIDIgPSAwOworLS0gQmVmb3JlIHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4 dGVuZGVkIHN0YXRzIHZpZXcgaXMgZW1wdHkuCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdf ZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQscGFn ZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMK K1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NF TEVDVCByZWxwYWdlcyBBUyBycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0g J3Zlc3RhdCcgXGdzZXQKKworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElN SVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5 IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gVGhlIHRh YmxlIGFuZCBpbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBzaG91bGQgc2hvdyB1 cyB0aGF0CistLSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdlcywgYnV0 IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBiZWNhdXNlIG9mIG5vdCBmdWxs IHRhYmxlIGhhdmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUsdm1fbmV3X2Zyb3pl bl9wYWdlcyA+IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVsZXRlZCA+IDAg QVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19z Y2FubmVkID4gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQgPSAwIEFTIHBhZ2Vz X3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitX SEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxF Q1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxw YWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3ZlZCBBUyBwcgor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9y ZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBo d3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBpIEFTIGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0tIExvb2sgaW50 byBXQUwgcmVjb3JkcyBkZWx0YXMuCitTRUxFQ1Qgd2FsX3JlY29yZHMgPiAwIEFTIGRXUiwg d2FsX2J5dGVzID4gMCBBUyBkV0IKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJF IHJlbG5hbWUgPSAndmVzdGF0JzsKKworREVMRVRFIEZST00gdmVzdGF0OzsKK1ZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYp IHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3Rp Y3MKK0NIRUNLUE9JTlQ7CisKKy0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQK K1NFTEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMtOmZwID4gMCBBUyB2bV9u ZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkLTp0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0 ZWQscmVscGFnZXMgLTpycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPiAw IEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIgPiAwIEFTIHBhZ2VzX3JlbW92 ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2 dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1Qgdm1f bmV3X2Zyb3plbl9wYWdlcyBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBB UyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUg PSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwg YWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aHdyIEFTIGR3 ciwgd2FsX2J5dGVzLTpod2IgQVMgZHdiLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkKK0ZST00g cGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAor CistLSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3ciA+IDAg QVMgZFdSLCA6ZHdiID4gMCBBUyBkV0I7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdi LHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxu YW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZS T00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworREVMRVRFIEZST00g dmVzdGF0IFdIRVJFIHggJSAyID0gMDsKKy0tIFZBQ1VVTSBGVUxMIGRvZXNuJ3QgcmVwb3J0 IHRvIHN0YXQgY29sbGVjdG9yLiBTbywgbm8gYW55IGFkdmFuY2VtZW50cyBvZiBzdGF0aXN0 aWNzCistLSBhcmUgZGV0ZWN0ZWQgaGVyZS4KK1ZBQ1VVTSBGVUxMIHZlc3RhdDsKKy0tIEl0 IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7 CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9y ZWNvcmRzLTpod3IgQVMgZHdyMiwgd2FsX2J5dGVzLTpod2IgQVMgZHdiMiwgd2FsX2ZwaS06 aGZwaSBBUyBkZnBpMgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0tIFdBTCBhbmQgb3RoZXIgc3RhdGlzdGljcyBhZHZh bmNlIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3cjI9MCBBUyBkV1IsIDpk ZnBpMj0wIEFTIGRGUEksIDpkd2IyPTAgQVMgZFdCOworCitTRUxFQ1QgdnQucmVsbmFtZSx2 bV9uZXdfZnJvemVuX3BhZ2VzLTpmcCA9IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBs ZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPCAw IEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVkLHBh Z2VzX3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFj dXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQn IEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgQVMg ZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5uZWQg QVMgcHMscGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMg dnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JyBBTkQgdnQucmVs aWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJs ZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBod3Isd2FsX2J5dGVzIEFTIGh3Yix3YWxfZnBp IEFTIGhmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2 ZXN0YXQnIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsK K1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xF QU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2Fs IHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcyBhZnRlciByZW1vdmluZyBhbGwgdHVwbGVzIGZyb20gdGhlIHRhYmxlCitT RUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3IzLCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2Iz LCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworLS1UaGVyZSBhcmUgbm90aGluZyBj aGFuZ2VkCitTRUxFQ1QgOmR3cjM+MCBBUyBkV1IsIDpkZnBpMz0wIEFTIGRGUEksIDpkd2Iz PjAgQVMgZFdCOworCistLQorLS0gTm93LCB0aGUgdGFibGUgYW5kIGluZGV4IGlzIGNvbXBy ZXNzZWQgaW50byB6ZXJvIG51bWJlciBvZiBwYWdlcy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1 bSBleHRlbmRlZCBzdGF0aXN0aWNzLgorLS0gVGhlIHZtX25ld19mcm96ZW5fcGFnZXMsIHBh Z2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBiZSBjaGFuZ2VkCistLQorU0VMRUNUIHZ0 LnJlbG5hbWUsdm1fbmV3X2Zyb3plbl9wYWdlcy06ZnAgPSAwIEFTIHZtX25ld19mcm96ZW5f cGFnZXMsdHVwbGVzX2RlbGV0ZWQtOnRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdl cyAtOnJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA9IDAgQVMgcGFnZXNf c2Nhbm5lZCxwYWdlc19yZW1vdmVkLTpwciA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUg PSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworRFJPUCBUQUJMRSB2ZXN0YXQg Q0FTQ0FERTsKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVt X2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CisKK0lOU0VSVCBJTlRPIHZlc3Rh dCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsK K0FOQUxZWkUgdmVzdGF0OworCistLSBtdXN0IGJlIGVtcHR5CitTRUxFQ1Qgdm1fbmV3X2Zy b3plbl9wYWdlcywgdm1fbmV3X3Zpc2libGVfcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2Vz LHJldl9hbGxfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMKK0ZS T00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdf c3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1 dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworCitWQUNVVU0g KFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworLS0gYmFj a2VuZCBkZWZyZWV6ZWQgcGFnZXMKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID4gMCBB UyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID4gMCBBUyB2bV9u ZXdfdmlzaWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPiAwIEFTIHZt X25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyxyZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDAgQVMg cmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gMCBBUyByZXZf YWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0 X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVz dGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFi bGVzLnJlbGlkOworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgQVMgcGYsIHZtX25ld192 aXNpYmxlX3BhZ2VzIEFTIHB2LHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyBBUyBwdmYs IHJldl9hbGxfZnJvemVuX3BhZ2VzIEFTIGhhZnAscmV2X2FsbF92aXNpYmxlX3BhZ2VzIEFT IGhhdnAKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMg V0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdf c3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkIFxn c2V0CisKK1VQREFURSB2ZXN0YXQgU0VUIHggPSB4ICsgMTAwMTsKK1ZBQ1VVTSAoUEFSQUxM RUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworCitTRUxFQ1Qgdm1fbmV3 X2Zyb3plbl9wYWdlcyA+IDpwZiBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNp YmxlX3BhZ2VzID4gOnB2IEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlcyA+IDpwdmYgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLHJl dl9hbGxfZnJvemVuX3BhZ2VzID4gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2 X2FsbF92aXNpYmxlX3BhZ2VzID4gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCitG Uk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVzIFdIRVJFIHBn X3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFj dXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsKK1NFTEVDVCB2 bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHBmLCB2bV9uZXdfdmlzaWJsZV9wYWdlcyBBUyBwdiwg dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHB2ZiwgcmV2X2FsbF9mcm96ZW5fcGFn ZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMu cmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdzZXQKKworVkFDVVVNIChQQVJB TExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2ZXN0YXQ7CisKKy0tIHZhY3V1bSBm cmVlemVkIHBhZ2VzCitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyA9IDpwZiBBUyB2bV9u ZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID0gOnB2IEFTIHZtX25ld192 aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA9IDpwdmYgQVMgdm1f bmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLCByZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDpoYWZw IEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA9IDpoYXZw IEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMs IHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFt ZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0 X2FsbF90YWJsZXMucmVsaWQ7CisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7ClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQotLSAKMi4zNC4xCgo= --------------o2d5R9Kv8VVcO99oQFm6lvfh Content-Type: text/x-patch; charset=UTF-8; name="v20-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v20-0002-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSAxZjQzZWNlNTBkM2UwYjM0MDQzNjUxMjlhMzAxMDYwMWJmMzY3NmViIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAyNyBGZWIgMjAyNSAyMDo0MjowNSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMi80XSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh Y3V1bSBzdGF0aXN0aWNzIG9uIAogaW5kZXggcmVsYXRpb25zLgoKVGhleSBhcmUgZ2F0aGVy ZWQgc2VwYXJhdGVsbHkgZnJvbSB0YWJsZSBzdGF0aXN0aWNzLgoKQXMgZm9yIHRhYmxlcywg d2UgZ2F0aGVyIHZhY3V1bSBzaGFyZWQgYnVmZmVycyBzdGF0aXN0aWNzIGZvciBpbmRleCBy ZWxhdGlvbnMgbGlrZQp2YWx1ZSBvZiB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19yZWFk LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHdhbCBzdGF0aXN0aWNzLCBpbyB0aW1lCmR1cmluZyBm bHVzaGluZyBidWZmZXIgcGFnZXMgdG8gZGlzaywgZGVsYXkgYW5kIHRvdGFsIHRpbWUuCgpE dWUgdG8gdGhlIGZhY3QgdGhhdCBzdWNoIHN0YXRpc3RpY3MgYXJlIGNvbW1vbiBhcyBmb3Ig dGFibGVzLCBhcyBmb3IgaW5kZXhlcyB3ZQpzZXQgdGhlbSBpbiB0aGUgdW5pb24gRXh0VmFj UmVwb3J0IHN0cnVjdHVyZS4gV2Ugb25seSBhZGRlZCBzb21lIGRldGVybWluYXRpb24gJ3R5 cGUnCmZpZWxkIHRvIGhpZ2hsaWdodCB3aGF0IGtpbmQgYmVsb25nIHRvIHRoZXNlIHN0YXRp c3RpY3M6IFBHU1RBVF9FWFRWQUNfVEFCTEUgb3IKUEdTVEFUX0VYVFZBQ19JTkRFWC4gR2Vu ZXJhbGx5LCBQR1NUQVRfRVhUVkFDX0lOVkFMSUQgdHlwZSBsZWFkcyB0byB3cm9uZyBjb2Rl IHByb2Nlc3MuCgpTb21lIHN0YXRpc3RpY3MgYmVsb25nIG9ubHkgb25lIHR5cGUgb2YgYm90 aCB0YWJsZXMgb3IgaW5kZXhlcy4gU28sIHdlIGFkZGVkIHN1YnN0cnVjdHVyZXMKc3ljaCB0 YWJsZSBhbmQgaW5kZXggaW5zaWRlIEV4dFZhY1JlcG9ydCBzdHJ1Y3R1cmUuCgpUaGVyZWZv cmUsIHdlIGdhdGhlciBvbmx5IGZvciB0YWJsZXMgc3VjaCBzdGF0aXN0aWNzIGxpa2UgbnVt YmVyIG9mIHNjYW5uZWQsIHJlbW92ZWQgcGFnZXMsCnRoZWlyIGNoYXJlY3RlcmlzdGljcyBh Y2NvcmRpbmcgVk0gKGFsbC12aXNpYmxlIGFuZCBmcm96ZW4pLiBJbiBhZGRpdGlvbiwgZm9y IHRhYmxlcyB3ZQpnYXRoZXIgbnVtYmVyIGZyb3plbiwgZGVsZXRlZCBhbmQgcmVjZW50bHkg ZGVhZCB0dXBsZXMgYW5kIGhvdyBtYW55IHRpbWVzIHZhY3V1bSBwcm9jZXNzZWQKaW5kZXhl cyBmb3IgdGFibGVzLgoKQ29udHJvdmVyc2FsbHkgZm9yIGluZGV4ZXMgd2UgZ2F0aGVyIG51 bWJlciBvZiBkZWxldGVkIHBhZ2VzIGFuZCBkZWxldGVkIHR1cGxlcyBvbmx5LgoKQXMgZm9y IHRhYmxlcywgZGVsZXRlZCBwYWdlcyBhbmQgZGVsZXRlZCB0dXBsZXMgcmVmbGVjdCB0aGUg b3ZlcmFsbCBwZXJmb3JtYW5jZSBvZiB0aGUgdmFjdXVtCmZvciB0aGUgaW5kZXggcmVsYXRp b25zaGlwLgoKU2luY2UgdGhlIHZhY3V1bSBjbGVhbnMgdXAgcmVmZXJlbmNlcyB0byB0dXBs ZSBpbmRleGVzIGJlZm9yZSBjbGVhbmluZyB1cCB0YWJsZSB0dXBsZXMsCndoaWNoIGFkZHMg c29tZSBjb21wbGV4aXR5IHRvIHRoZSB2YWN1dW0gcHJvY2VzcywgbmFtZWx5IHRoZSB2YWN1 dW0gc3dpdGNoZXMgZnJvbSBjbGVhbmluZyB1cAphIHRhYmxlIHRvIGl0cyBpbmRleGVzIGFu ZCBiYWNrIGR1cmluZyBpdHMgb3BlcmF0aW9uLCB3ZSBuZWVkIHRvIHNhdmUgdGhlIHZhY3V1 bSBzdGF0aXN0aWNzCmNvbGxlY3RlZCBmb3IgdGhlIGhlYXAgYmVmb3JlIGl0IHN0YXJ0cyBj bGVhbmluZyB1cCB0aGUgaW5kZXhlcy4KVGhhdCdzIHdoeSBpdCdzIG5lY2Vzc2FyeSB0byB0 cmFjayB0aGUgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBoZWFwIHNldmVyYWwgdGltZXMg ZHVyaW5nCnRoZSB2YWN1dW0gcHJvY2VkdXJlLiBUbyBhdm9pZCBzZW5kaW5nIHRoZSBzdGF0 aXN0aWNzIHRvIHRoZSBDdW11bGF0aXZlIFN0YXRpc3RpY3MgU3lzdGVtCnNldmVyYWwgdGlt ZXMsIHdlIHNhdmUgdGhlc2Ugc3RhdGlzdGljcyBpbiB0aGUgTFZSZWxTdGF0ZSBzdHJ1Y3R1 cmUgYW5kIG9ubHkgYWZ0ZXIgdmFjdXVtCmZpbmlzaGVzIGNsZWFuaW5nIHVwIHRoZSBoZWFw LCBpdCBzZW5kcyB0aGVtIHRvIHRoZSBDdW11bGF0aXZlIFN0YXRpc3RpY3MgU3lzdGVtLgoK QXV0aG9yczogQWxlbmEgUnliYWtpbmEgPGxlbmEucmliYWNraW5hQHlhbmRleC5ydT4sCiAg IEFuZHJlaSBMZXBpa2hvdiA8YS5sZXBpa2hvdkBwb3N0Z3Jlc3Byby5ydT4sCiAgIEFuZHJl aSBadWJrb3YgPGEuenVia292QHBvc3RncmVzcHJvLnJ1PgpSZXZpZXdlZC1ieTogRGlsaXAg S3VtYXIgPGRpbGlwYmFsYXV0QGdtYWlsLmNvbT4sIE1hc2FoaWtvIFNhd2FkYSA8c2F3YWRh Lm1zaGtAZ21haWwuY29tPiwKICAgICAgIElsaWEgRXZkb2tpbW92IDxpbHlhLmV2ZG9raW1v dkB0YW50b3JsYWJzLmNvbT4sIGppYW4gaGUgPGppYW4udW5pdmVyc2FsaXR5QGdtYWlsLmNv bT4sCiAgICAgICBLaXJpbGwgUmVzaGtlIDxyZXNoa2VraXJpbGxAZ21haWwuY29tPiwgQWxl eGFuZGVyIEtvcm90a292IDxhZWtvcm90a292QGdtYWlsLmNvbT4sCiAgICAgICBKaW0gTmFz YnkgPGpuYXNieUB1cGdyYWRlLmNvbT4sIFNhbWkgSW1zZWloIDxzYW1pbXNlaWhAZ21haWwu Y29tPgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyAgICAgICAg ICB8IDI5MiArKysrKysrKysrKysrKy0tLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVt X3ZpZXdzLnNxbCAgICAgICAgICB8ICAzMiArKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFj dXVtcGFyYWxsZWwuYyAgICAgICAgIHwgIDE0ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAgNCArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXRfcmVsYXRpb24uYyAgfCAgNDggKystCiBzcmMvYmFja2VuZC91dGlscy9h ZHQvcGdzdGF0ZnVuY3MuYyAgICAgICAgICAgfCAxMzMgKysrKysrKy0KIHNyYy9iYWNrZW5k L3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jICAgICAgICAgICB8ICAgMiArLQogc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAgIHwgICA5ICsKIHNyYy9pbmNs dWRlL2NvbW1hbmRzL3ZhY3V1bS5oICAgICAgICAgICAgICAgICB8ICAyNSArKwogc3JjL2lu Y2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDU4ICsrKy0KIC4u Li92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dCAgICB8ICAgNCArLQog c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgICAgICAgICAgIHwgIDIyICsr CiAuLi4vZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0ICAgICAgfCAxODMg KysrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAg ICAgICB8ICAgMSArCiAuLi4vcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mu c3FsICAgfCAxNTEgKysrKysrKysrCiAxNSBmaWxlcyBjaGFuZ2VkLCA4NzMgaW5zZXJ0aW9u cygrKSwgMTA1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mu c3FsCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5j IGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCmluZGV4IGZiZTdjYzI1 NDU4Li4zOTQxZjVlMjQ3ZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv dmFjdXVtbGF6eS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenku YwpAQCAtMjkxLDYgKzI5MSw3IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAljaGFy CSAgICpkYm5hbWU7CiAJY2hhcgkgICAqcmVsbmFtZXNwYWNlOwogCU9pZAkJCXJlbG9pZDsK KwlPaWQJCQlpbmRvaWQ7CiAJY2hhcgkgICAqcmVsbmFtZTsKIAljaGFyCSAgICppbmRuYW1l OwkJLyogQ3VycmVudCBpbmRleCBuYW1lICovCiAJQmxvY2tOdW1iZXIgYmxrbm87CQkJLyog dXNlZCBvbmx5IGZvciBoZWFwIG9wZXJhdGlvbnMgKi8KQEAgLTQxMSw2ICs0MTIsOCBAQCB0 eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAJQmxvY2tOdW1iZXIgZWFnZXJfc2Nhbl9yZW1h aW5pbmdfZmFpbHM7CiAKIAlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsgLyog bnVtYmVyIG9mIGVtZXJnZW5jeSB2YWN1dW1zIHRvIHByZXZlbnQgYW50aS13cmFwYXJvdW5k IHNodXRkb3duICovCisKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OwogfSBMVlJlbFN0 YXRlOwogCiAKQEAgLTQyMiwxOSArNDI1LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZTYXZlZEVy ckluZm8KIAlWYWNFcnJQaGFzZSBwaGFzZTsKIH0gTFZTYXZlZEVyckluZm87CiAKLS8qCi0g KiBDb3VudGVycyBhbmQgdXNhZ2UgZGF0YSBmb3IgZXh0ZW5kZWQgc3RhdHMgdHJhY2tpbmcu Ci0gKi8KLXR5cGVkZWYgc3RydWN0IExWRXh0U3RhdENvdW50ZXJzCi17Ci0JVGltZXN0YW1w VHogc3RhcnR0aW1lOwotCVdhbFVzYWdlCXdhbHVzYWdlOwotCUJ1ZmZlclVzYWdlIGJ1ZnVz YWdlOwotCWRvdWJsZQkJVmFjdXVtRGVsYXlUaW1lOwotCVBnU3RhdF9Db3VudGVyIGJsb2Nr c19mZXRjaGVkOwotCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19oaXQ7Ci19IExWRXh0U3RhdENv dW50ZXJzOwotCiAvKiBub24tZXhwb3J0IGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KIHN0YXRp YyB2b2lkIGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUgKnZhY3JlbCk7CiBzdGF0aWMgdm9p ZCBoZWFwX3ZhY3V1bV9lYWdlcl9zY2FuX3NldHVwKExWUmVsU3RhdGUgKnZhY3JlbCwKQEAg LTU1NiwyNyArNTQ2LDI1IEBAIGV4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4 dFN0YXRDb3VudGVycyAqY291bnRlcnMsCiAJZW5kdGltZSA9IEdldEN1cnJlbnRUaW1lc3Rh bXAoKTsKIAlUaW1lc3RhbXBEaWZmZXJlbmNlKGNvdW50ZXJzLT5zdGFydHRpbWUsIGVuZHRp bWUsICZzZWNzLCAmdXNlY3MpOwogCi0JbWVtc2V0KHJlcG9ydCwgMCwgc2l6ZW9mKEV4dFZh Y1JlcG9ydCkpOwotCiAJLyoKIAkgKiBGaWxsIGFkZGl0aW9uYWwgc3RhdGlzdGljcyBvbiBh IHZhY3V1bSBwcm9jZXNzaW5nIG9wZXJhdGlvbi4KIAkgKi8KLQlyZXBvcnQtPnRvdGFsX2Js a3NfcmVhZCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfcmVhZCArIGJ1ZnVzYWdlLnNoYXJlZF9i bGtzX3JlYWQ7Ci0JcmVwb3J0LT50b3RhbF9ibGtzX2hpdCA9IGJ1ZnVzYWdlLmxvY2FsX2Js a3NfaGl0ICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3NfaGl0OwotCXJlcG9ydC0+dG90YWxfYmxr c19kaXJ0aWVkID0gYnVmdXNhZ2UubG9jYWxfYmxrc19kaXJ0aWVkICsgYnVmdXNhZ2Uuc2hh cmVkX2Jsa3NfZGlydGllZDsKLQlyZXBvcnQtPnRvdGFsX2Jsa3Nfd3JpdHRlbiA9IGJ1ZnVz YWdlLnNoYXJlZF9ibGtzX3dyaXR0ZW47CisJcmVwb3J0LT50b3RhbF9ibGtzX3JlYWQgKz0g YnVmdXNhZ2UubG9jYWxfYmxrc19yZWFkICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3NfcmVhZDsK KwlyZXBvcnQtPnRvdGFsX2Jsa3NfaGl0ICs9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfaGl0ICsg YnVmdXNhZ2Uuc2hhcmVkX2Jsa3NfaGl0OworCXJlcG9ydC0+dG90YWxfYmxrc19kaXJ0aWVk ICs9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfZGlydGllZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtz X2RpcnRpZWQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX3dyaXR0ZW4gKz0gYnVmdXNhZ2Uuc2hh cmVkX2Jsa3Nfd3JpdHRlbjsKIAotCXJlcG9ydC0+d2FsX3JlY29yZHMgPSB3YWx1c2FnZS53 YWxfcmVjb3JkczsKLQlyZXBvcnQtPndhbF9mcGkgPSB3YWx1c2FnZS53YWxfZnBpOwotCXJl cG9ydC0+d2FsX2J5dGVzID0gd2FsdXNhZ2Uud2FsX2J5dGVzOworCXJlcG9ydC0+d2FsX3Jl Y29yZHMgKz0gd2FsdXNhZ2Uud2FsX3JlY29yZHM7CisJcmVwb3J0LT53YWxfZnBpICs9IHdh bHVzYWdlLndhbF9mcGk7CisJcmVwb3J0LT53YWxfYnl0ZXMgKz0gd2FsdXNhZ2Uud2FsX2J5 dGVzOwogCi0JcmVwb3J0LT5ibGtfcmVhZF90aW1lID0gSU5TVFJfVElNRV9HRVRfTUlMTElT RUMoYnVmdXNhZ2UubG9jYWxfYmxrX3JlYWRfdGltZSk7CisJcmVwb3J0LT5ibGtfcmVhZF90 aW1lICs9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxvY2FsX2Jsa19yZWFk X3RpbWUpOwogCXJlcG9ydC0+YmxrX3JlYWRfdGltZSArPSBJTlNUUl9USU1FX0dFVF9NSUxM SVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3JlYWRfdGltZSk7Ci0JcmVwb3J0LT5ibGtfd3Jp dGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxvY2FsX2Jsa193 cml0ZV90aW1lKTsKLQlyZXBvcnQtPmJsa193cml0ZV90aW1lID0gSU5TVFJfVElNRV9HRVRf TUlMTElTRUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa193cml0ZV90aW1lKTsKLQlyZXBvcnQtPmRl bGF5X3RpbWUgPSBWYWN1dW1EZWxheVRpbWUgLSBjb3VudGVycy0+VmFjdXVtRGVsYXlUaW1l OworCXJlcG9ydC0+YmxrX3dyaXRlX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMo YnVmdXNhZ2UubG9jYWxfYmxrX3dyaXRlX3RpbWUpOworCXJlcG9ydC0+YmxrX3dyaXRlX3Rp bWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa193cml0 ZV90aW1lKTsKKwlyZXBvcnQtPmRlbGF5X3RpbWUgKz0gVmFjdXVtRGVsYXlUaW1lIC0gY291 bnRlcnMtPlZhY3V1bURlbGF5VGltZTsKIAotCXJlcG9ydC0+dG90YWxfdGltZSA9IHNlY3Mg KiAxMDAwLiArIHVzZWNzIC8gMTAwMC47CisJcmVwb3J0LT50b3RhbF90aW1lICs9IHNlY3Mg KiAxMDAwLiArIHVzZWNzIC8gMTAwMC47CiAKIAlpZiAoIXJlbC0+cGdzdGF0X2luZm8gfHwg IXBnc3RhdF90cmFja19jb3VudHMpCiAJCS8qCkBAIC01ODUsMTIgKzU3Myw5NiBAQCBleHR2 YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKmNvdW50ZXJz LAogCQkgKi8KIAkJcmV0dXJuOwogCi0JcmVwb3J0LT5ibGtzX2ZldGNoZWQgPQorCXJlcG9y dC0+Ymxrc19mZXRjaGVkICs9CiAJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3Nf ZmV0Y2hlZCAtIGNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hlZDsKLQlyZXBvcnQtPmJsa3NfaGl0 ID0KKwlyZXBvcnQtPmJsa3NfaGl0ICs9CiAJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5i bG9ja3NfaGl0IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7CiB9CiAKK3ZvaWQKK2V4dHZhY19z dGF0c19zdGFydF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKnN0 YXRzLAorCQkJCQkgICBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMpCit7CisJaWYo IXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCisJLyogU2V0 IGluaXRpYWwgdmFsdWVzIGZvciBjb21tb24gaGVhcCBhbmQgaW5kZXggc3RhdGlzdGljcyov CisJZXh0dmFjX3N0YXRzX3N0YXJ0KHJlbCwgJmNvdW50ZXJzLT5jb21tb24pOworCWNvdW50 ZXJzLT5wYWdlc19kZWxldGVkID0gY291bnRlcnMtPnR1cGxlc19yZW1vdmVkID0gMDsKKwor CWlmIChzdGF0cyAhPSBOVUxMKQorCXsKKwkJLyoKKwkJICogWFhYOiBXaHkgZG8gd2UgbmVl ZCB0aGlzIGNvZGUgaGVyZT8gSWYgaXQgaXMgbmVlZGVkLCBJIGZlZWwgbGFjayBvZgorCQkg KiBjb21tZW50cywgZGVzY3JpYmluZyB0aGUgcmVhc29uLgorCQkgKi8KKwkJY291bnRlcnMt PnR1cGxlc19yZW1vdmVkID0gc3RhdHMtPnR1cGxlc19yZW1vdmVkOworCQljb3VudGVycy0+ cGFnZXNfZGVsZXRlZCA9IHN0YXRzLT5wYWdlc19kZWxldGVkOworCX0KK30KKwordm9pZAor ZXh0dmFjX3N0YXRzX2VuZF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1 bHQgKnN0YXRzLAorCQkJCQkgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJzLCBFeHRW YWNSZXBvcnQgKnJlcG9ydCkKK3sKKwltZW1zZXQocmVwb3J0LCAwLCBzaXplb2YoRXh0VmFj UmVwb3J0KSk7CisKKwlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmNvdW50ZXJzLT5jb21tb24s IHJlcG9ydCk7CisJcmVwb3J0LT50eXBlID0gUEdTVEFUX0VYVFZBQ19JTkRFWDsKKworCWlm IChzdGF0cyAhPSBOVUxMKQorCXsKKwkJLyoKKwkJICogaWYgc29tZXRoaW5nIGdvZXMgd3Jv bmcgb3IgYW4gdXNlciBkb2Vzbid0IHdhbnQgdG8gdHJhY2sgYSBkYXRhYmFzZQorCQkgKiBh Y3Rpdml0eSAtIGp1c3Qgc3VwcHJlc3MgaXQuCisJCSAqLworCisJCS8qIEZpbGwgaW5kZXgt c3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzICovCisJCXJlcG9ydC0+dHVwbGVzX2Rl bGV0ZWQgPQorCQkJCQkJCXN0YXRzLT50dXBsZXNfcmVtb3ZlZCAtIGNvdW50ZXJzLT50dXBs ZXNfcmVtb3ZlZDsKKwkJcmVwb3J0LT5pbmRleC5wYWdlc19kZWxldGVkID0KKwkJCQkJCQlz dGF0cy0+cGFnZXNfZGVsZXRlZCAtIGNvdW50ZXJzLT5wYWdlc19kZWxldGVkOworCX0KK30K KworLyogQWNjdW11bGF0ZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgaGVhcC4KKyAqCisgICog QmVjYXVzZSBvZiBjb21wbGV4aXR5IG9mIHZhY3V1bSBwcm9jZXNzaW5nOiBpdCBzd2l0Y2gg cHJvY2VzaW5nIGJldHdlZW4KKyAgKiB0aGUgaGVhcCByZWxhdGlvbiB0byBpbmRleCByZWxh dGlvbnMgYW5kIHZpc2EgdmVyc2EsIHdlIG5lZWQgdG8gc3RvcmUKKyAgKiBnYXRoZXJlZCBz dGF0aXN0aWNzIGluZm9ybWF0aW9uIGZvciBoZWFwIHJlbGF0aW9ucyBzZXZlcmFsIHRpbWVz IGJlZm9yZQorICAqIHRoZSB2YWN1dW0gc3RhcnRzIHByb2Nlc3NpbmcgdGhlIGluZGV4ZXMg YWdhaW4uCisgICoKKyAgKiBJdCBpcyBuZWNlc3NhcnkgdG8gZ2F0aGVyIGNvcnJlY3Qgc3Rh dGlzdGljcyBpbmZvcm1hdGlvbiBmb3IgaGVhcCBhbmQgaW5kZXhlcworICAqIG90aGVyd2lj ZSB0aGUgaW5kZXggc3RhdGlzdGljcyBpbmZvcm1hdGlvbiB3b3VsZCBiZSBhZGRlZCB0byBo aXMgcGFyZW50IGhlYXAKKyAgKiBzdGF0aXN0aWNzIGluZm9ybWF0aW9uIGFuZCBpdCB3b3Vs ZCBiZSBkaWZmaWN1bHQgdG8gYW5hbHl6ZSBpdCBsYXRlci4KKyAgKgorICAqIFdlIGNhbid0 IHN1YnRyYWN0IHVuaW9uIHZhY3V1bSBzdGF0aXN0aWNzIGluZm9ybWF0aW9uIGZvciBpbmRl eCBmcm9tIHRoZSBoZWFwIHJlbGF0aW9ucworICAqIGJlY2F1c2Ugb2YgdG90YWwgYW5kIGRl bGF5IHRpbWUgdGltZSBzdGF0aXN0aWNzIGNvbGxlY3RpbmcgZHVyaW5nIHBhcmFsbGVsIHZh Y3V1bQorICAqIHByb2N1ZHVyZS4KKyovCitzdGF0aWMgdm9pZAorYWNjdW11bGF0ZV9oZWFw X3ZhY3V1bV9zdGF0aXN0aWNzKExWRXh0U3RhdENvdW50ZXJzICpleHRWYWNDb3VudGVycywg TFZSZWxTdGF0ZSAqdmFjcmVsKQoreworCWlmICghcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzKQorCQlyZXR1cm47CisKKwkvKiBGaWxsIGhlYXAtc3BlY2lmaWMgZXh0ZW5kZWQg c3RhdHMgZmllbGRzICovCisJdmFjcmVsLT5leHRWYWNSZXBvcnQudHlwZSA9IFBHU1RBVF9F WFRWQUNfVEFCTEU7CisJdmFjcmVsLT5leHRWYWNSZXBvcnQudGFibGUucGFnZXNfc2Nhbm5l ZCArPSB2YWNyZWwtPnNjYW5uZWRfcGFnZXM7CisJdmFjcmVsLT5leHRWYWNSZXBvcnQudGFi bGUucGFnZXNfcmVtb3ZlZCArPSB2YWNyZWwtPnJlbW92ZWRfcGFnZXM7CisJdmFjcmVsLT5l eHRWYWNSZXBvcnQudGFibGUudm1fbmV3X2Zyb3plbl9wYWdlcyArPSB2YWNyZWwtPnZtX25l d19mcm96ZW5fcGFnZXM7CisJdmFjcmVsLT5leHRWYWNSZXBvcnQudGFibGUudm1fbmV3X3Zp c2libGVfcGFnZXMgKz0gdmFjcmVsLT52bV9uZXdfdmlzaWJsZV9wYWdlczsKKwl2YWNyZWwt PmV4dFZhY1JlcG9ydC50YWJsZS52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgKz0gdmFj cmVsLT52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXM7CisJdmFjcmVsLT5leHRWYWNSZXBv cnQudHVwbGVzX2RlbGV0ZWQgKz0gdmFjcmVsLT50dXBsZXNfZGVsZXRlZDsKKwl2YWNyZWwt PmV4dFZhY1JlcG9ydC50YWJsZS50dXBsZXNfZnJvemVuICs9IHZhY3JlbC0+dHVwbGVzX2Zy b3plbjsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydC50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxl cyArPSB2YWNyZWwtPnJlY2VudGx5X2RlYWRfdHVwbGVzOworCXZhY3JlbC0+ZXh0VmFjUmVw b3J0LnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzICs9IHZhY3JlbC0+cmVjZW50bHlfZGVh ZF90dXBsZXM7CisJdmFjcmVsLT5leHRWYWNSZXBvcnQudGFibGUubWlzc2VkX2RlYWRfdHVw bGVzICs9IHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzOworCXZhY3JlbC0+ZXh0VmFjUmVw b3J0LnRhYmxlLm1pc3NlZF9kZWFkX3BhZ2VzICs9IHZhY3JlbC0+bWlzc2VkX2RlYWRfcGFn ZXM7CisJdmFjcmVsLT5leHRWYWNSZXBvcnQudGFibGUuaW5kZXhfdmFjdXVtX2NvdW50ICs9 IHZhY3JlbC0+bnVtX2luZGV4X3NjYW5zOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxl LndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgKz0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50OworfQorCiAKIC8qCiAgKiBIZWxwZXIgdG8gc2V0IHVwIHRoZSBlYWdlciBz Y2FubmluZyBzdGF0ZSBmb3IgdmFjdXVtaW5nIGEgc2luZ2xlIHJlbGF0aW9uLgpAQCAtNzQ3 LDEzICs4MTksNyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJh bXMgKnBhcmFtcywKIAlCdWZmZXJVc2FnZSBzdGFydGJ1ZmZlcnVzYWdlID0gcGdCdWZmZXJV c2FnZTsKIAlFcnJvckNvbnRleHRDYWxsYmFjayBlcnJjYWxsYmFjazsKIAlMVkV4dFN0YXRD b3VudGVycyBleHRWYWNDb3VudGVyczsKLQlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0Owog CWNoYXIJICAqKmluZG5hbWVzID0gTlVMTDsKLQlFeHRWYWNSZXBvcnQgYWxsemVybzsKLQot CS8qIEluaXRpYWxpemUgdmFjdXVtIHN0YXRpc3RpY3MgKi8KLQltZW1zZXQoJmFsbHplcm8s IDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKLQlleHRWYWNSZXBvcnQgPSBhbGx6ZXJvOwog CiAJdmVyYm9zZSA9IChwYXJhbXMtPm9wdGlvbnMgJiBWQUNPUFRfVkVSQk9TRSkgIT0gMDsK IAlpbnN0cnVtZW50ID0gKHZlcmJvc2UgfHwgKEFtQXV0b1ZhY3V1bVdvcmtlclByb2Nlc3Mo KSAmJgpAQCAtNzczLDcgKzgzOSw2IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWws IFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCiAJcGdzdGF0X3Byb2dyZXNzX3N0YXJ0X2NvbW1h bmQoUFJPR1JFU1NfQ09NTUFORF9WQUNVVU0sCiAJCQkJCQkJCSAgUmVsYXRpb25HZXRSZWxp ZChyZWwpKTsKLQlleHR2YWNfc3RhdHNfc3RhcnQocmVsLCAmZXh0VmFjQ291bnRlcnMpOwog CS8qCiAJICogU2V0dXAgZXJyb3IgdHJhY2ViYWNrIHN1cHBvcnQgZm9yIGVyZXBvcnQoKSBm aXJzdC4gIFRoZSBpZGVhIGlzIHRvIHNldAogCSAqIHVwIGFuIGVycm9yIGNvbnRleHQgY2Fs bGJhY2sgdG8gZGlzcGxheSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIGFueQpAQCAtOTYw LDYgKzEwMjUsOCBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJh bXMgKnBhcmFtcywKIAkgKi8KIAlsYXp5X3NjYW5faGVhcCh2YWNyZWwpOwogCisJZXh0dmFj X3N0YXRzX3N0YXJ0KHJlbCwgJmV4dFZhY0NvdW50ZXJzKTsKKwogCS8qCiAJICogRnJlZSBy ZXNvdXJjZXMgbWFuYWdlZCBieSBkZWFkX2l0ZW1zX2FsbG9jLiAgVGhpcyBlbmRzIHBhcmFs bGVsIG1vZGUgaW4KIAkgKiBwYXNzaW5nIHdoZW4gbmVjZXNzYXJ5LgpAQCAtMTAzOCwyNiAr MTEwNSw2IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAq cGFyYW1zLAogCQkJCQkJdmFjcmVsLT5OZXdSZWxmcm96ZW5YaWQsIHZhY3JlbC0+TmV3UmVs bWluTXhpZCwKIAkJCQkJCSZmcm96ZW54aWRfdXBkYXRlZCwgJm1pbm11bHRpX3VwZGF0ZWQs IGZhbHNlKTsKIAotCS8qIE1ha2UgZ2VuZXJpYyBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVw b3J0ICovCi0JZXh0dmFjX3N0YXRzX2VuZChyZWwsICZleHRWYWNDb3VudGVycywgJmV4dFZh Y1JlcG9ydCk7Ci0KLQlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0Jewot CQkvKiBGaWxsIGhlYXAtc3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzICovCi0JCWV4 dFZhY1JlcG9ydC5wYWdlc19zY2FubmVkID0gdmFjcmVsLT5zY2FubmVkX3BhZ2VzOwotCQll eHRWYWNSZXBvcnQucGFnZXNfcmVtb3ZlZCA9IHZhY3JlbC0+cmVtb3ZlZF9wYWdlczsKLQkJ ZXh0VmFjUmVwb3J0LnZtX25ld19mcm96ZW5fcGFnZXMgPSB2YWNyZWwtPnZtX25ld19mcm96 ZW5fcGFnZXM7Ci0JCWV4dFZhY1JlcG9ydC52bV9uZXdfdmlzaWJsZV9wYWdlcyA9IHZhY3Jl bC0+dm1fbmV3X3Zpc2libGVfcGFnZXM7Ci0JCWV4dFZhY1JlcG9ydC52bV9uZXdfdmlzaWJs ZV9mcm96ZW5fcGFnZXMgPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsK LQkJZXh0VmFjUmVwb3J0LnR1cGxlc19kZWxldGVkID0gdmFjcmVsLT50dXBsZXNfZGVsZXRl ZDsKLQkJZXh0VmFjUmVwb3J0LnR1cGxlc19mcm96ZW4gPSB2YWNyZWwtPnR1cGxlc19mcm96 ZW47Ci0JCWV4dFZhY1JlcG9ydC5yZWNlbnRseV9kZWFkX3R1cGxlcyA9IHZhY3JlbC0+cmVj ZW50bHlfZGVhZF90dXBsZXM7Ci0JCWV4dFZhY1JlcG9ydC5taXNzZWRfZGVhZF90dXBsZXMg PSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlczsKLQkJZXh0VmFjUmVwb3J0Lm1pc3NlZF9k ZWFkX3BhZ2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdlczsKLQkJZXh0VmFjUmVwb3J0 LmluZGV4X3ZhY3V1bV9jb3VudCA9IHZhY3JlbC0+bnVtX2luZGV4X3NjYW5zOwotCQlleHRW YWNSZXBvcnQud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCA9IHZhY3JlbC0+d3JhcGFyb3Vu ZF9mYWlsc2FmZV9jb3VudDsKLQl9Ci0KIAkvKgogCSAqIFJlcG9ydCByZXN1bHRzIHRvIHRo ZSBjdW11bGF0aXZlIHN0YXRzIHN5c3RlbSwgdG9vLgogCSAqCkBAIC0xMDY3LDE0ICsxMTE0 LDM3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFy YW1zLAogCSAqIEl0IHNlZW1zIGxpa2UgYSBnb29kIGlkZWEgdG8gZXJyIG9uIHRoZSBzaWRl IG9mIG5vdCB2YWN1dW1pbmcgYWdhaW4gdG9vCiAJICogc29vbiBpbiBjYXNlcyB3aGVyZSB0 aGUgZmFpbHNhZmUgcHJldmVudGVkIHNpZ25pZmljYW50IGFtb3VudHMgb2YgaGVhcAogCSAq IHZhY3V1bWluZy4KKwkgKgorCSAqIFdlIGFyZSByZWFkeSB0byBzZW5kIHZhY3V1bSBzdGF0 aXN0aWNzIGluZm9ybWF0aW9uIGZvciBoZWFwIHJlbGF0aW9ucy4KIAkgKi8KLQlwZ3N0YXRf cmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKHJlbCksCisJaWYocGdzdGF0X3RyYWNr X3ZhY3V1bV9zdGF0aXN0aWNzKQorCXsKKwkJLyogTWFrZSBnZW5lcmljIGV4dGVuZGVkIHZh Y3V1bSBzdGF0cyByZXBvcnQgYW5kCisJCSAqIGZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRl ZCBzdGF0cyBmaWVsZHMuCisJCSAqLworCQlleHR2YWNfc3RhdHNfZW5kKHZhY3JlbC0+cmVs LCAmZXh0VmFjQ291bnRlcnMsICYodmFjcmVsLT5leHRWYWNSZXBvcnQpKTsKKwkJYWNjdW11 bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKCZleHRWYWNDb3VudGVycywgdmFjcmVsKTsK KworCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKHJlbCksCiAJCQkJ CQkgcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLAogCQkJCQkJIE1heCh2YWNyZWwtPm5ld19s aXZlX3R1cGxlcywgMCksCiAJCQkJCQkgdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlcyAr Ci0JCQkJCQkgdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXMsCisgCQkJCQkJIHZhY3JlbC0+ bWlzc2VkX2RlYWRfdHVwbGVzLAogCQkJCQkJIHN0YXJ0dGltZSwKLQkJCQkJCSAmZXh0VmFj UmVwb3J0KTsKKwkJCQkJCSAmKHZhY3JlbC0+ZXh0VmFjUmVwb3J0KSk7CisKKwl9CisJZWxz ZQorCXsKKwkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChyZWwpLAor CQkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCisJCQkJCQkJIE1heCh2YWNyZWwt Pm5ld19saXZlX3R1cGxlcywgMCksCisJCQkJCQkJIHZhY3JlbC0+cmVjZW50bHlfZGVhZF90 dXBsZXMgKworCQkJCQkJCSB2YWNyZWwtPm1pc3NlZF9kZWFkX3R1cGxlcywKKwkJCQkJCQkg c3RhcnR0aW1lLAorCQkJCQkJCSBOVUxMKTsKKwl9CisKIAlwZ3N0YXRfcHJvZ3Jlc3NfZW5k X2NvbW1hbmQoKTsKIAogCWlmIChpbnN0cnVtZW50KQpAQCAtMTM0Niw2ICsxNDE2LDcgQEAg bGF6eV9zY2FuX2hlYXAoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCQlQUk9HUkVTU19WQUNVVU1f TUFYX0RFQURfVFVQTEVfQllURVMKIAl9OwogCWludDY0CQlpbml0cHJvZ192YWxbM107CisJ TFZFeHRTdGF0Q291bnRlcnMgZXh0VmFjQ291bnRlcnM7CiAKIAkvKiBSZXBvcnQgdGhhdCB3 ZSdyZSBzY2FubmluZyB0aGUgaGVhcCwgYWR2ZXJ0aXNpbmcgdG90YWwgIyBvZiBibG9ja3Mg Ki8KIAlpbml0cHJvZ192YWxbMF0gPSBQUk9HUkVTU19WQUNVVU1fUEhBU0VfU0NBTl9IRUFQ OwpAQCAtMTM2MCw2ICsxNDMxLDEzIEBAIGxhenlfc2Nhbl9oZWFwKExWUmVsU3RhdGUgKnZh Y3JlbCkKIAl2YWNyZWwtPm5leHRfdW5za2lwcGFibGVfZWFnZXJfc2Nhbm5lZCA9IGZhbHNl OwogCXZhY3JlbC0+bmV4dF91bnNraXBwYWJsZV92bWJ1ZmZlciA9IEludmFsaWRCdWZmZXI7 CiAKKwkvKgorCSAqIER1ZSB0byB0aGUgZmFjdCB0aGF0IHZhY3V1bSBoZWFwIHByb2Nlc3Np bmcgbmVlZHMgdGhlaXIgaW5kZXggdmFjdXVtaW5nCisJICogd2UgbmVlZCB0byB0cmFjayB0 aGVtIHNlcGFyYXRlbHkgYW5kIGFjY3VtdWxhdGUgaGVhcCB2YWN1dW0gc3RhdGlzdGljcwor CSAqIHNlcGFyYXRlbHkuIFNvIGxhc3QgcHJvY2Vzc2VzIGFyZSByZWxhdGVkIHRvIG9ubHkg aGVhcCB2YWN1dW1pbmcgcHJvY2Vzcy4KKwkgKi8KKwlleHR2YWNfc3RhdHNfc3RhcnQodmFj cmVsLT5yZWwsICZleHRWYWNDb3VudGVycyk7CisKIAkvKiBTZXQgdXAgdGhlIHJlYWQgc3Ry ZWFtIGZvciB2YWN1dW0ncyBmaXJzdCBwYXNzIHRocm91Z2ggdGhlIGhlYXAgKi8KIAlzdHJl YW0gPSByZWFkX3N0cmVhbV9iZWdpbl9yZWxhdGlvbihSRUFEX1NUUkVBTV9NQUlOVEVOQU5D RSwKIAkJCQkJCQkJCQl2YWNyZWwtPmJzdHJhdGVneSwKQEAgLTE0MTYsOCArMTQ5NCwyNiBA QCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2YWNyZWwpCiAKIAkJCS8qIFBlcmZvcm0g YSByb3VuZCBvZiBpbmRleCBhbmQgaGVhcCB2YWN1dW1pbmcgKi8KIAkJCXZhY3JlbC0+Y29u c2lkZXJfYnlwYXNzX29wdGltaXphdGlvbiA9IGZhbHNlOworCisJCQkvKgorCQkJICogTGF6 eSB2YWN1dW0gc3RhZ2UgaW5jbHVkZXMgaW5kZXggdmFjdXVtaW5nIGFuZCBjbGVhbmluZyB1 cCBzdGFnZSwgc28KKwkJCSAqIHdlIHByZWZlciB0cmFja2luZyB0aGVtIHNlcGFyYXRlbHku CisJCQkgKiBCZWZvcmUgc3RhcnRpbmcgdG8gcHJvY2VzcyB0aGUgaW5kZXhlcyBzYXZlIHRo ZSBjdXJyZW50IGhlYXAgc3RhdGlzdGljcworCQkJKi8KKwkJCWV4dHZhY19zdGF0c19lbmQo dmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycywgJih2YWNyZWwtPmV4dFZhY1JlcG9ydCkp OworCQkJYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKCZleHRWYWNDb3VudGVy cywgdmFjcmVsKTsKKwogCQkJbGF6eV92YWN1dW0odmFjcmVsKTsKIAorCQkJLyoKKwkJCSAq IEFmdGVyIGNvbXBsZXRpb24gbGF6eSB2YWN1dW0sIHdlIHN0YXJ0IGFnYWluIHRyYWNraW5n IHZhY3V1bSBzdGF0aXN0aWNzIGZvcgorCQkJICogaGVhcC1yZWxhdGVkIG9iamVjdHMgbGlr ZSBGU00sIFZNLCBwcm92aWRlIGhlYXAgcHJ1bm5pbmcuCisJCQkgKiBJdCBzZWVtcyBkYW5n ZXJvdXNseSB0aGF0IHdlIGhhdmUgc3RhcnQgdHJhY2tpbmcgYnV0IHRoZXJlIGFyZSBubyBl bmQsIGJ1dAorCQkJICogaXQgaXMgc2FmZS4gVGhlIGVuZCB0cmFja2luZyBpcyBsb2NhdGVk IGJlZm9yZSBsYXp5IHZhY3V1bSBzdGFnZSBpbiB0aGUgc2FtZQorCQkJICogbG9vcCBvciBh ZnRlciBpdC4KKyAJCQkqLworCQkJZXh0dmFjX3N0YXRzX3N0YXJ0KHZhY3JlbC0+cmVsLCAm ZXh0VmFjQ291bnRlcnMpOworCiAJCQkvKgogCQkJICogVmFjdXVtIHRoZSBGcmVlIFNwYWNl IE1hcCB0byBtYWtlIG5ld2x5LWZyZWVkIHNwYWNlIHZpc2libGUgb24KIAkJCSAqIHVwcGVy LWxldmVsIEZTTSBwYWdlcy4gTm90ZSB0aGF0IGJsa25vIGlzIHRoZSBwcmV2aW91c2x5CkBA IC0xNjQwLDYgKzE3MzYsMTIgQEAgbGF6eV9zY2FuX2hlYXAoTFZSZWxTdGF0ZSAqdmFjcmVs KQogCiAJcmVhZF9zdHJlYW1fZW5kKHN0cmVhbSk7CiAKKwkvKgorCSAqIFZhY3V1bSBjYW4g cHJvY2VzcyBsYXp5IHZhY3V1bSBhZ2FpbiBhbmQgd2Ugc2F2ZSBoZWFwIHN0YXRpc3RpY3Mg bm93CisJICoganVzdCBpbiBjYXNlIGluIHRlbmQgdG8gYXZvaWQgY29sbGVjdGluZyB2YWN1 dW0gaW5kZXggc3RhdGlzdGljcyBhZ2Fpbi4KKwkgKi8KKwlleHR2YWNfc3RhdHNfZW5kKHZh Y3JlbC0+cmVsLCAmZXh0VmFjQ291bnRlcnMsICYodmFjcmVsLT5leHRWYWNSZXBvcnQpKTsK KwlhY2N1bXVsYXRlX2hlYXBfdmFjdXVtX3N0YXRpc3RpY3MoJmV4dFZhY0NvdW50ZXJzLCB2 YWNyZWwpOwogCS8qCiAJICogRG8gaW5kZXggdmFjdXVtaW5nIChjYWxsIGVhY2ggaW5kZXgn cyBhbWJ1bGtkZWxldGUgcm91dGluZSksIHRoZW4gZG8KIAkgKiByZWxhdGVkIGhlYXAgdmFj dXVtaW5nCkBAIC0xNjQ3LDYgKzE3NDksMTIgQEAgbGF6eV9zY2FuX2hlYXAoTFZSZWxTdGF0 ZSAqdmFjcmVsKQogCWlmICh2YWNyZWwtPmRlYWRfaXRlbXNfaW5mby0+bnVtX2l0ZW1zID4g MCkKIAkJbGF6eV92YWN1dW0odmFjcmVsKTsKIAorCS8qCisJICogV2UgbmVlZCB0byB0YWtl IGludG8gYWNjb3VudCBoZWFwIHZhY3V1bSBzdGF0aXN0aWNzIGR1cmluZyBwcm9jZXNzIG9m CisJICogRlNNLgorIAkgKi8KKwlleHR2YWNfc3RhdHNfc3RhcnQodmFjcmVsLT5yZWwsICZl eHRWYWNDb3VudGVycyk7CisKIAkvKgogCSAqIFZhY3V1bSB0aGUgcmVtYWluZGVyIG9mIHRo ZSBGcmVlIFNwYWNlIE1hcC4gIFdlIG11c3QgZG8gdGhpcyB3aGV0aGVyIG9yCiAJICogbm90 IHRoZXJlIHdlcmUgaW5kZXhlcywgYW5kIHdoZXRoZXIgb3Igbm90IHdlIGJ5cGFzc2VkIGlu ZGV4IHZhY3V1bWluZy4KQEAgLTE2NTksNiArMTc2NywxMCBAQCBsYXp5X3NjYW5faGVhcChM VlJlbFN0YXRlICp2YWNyZWwpCiAJLyogcmVwb3J0IGFsbCBibG9ja3MgdmFjdXVtZWQgKi8K IAlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9IRUFQX0JM S1NfVkFDVVVNRUQsIHJlbF9wYWdlcyk7CiAKKwkvKiBCZWZvcmUgc3RhcnRpbmcgZmluYWwg aW5kZXggY2xhbiB1cCBzdGFnZSBzYXZlIGhlYXAgc3RhdGlzdGljcyAqLworCWV4dHZhY19z dGF0c19lbmQodmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycywgJih2YWNyZWwtPmV4dFZh Y1JlcG9ydCkpOworCWFjY3VtdWxhdGVfaGVhcF92YWN1dW1fc3RhdGlzdGljcygmZXh0VmFj Q291bnRlcnMsIHZhY3JlbCk7CisKIAkvKiBEbyBmaW5hbCBpbmRleCBjbGVhbnVwIChjYWxs IGVhY2ggaW5kZXgncyBhbXZhY3V1bWNsZWFudXAgcm91dGluZSkgKi8KIAlpZiAodmFjcmVs LT5uaW5kZXhlcyA+IDAgJiYgdmFjcmVsLT5kb19pbmRleF9jbGVhbnVwKQogCQlsYXp5X2Ns ZWFudXBfYWxsX2luZGV4ZXModmFjcmVsKTsKQEAgLTI1NzYsNiArMjY4OCw3IEBAIHN0YXRp YyB2b2lkCiBsYXp5X3ZhY3V1bShMVlJlbFN0YXRlICp2YWNyZWwpCiB7CiAJYm9vbAkJYnlw YXNzOworCUxWRXh0U3RhdENvdW50ZXJzIGV4dFZhY0NvdW50ZXJzOwogCiAJLyogU2hvdWxk IG5vdCBlbmQgdXAgaGVyZSB3aXRoIG5vIGluZGV4ZXMgKi8KIAlBc3NlcnQodmFjcmVsLT5u aW5kZXhlcyA+IDApOwpAQCAtMjU4OCw2ICsyNzAxLDkgQEAgbGF6eV92YWN1dW0oTFZSZWxT dGF0ZSAqdmFjcmVsKQogCQlyZXR1cm47CiAJfQogCisJLyogU2V0IGluaXRpYWwgc3RhdGlz dGljcyB2YWx1ZXMgdG8gZ2F0aGVyIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaGVhcCAq LworCWV4dHZhY19zdGF0c19zdGFydCh2YWNyZWwtPnJlbCwgJmV4dFZhY0NvdW50ZXJzKTsK KwogCS8qCiAJICogQ29uc2lkZXIgYnlwYXNzaW5nIGluZGV4IHZhY3V1bWluZyAoYW5kIGhl YXAgdmFjdXVtaW5nKSBlbnRpcmVseS4KIAkgKgpAQCAtMjY0NCw2ICsyNzYwLDE0IEBAIGxh enlfdmFjdXVtKExWUmVsU3RhdGUgKnZhY3JlbCkKIAkJCQkgIFRpZFN0b3JlTWVtb3J5VXNh Z2UodmFjcmVsLT5kZWFkX2l0ZW1zKSA8IDMyICogMTAyNCAqIDEwMjQpOwogCX0KIAorCS8q CisJICogVmFjdXVtIGlzIGxpa2VseSB0byB2YWN1dW0gaW5kZXhlcyBhZ2Fpbiwgc28gc2F2 ZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IKKwkgKiBoZWFwIHJlbGF0aW9ucyBub3cuCisJICog VGhlIHZhY3V1bSBwcm9jZXNzIGJlbG93IGRvZXNuJ3QgY29udGFpbiBhbnkgdXNlZnVsIHN0 YXRpc3RpY3MgaW5mb3JtYXRpb24KKwkgKiBmb3IgaGVhcCBpZiBpbmRleGVzIHdvbid0IGJl IHByb2Nlc3NlZCwgYnV0IHdlIHdpbGwgdHJhY2sgdGhlbSBzZXBhcmF0ZWx5LgorCSAqLwor CWV4dHZhY19zdGF0c19lbmQodmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycywgJih2YWNy ZWwtPmV4dFZhY1JlcG9ydCkpOworCiAJaWYgKGJ5cGFzcykKIAl7CiAJCS8qCkBAIC0yNjYw LDExICsyNzg0LDIxIEBAIGxhenlfdmFjdXVtKExWUmVsU3RhdGUgKnZhY3JlbCkKIAl9CiAJ ZWxzZSBpZiAobGF6eV92YWN1dW1fYWxsX2luZGV4ZXModmFjcmVsKSkKIAl7Ci0JCS8qCi0J CSAqIFdlIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQgYSByb3VuZCBvZiBpbmRleCB2YWN1dW1p bmcuICBEbyByZWxhdGVkCi0JCSAqIGhlYXAgdmFjdXVtaW5nIG5vdy4KLQkJICovCi0JCWxh enlfdmFjdXVtX2hlYXBfcmVsKHZhY3JlbCk7CisJCS8qIE5vdyB0aGUgdmFjdXVtIGlzIGdv aW5nIHRvIHByb2Nlc3MgaGVhcCByZWxhdGlvbiwgc28KKwkJICogd2UgbmVlZCB0byBzZXQg aW50aWFsIHN0YXRpc3RpYyB2YWx1ZXMgZm9yIHRyYWNraW5nLgorCQkqLworCisJCS8qIFNl dCBpbml0aWFsIHN0YXRpc3RpY3MgdmFsdWVzIHRvIGdhdGhlciB2YWN1dW0gc3RhdGlzdGlj cyBmb3IgdGhlIGhlYXAgKi8KKwkJZXh0dmFjX3N0YXRzX3N0YXJ0KHZhY3JlbC0+cmVsLCAm ZXh0VmFjQ291bnRlcnMpOworCisgCQkvKgorIAkJICogV2Ugc3VjY2Vzc2Z1bGx5IGNvbXBs ZXRlZCBhIHJvdW5kIG9mIGluZGV4IHZhY3V1bWluZy4gIERvIHJlbGF0ZWQKKyAJCSAqIGhl YXAgdmFjdXVtaW5nIG5vdy4KKyAJCSAqLworIAkJbGF6eV92YWN1dW1faGVhcF9yZWwodmFj cmVsKTsKKworCQlleHR2YWNfc3RhdHNfZW5kKHZhY3JlbC0+cmVsLCAmZXh0VmFjQ291bnRl cnMsICYodmFjcmVsLT5leHRWYWNSZXBvcnQpKTsKKwkJYWNjdW11bGF0ZV9oZWFwX3ZhY3V1 bV9zdGF0aXN0aWNzKCZleHRWYWNDb3VudGVycywgdmFjcmVsKTsKIAl9CiAJZWxzZQogCXsK QEAgLTMyMDEsNiArMzMzNSwxMSBAQCBsYXp5X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRpb24g aW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogewogCUluZGV4VmFjdXVt SW5mbyBpdmluZm87CiAJTFZTYXZlZEVyckluZm8gc2F2ZWRfZXJyX2luZm87CisJTFZFeHRT dGF0Q291bnRlcnNJZHggZXh0VmFjQ291bnRlcnM7CisJRXh0VmFjUmVwb3J0IGV4dFZhY1Jl cG9ydDsKKworCS8qIFNldCBpbml0aWFsIHN0YXRpc3RpY3MgdmFsdWVzIHRvIGdhdGhlciB2 YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGluZGV4ICovCisJZXh0dmFjX3N0YXRzX3N0YXJ0 X2lkeChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMpOwogCiAJaXZpbmZvLmluZGV4 ID0gaW5kcmVsOwogCWl2aW5mby5oZWFwcmVsID0gdmFjcmVsLT5yZWw7CkBAIC0zMjE5LDYg KzMzNTgsNyBAQCBsYXp5X3ZhY3V1bV9vbmVfaW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRl eEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCSAqLwogCUFzc2VydCh2YWNyZWwtPmluZG5h bWUgPT0gTlVMTCk7CiAJdmFjcmVsLT5pbmRuYW1lID0gcHN0cmR1cChSZWxhdGlvbkdldFJl bGF0aW9uTmFtZShpbmRyZWwpKTsKKwl2YWNyZWwtPmluZG9pZCA9IFJlbGF0aW9uR2V0UmVs aWQoaW5kcmVsKTsKIAl1cGRhdGVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2ZWRf ZXJyX2luZm8sCiAJCQkJCQkJIFZBQ1VVTV9FUlJDQl9QSEFTRV9WQUNVVU1fSU5ERVgsCiAJ CQkJCQkJIEludmFsaWRCbG9ja051bWJlciwgSW52YWxpZE9mZnNldE51bWJlcik7CkBAIC0z MjI3LDYgKzMzNjcsMTUgQEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJlbGF0aW9uIGluZHJl bCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIAlpc3RhdCA9IHZhY19idWxrZGVs X29uZV9pbmRleCgmaXZpbmZvLCBpc3RhdCwgdmFjcmVsLT5kZWFkX2l0ZW1zLAogCQkJCQkJ CQkgIHZhY3JlbC0+ZGVhZF9pdGVtc19pbmZvKTsKIAorCWlmKHBnc3RhdF90cmFja192YWN1 dW1fc3RhdGlzdGljcykKKwl7CisJCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJl cG9ydCBmb3IgaW5kZXggKi8KKwkJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3Rh dCwgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwkJcGdzdGF0X3JlcG9ydF92 YWN1dW0oUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAorCQkJCQkJCQlpbmRyZWwtPnJkX3Jl bC0+cmVsaXNzaGFyZWQsCisJCQkJCQkJCTAsIDAsIDAsICZleHRWYWNSZXBvcnQpOworCX0K KwogCS8qIFJldmVydCB0byB0aGUgcHJldmlvdXMgcGhhc2UgaW5mb3JtYXRpb24gZm9yIGVy cm9yIHRyYWNlYmFjayAqLwogCXJlc3RvcmVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAm c2F2ZWRfZXJyX2luZm8pOwogCXBmcmVlKHZhY3JlbC0+aW5kbmFtZSk7CkBAIC0zMjUxLDYg KzM0MDAsMTEgQEAgbGF6eV9jbGVhbnVwX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIElu ZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiB7CiAJSW5kZXhWYWN1dW1JbmZvIGl2aW5m bzsKIAlMVlNhdmVkRXJySW5mbyBzYXZlZF9lcnJfaW5mbzsKKwlMVkV4dFN0YXRDb3VudGVy c0lkeCBleHRWYWNDb3VudGVyczsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OworCisJ LyogU2V0IGluaXRpYWwgc3RhdGlzdGljcyB2YWx1ZXMgdG8gZ2F0aGVyIHZhY3V1bSBzdGF0 aXN0aWNzIGZvciB0aGUgaW5kZXggKi8KKwlleHR2YWNfc3RhdHNfc3RhcnRfaWR4KGluZHJl bCwgaXN0YXQsICZleHRWYWNDb3VudGVycyk7CiAKIAlpdmluZm8uaW5kZXggPSBpbmRyZWw7 CiAJaXZpbmZvLmhlYXByZWwgPSB2YWNyZWwtPnJlbDsKQEAgLTMyNzAsMTIgKzM0MjQsMjIg QEAgbGF6eV9jbGVhbnVwX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0Rl bGV0ZVJlc3VsdCAqaXN0YXQsCiAJICovCiAJQXNzZXJ0KHZhY3JlbC0+aW5kbmFtZSA9PSBO VUxMKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBwc3RyZHVwKFJlbGF0aW9uR2V0UmVsYXRpb25O YW1lKGluZHJlbCkpOworCXZhY3JlbC0+aW5kb2lkID0gUmVsYXRpb25HZXRSZWxpZChpbmRy ZWwpOwogCXVwZGF0ZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZzYXZlZF9lcnJfaW5m bywKIAkJCQkJCQkgVkFDVVVNX0VSUkNCX1BIQVNFX0lOREVYX0NMRUFOVVAsCiAJCQkJCQkJ IEludmFsaWRCbG9ja051bWJlciwgSW52YWxpZE9mZnNldE51bWJlcik7CiAKIAlpc3RhdCA9 IHZhY19jbGVhbnVwX29uZV9pbmRleCgmaXZpbmZvLCBpc3RhdCk7CiAKKwlpZihwZ3N0YXRf dHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJeworCQkvKiBNYWtlIGV4dGVuZGVkIHZhY3V1 bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4ICovCisJCWV4dHZhY19zdGF0c19lbmRfaWR4KGlu ZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CisJCXBnc3Rh dF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKSwKKwkJCQkJCQkJaW5k cmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLAorCQkJCQkJCQkwLCAwLCAwLCAmZXh0VmFjUmVw b3J0KTsKKwl9CisKIAkvKiBSZXZlcnQgdG8gdGhlIHByZXZpb3VzIHBoYXNlIGluZm9ybWF0 aW9uIGZvciBlcnJvciB0cmFjZWJhY2sgKi8KIAlyZXN0b3JlX3ZhY3V1bV9lcnJvcl9pbmZv KHZhY3JlbCwgJnNhdmVkX2Vycl9pbmZvKTsKIAlwZnJlZSh2YWNyZWwtPmluZG5hbWUpOwpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3Jj L2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IDJlNDJmNmQ3MTA4Li43 MjE3NDczYzM3YiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAt MTQ0MCwzICsxNDQwLDM1IEBAIEZST00gcGdfY2xhc3MgcmVsCiAgIEpPSU4gcGdfbmFtZXNw YWNlIG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UsCiAgIExBVEVSQUwgcGdfc3Rh dF9nZXRfdmFjdXVtX3RhYmxlcyhyZWwub2lkKSBzdGF0cwogV0hFUkUgcmVsLnJlbGtpbmQg PSAncic7CisKK0NSRUFURSBWSUVXIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgQVMKK1NFTEVD VAorICByZWwub2lkIGFzIHJlbGlkLAorICBucy5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCisg IHJlbC5yZWxuYW1lIEFTIHJlbG5hbWUsCisKKyAgdG90YWxfYmxrc19yZWFkIEFTIHRvdGFs X2Jsa3NfcmVhZCwKKyAgdG90YWxfYmxrc19oaXQgQVMgdG90YWxfYmxrc19oaXQsCisgIHRv dGFsX2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgIHRvdGFsX2Jsa3Nf d3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisKKyAgcmVsX2Jsa3NfcmVhZCBBUyBy ZWxfYmxrc19yZWFkLAorICByZWxfYmxrc19oaXQgQVMgcmVsX2Jsa3NfaGl0LAorCisgIHBh Z2VzX2RlbGV0ZWQgQVMgcGFnZXNfZGVsZXRlZCwKKyAgdHVwbGVzX2RlbGV0ZWQgQVMgdHVw bGVzX2RlbGV0ZWQsCisKKyAgd2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCisgIHdhbF9m cGkgQVMgd2FsX2ZwaSwKKyAgd2FsX2J5dGVzIEFTIHdhbF9ieXRlcywKKworICBibGtfcmVh ZF90aW1lIEFTIGJsa19yZWFkX3RpbWUsCisgIGJsa193cml0ZV90aW1lIEFTIGJsa193cml0 ZV90aW1lLAorCisgIGRlbGF5X3RpbWUgQVMgZGVsYXlfdGltZSwKKyAgdG90YWxfdGltZSBB UyB0b3RhbF90aW1lCitGUk9NCisgIHBnX2NsYXNzIHJlbAorICBKT0lOIHBnX25hbWVzcGFj ZSBucyBPTiBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlLAorICBMQVRFUkFMIHBnX3N0YXRf Z2V0X3ZhY3V1bV9pbmRleGVzKHJlbC5vaWQpIHN0YXRzCitXSEVSRSByZWwucmVsa2luZCA9 ICdpJzsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv dmFjdXVtcGFyYWxsZWwuYwppbmRleCA3OTI0YzUyNmNiMC4uMDAwMzg4YTU2NWYgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKKysrIGIvc3Jj L2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwpAQCAtODY4LDYgKzg2OCw4IEBA IHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX29uZV9pbmRleChQYXJhbGxlbFZhY3V1bVN0YXRl ICpwdnMsIFJlbGF0aW9uIGluZHJlbCwKIAlJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0 ID0gTlVMTDsKIAlJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0X3JlczsKIAlJbmRleFZh Y3V1bUluZm8gaXZpbmZvOworCUxWRXh0U3RhdENvdW50ZXJzSWR4IGV4dFZhY0NvdW50ZXJz OworCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7CiAKIAkvKgogCSAqIFVwZGF0ZSB0aGUg cG9pbnRlciB0byB0aGUgY29ycmVzcG9uZGluZyBidWxrLWRlbGV0aW9uIHJlc3VsdCBpZiBz b21lb25lCkBAIC04NzYsNiArODc4LDkgQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25l X2luZGV4KFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgUmVsYXRpb24gaW5kcmVsLAogCWlm IChpbmRzdGF0cy0+aXN0YXRfdXBkYXRlZCkKIAkJaXN0YXQgPSAmKGluZHN0YXRzLT5pc3Rh dCk7CiAKKwkvKiBTZXQgaW5pdGlhbCBzdGF0aXN0aWNzIHZhbHVlcyB0byBnYXRoZXIgdmFj dXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBpbmRleCAqLworCWV4dHZhY19zdGF0c19zdGFydF9p ZHgoaW5kcmVsLCAmKGluZHN0YXRzLT5pc3RhdCksICZleHRWYWNDb3VudGVycyk7CisKIAlp dmluZm8uaW5kZXggPSBpbmRyZWw7CiAJaXZpbmZvLmhlYXByZWwgPSBwdnMtPmhlYXByZWw7 CiAJaXZpbmZvLmFuYWx5emVfb25seSA9IGZhbHNlOwpAQCAtOTA0LDYgKzkwOSwxNSBAQCBw YXJhbGxlbF92YWN1dW1fcHJvY2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAq cHZzLCBSZWxhdGlvbiBpbmRyZWwsCiAJCQkJIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGlu ZHJlbCkpOwogCX0KIAorCWlmKHBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwl7 CisJCS8qIE1ha2UgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5kZXggKi8K KwkJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdF9yZXMsICZleHRWYWNDb3Vu dGVycywgJmV4dFZhY1JlcG9ydCk7CisJCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9u R2V0UmVsaWQoaW5kcmVsKSwKKwkJCQkJCQkJaW5kcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVk LAorCQkJCQkJCQkwLCAwLCAwLCAmZXh0VmFjUmVwb3J0KTsKKwl9CisKIAkvKgogCSAqIENv cHkgdGhlIGluZGV4IGJ1bGstZGVsZXRpb24gcmVzdWx0IHJldHVybmVkIGZyb20gYW1idWxr ZGVsZXRlIGFuZAogCSAqIGFtdmFjdXVtY2xlYW51cCB0byB0aGUgRFNNIHNlZ21lbnQgaWYg aXQncyB0aGUgZmlyc3QgY3ljbGUgYmVjYXVzZSB0aGV5CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdC5jCmluZGV4IDgyNmE1Njg1YjJhLi4zNjNjYmYyYmIwNCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTExODAsNiArMTE4MCwxMCBAQCBwZ3N0 YXRfYnVpbGRfc25hcHNob3QoUGdTdGF0X0tpbmQgc3RhdEtpbmQpCiAJCWlmIChwLT5kcm9w cGVkKQogCQkJY29udGludWU7CiAKKwkJaWYgKHN0YXRLaW5kICE9IFBHU1RBVF9LSU5EX0lO VkFMSUQgJiYgc3RhdEtpbmQgIT0gcC0+a2V5LmtpbmQpCisJCQkvKiBMb2FkIHN0YXQgb2Yg c3BlY2lmaWMgdHlwZSwgaWYgZGVmaW5lZCAqLworCQkJY29udGludWU7CisKIAkJQXNzZXJ0 KHBnX2F0b21pY19yZWFkX3UzMigmcC0+cmVmY291bnQpID4gMCk7CiAKIAkJc3RhdHNfZGF0 YSA9IGRzYV9nZXRfYWRkcmVzcyhwZ1N0YXRMb2NhbC5kc2EsIHAtPmJvZHkpOwpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwppbmRleCAwMjcy ZGQxZjM5My4uY2Q0ZmZiNTBiY2EgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCkBAIC0xMDA3LDYgKzEwMDcsOSBAQCBzdGF0aWMgdm9p ZAogcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBF eHRWYWNSZXBvcnQgKnNyYywKIAkJCQkJCQkgICBib29sIGFjY3VtdWxhdGVfcmVsdHlwZV9z cGVjaWZpY19pbmZvKQogeworCWlmKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3Mp CisJCXJldHVybjsKKwogCWRzdC0+dG90YWxfYmxrc19yZWFkICs9IHNyYy0+dG90YWxfYmxr c19yZWFkOwogCWRzdC0+dG90YWxfYmxrc19oaXQgKz0gc3JjLT50b3RhbF9ibGtzX2hpdDsK IAlkc3QtPnRvdGFsX2Jsa3NfZGlydGllZCArPSBzcmMtPnRvdGFsX2Jsa3NfZGlydGllZDsK QEAgLTEwMjIsMjAgKzEwMjUsMzUgQEAgcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRz KEV4dFZhY1JlcG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKIAlpZiAoIWFjY3VtdWxh dGVfcmVsdHlwZV9zcGVjaWZpY19pbmZvKQogCQlyZXR1cm47CiAKLQlkc3QtPmJsa3NfZmV0 Y2hlZCArPSBzcmMtPmJsa3NfZmV0Y2hlZDsKLQlkc3QtPmJsa3NfaGl0ICs9IHNyYy0+Ymxr c19oaXQ7Ci0KLQlkc3QtPnBhZ2VzX3NjYW5uZWQgKz0gc3JjLT5wYWdlc19zY2FubmVkOwot CWRzdC0+cGFnZXNfcmVtb3ZlZCArPSBzcmMtPnBhZ2VzX3JlbW92ZWQ7Ci0JZHN0LT52bV9u ZXdfZnJvemVuX3BhZ2VzICs9IHNyYy0+dm1fbmV3X2Zyb3plbl9wYWdlczsKLQlkc3QtPnZt X25ld192aXNpYmxlX3BhZ2VzICs9IHNyYy0+dm1fbmV3X3Zpc2libGVfcGFnZXM7Ci0JZHN0 LT52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgKz0gc3JjLT52bV9uZXdfdmlzaWJsZV9m cm96ZW5fcGFnZXM7Ci0JZHN0LT50dXBsZXNfZGVsZXRlZCArPSBzcmMtPnR1cGxlc19kZWxl dGVkOwotCWRzdC0+dHVwbGVzX2Zyb3plbiArPSBzcmMtPnR1cGxlc19mcm96ZW47Ci0JZHN0 LT5yZWNlbnRseV9kZWFkX3R1cGxlcyArPSBzcmMtPnJlY2VudGx5X2RlYWRfdHVwbGVzOwot CWRzdC0+aW5kZXhfdmFjdXVtX2NvdW50ICs9IHNyYy0+aW5kZXhfdmFjdXVtX2NvdW50Owot CWRzdC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCArPSBzcmMtPndyYXBhcm91bmRfZmFp bHNhZmVfY291bnQ7Ci0JZHN0LT5taXNzZWRfZGVhZF9wYWdlcyArPSBzcmMtPm1pc3NlZF9k ZWFkX3BhZ2VzOwotCWRzdC0+bWlzc2VkX2RlYWRfdHVwbGVzICs9IHNyYy0+bWlzc2VkX2Rl YWRfdHVwbGVzOworCWlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTlZBTElEKQor CQlkc3QtPnR5cGUgPSBzcmMtPnR5cGU7CisKKwlBc3NlcnQoc3JjLT50eXBlID09IFBHU1RB VF9FWFRWQUNfSU5WQUxJRCB8fCBzcmMtPnR5cGUgPT0gZHN0LT50eXBlKTsKKworCWlmIChk c3QtPnR5cGUgPT0gc3JjLT50eXBlKQorCXsKKwkJZHN0LT5ibGtzX2ZldGNoZWQgKz0gc3Jj LT5ibGtzX2ZldGNoZWQ7CisJCWRzdC0+Ymxrc19oaXQgKz0gc3JjLT5ibGtzX2hpdDsKIAor CQlpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfVEFCTEUpCisJCXsKKwkJCWRzdC0+ dGFibGUucGFnZXNfc2Nhbm5lZCArPSBzcmMtPnRhYmxlLnBhZ2VzX3NjYW5uZWQ7CisJCQlk c3QtPnRhYmxlLnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT50YWJsZS5wYWdlc19yZW1vdmVkOwor CQkJZHN0LT50YWJsZS52bV9uZXdfZnJvemVuX3BhZ2VzICs9IHNyYy0+dGFibGUudm1fbmV3 X2Zyb3plbl9wYWdlczsKKwkJCWRzdC0+dGFibGUudm1fbmV3X3Zpc2libGVfcGFnZXMgKz0g c3JjLT50YWJsZS52bV9uZXdfdmlzaWJsZV9wYWdlczsKKwkJCWRzdC0+dGFibGUudm1fbmV3 X3Zpc2libGVfZnJvemVuX3BhZ2VzICs9IHNyYy0+dGFibGUudm1fbmV3X3Zpc2libGVfZnJv emVuX3BhZ2VzOworCQkJZHN0LT50dXBsZXNfZGVsZXRlZCArPSBzcmMtPnR1cGxlc19kZWxl dGVkOworCQkJZHN0LT50YWJsZS50dXBsZXNfZnJvemVuICs9IHNyYy0+dGFibGUudHVwbGVz X2Zyb3plbjsKKwkJCWRzdC0+dGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMgKz0gc3JjLT50 YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlczsKKwkJCWRzdC0+dGFibGUuaW5kZXhfdmFjdXVt X2NvdW50ICs9IHNyYy0+dGFibGUuaW5kZXhfdmFjdXVtX2NvdW50OworCQkJZHN0LT50YWJs ZS5taXNzZWRfZGVhZF9wYWdlcyArPSBzcmMtPnRhYmxlLm1pc3NlZF9kZWFkX3BhZ2VzOwor CQkJZHN0LT50YWJsZS5taXNzZWRfZGVhZF90dXBsZXMgKz0gc3JjLT50YWJsZS5taXNzZWRf ZGVhZF90dXBsZXM7CisJCQlkc3QtPnRhYmxlLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQg Kz0gc3JjLT50YWJsZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OworCQl9CisJCWVsc2Ug aWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOREVYKQorCQl7CisJCQlkc3QtPmlu ZGV4LnBhZ2VzX2RlbGV0ZWQgKz0gc3JjLT5pbmRleC5wYWdlc19kZWxldGVkOworCQkJZHN0 LT50dXBsZXNfZGVsZXRlZCArPSBzcmMtPnR1cGxlc19kZWxldGVkOworCQl9CisJfQogfQpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1 bmNzLmMKaW5kZXggODEzMzJiYzBiYTIuLmQ0ZDgwNGNjOTViIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC91dGls cy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjM2MiwxOCArMjM2MiwxOSBAQCBwZ19zdGF0X2dl dF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQkJCQkJCQlleHR2YWN1dW0t PmJsa3NfaGl0KTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5i bGtzX2hpdCk7CiAKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5w YWdlc19zY2FubmVkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT5wYWdlc19yZW1vdmVkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT52bV9uZXdfZnJvemVuX3BhZ2VzKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT52bV9uZXdfdmlzaWJsZV9wYWdlcyk7Ci0JdmFsdWVzW2krK10gPSBJ bnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzKTsK LQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5taXNzZWRfZGVhZF9w YWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUu cGFnZXNfc2Nhbm5lZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+dGFibGUucGFnZXNfcmVtb3ZlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KGV4dHZhY3V1bS0+dGFibGUudm1fbmV3X2Zyb3plbl9wYWdlcyk7CisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUudm1fbmV3X3Zpc2libGVfcGFnZXMp OworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnZtX25l d192aXNpYmxlX2Zyb3plbl9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KGV4dHZhY3V1bS0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXMpOwogCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxlc19kZWxldGVkKTsKLQl2YWx1ZXNbaSsr XSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNfZnJvemVuKTsKLQl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5yZWNlbnRseV9kZWFkX3R1cGxlcyk7 Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+bWlzc2VkX2RlYWRf dHVwbGVzKTsKLQl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0dW0oZXh0dmFjdXVtLT53cmFw YXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT5pbmRleF92YWN1dW1fY291bnQpOworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnR1cGxlc19mcm96ZW4pOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVz KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5taXNz ZWRfZGVhZF90dXBsZXMpOworCisJdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZh Y3V1bS0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUuaW5kZXhfdmFjdXVtX2NvdW50KTsK IAogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndhbF9yZWNvcmRz KTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfZnBpKTsK QEAgLTIzOTIsNiArMjM5MywxMTYgQEAgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhQR19G VU5DVElPTl9BUkdTKQogCiAJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxF U19TVEFUU19DT0xTKTsKIAorCS8qIFJldHVybnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLwor CVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVw ZGVzYywgdmFsdWVzLCBudWxscykpKTsKK30KKworLyoKKyAqIEdldCB0aGUgdmFjdXVtIHN0 YXRpc3RpY3MgZm9yIHRoZSBoZWFwIHRhYmxlcy4KKyAqLworRGF0dW0KK3BnX3N0YXRfZ2V0 X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJI2RlZmluZSBQR19TVEFU X0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09MUwkxNgorCisJT2lkCQkJCQkJcmVsaWQgPSBQ R19HRVRBUkdfT0lEKDApOworCVBnU3RhdF9TdGF0VGFiRW50cnkgICAgICp0YWJlbnRyeTsK KwlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1bTsKKwlUdXBsZURlc2MJCQkJIHR1cGRlc2M7 CisJRGF0dW0JCQkJCSB2YWx1ZXNbUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NP TFNdID0gezB9OworCWJvb2wJCQkJCSBudWxsc1tQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhf U1RBVFNfQ09MU10gPSB7MH07CisJY2hhcgkJCQkJIGJ1ZlsyNTZdOworCWludAkJCQkJCSBp ID0gMDsKKwlFeHRWYWNSZXBvcnQgYWxsemVybzsKKworCS8qIEluaXRpYWxpc2UgYXR0cmli dXRlcyBpbmZvcm1hdGlvbiBpbiB0aGUgdHVwbGUgZGVzY3JpcHRvciAqLworCXR1cGRlc2Mg PSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVzYyhQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RB VFNfQ09MUyk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgInJlbGlkIiwKKwkJCQkJICAgSU5UNE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfIGJsa3NfcmVhZCIs CisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfaGl0IiwKKwkJCQkJICAgSU5UOE9J RCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAidG90YWxfYmxrc19kaXJ0aWVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxf Ymxrc193cml0dGVuIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsX2Jsa3NfcmVhZCIsCisJ CQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgInJlbF9ibGtzX2hpdCIsCisJCQkJCSAgIElOVDhPSUQsIC0x LCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwg InBhZ2VzX2RlbGV0ZWQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0dXBsZXNfZGVsZXRlZCIs CisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9yZWNvcmRzIiwKKwkJCQkJICAgSU5UOE9JRCwg LTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAid2FsX2ZwaSIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9ieXRlcyIsCisJCQkJCSAg IE5VTUVSSUNPSUQsIC0xLCAwKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAiYmxrX3JlYWRfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwg LTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAiYmxrX3dyaXRlX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKworCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiZGVsYXlfdGlt ZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0 dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfdGltZSIsCisJCQkJCSAgIEZMT0FU OE9JRCwgLTEsIDApOworCisJQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVY X1NUQVRTX0NPTFMpOworCisJQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7CisKKwl0YWJlbnRy eSA9IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5KHJlbGlkKTsKKworCWlmICh0YWJlbnRy eSA9PSBOVUxMKQorCXsKKwkJLyogSWYgdGhlIHN1YnNjcmlwdGlvbiBpcyBub3QgZm91bmQs IGluaXRpYWxpc2UgaXRzIHN0YXRzICovCisJCW1lbXNldCgmYWxsemVybywgMCwgc2l6ZW9m KEV4dFZhY1JlcG9ydCkpOworCQlleHR2YWN1dW0gPSAmYWxsemVybzsKKwl9CisJZWxzZQor CXsKKwkJZXh0dmFjdXVtID0gJih0YWJlbnRyeS0+dmFjdXVtX2V4dCk7CisJfQorCisJaSA9 IDA7CisKKwl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0dW0ocmVsaWQpOworCisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19yZWFkKTsK Kwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2hp dCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxr c19kaXJ0aWVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50 b3RhbF9ibGtzX3dyaXR0ZW4pOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+Ymxrc19mZXRjaGVkIC0KKwkJCQkJCQkJCWV4dHZhY3V1bS0+Ymxrc19oaXQp OworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmJsa3NfaGl0KTsK KworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmluZGV4LnBhZ2Vz X2RlbGV0ZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1 cGxlc19kZWxldGVkKTsKKworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPndhbF9yZWNvcmRzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT53YWxfZnBpKTsKKworCS8qIENvbnZlcnQgdG8gbnVtZXJpYywgbGlrZSBwZ19zdGF0 X3N0YXRlbWVudHMgKi8KKwlzbnByaW50ZihidWYsIHNpemVvZiBidWYsIFVJTlQ2NF9GT1JN QVQsIGV4dHZhY3V1bS0+d2FsX2J5dGVzKTsKKwl2YWx1ZXNbaSsrXSA9IERpcmVjdEZ1bmN0 aW9uQ2FsbDMobnVtZXJpY19pbiwKKwkJCQkJCQkJCSAgQ1N0cmluZ0dldERhdHVtKGJ1Ziks CisJCQkJCQkJCQkgIE9iamVjdElkR2V0RGF0dW0oMCksCisJCQkJCQkJCQkgIEludDMyR2V0 RGF0dW0oLTEpKTsKKworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVt LT5ibGtfcmVhZF90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZh Y3V1bS0+YmxrX3dyaXRlX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0o ZXh0dmFjdXVtLT5kZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVt KGV4dHZhY3V1bS0+dG90YWxfdGltZSk7CisKKwlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9W QUNVVU1fSU5ERVhfU1RBVFNfQ09MUyk7CisKIAkvKiBSZXR1cm5zIHRoZSByZWNvcmQgYXMg RGF0dW0gKi8KIAlQR19SRVRVUk5fREFUVU0oSGVhcFR1cGxlR2V0RGF0dW0oaGVhcF9mb3Jt X3R1cGxlKHR1cGRlc2MsIHZhbHVlcywgbnVsbHMpKSk7CiB9ClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFi bGVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYwppbmRleCA3YmVk NTM5ZTZkNi4uNGJkZDYzOTliZGYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21p c2MvZ3VjX3RhYmxlcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxl cy5jCkBAIC0xNTAzLDcgKzE1MDMsNyBAQCBzdHJ1Y3QgY29uZmlnX2Jvb2wgQ29uZmlndXJl TmFtZXNCb29sW10gPQogCX0sCiAJewogCQl7InRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIiwg UEdDX1NVU0VULCBTVEFUU19DVU1VTEFUSVZFLAotCQkJZ2V0dGV4dF9ub29wKCJDb2xsZWN0 cyB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGFibGUgcmVsYXRpb25zLiIpLAorCQkJZ2V0dGV4 dF9ub29wKCJDb2xsZWN0cyB2YWN1dW0gc3RhdGlzdGljcyBmb3IgcmVsYXRpb25zLiIpLAog CQkJTlVMTAogCQl9LAogCQkmcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzLApkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggMjlkY2Q4YmFjNTUuLmUxYmQ1YjgwOWFlIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTEyNDY4LDQgKzEyNDY4LDEzIEBACiAg IHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVuX3BhZ2VzJywgcHJvdm9s YXRpbGUgPT4gJ3MnLAogICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2lu dDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKICAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9y ZXZfYWxsX2Zyb3plbl9wYWdlcycgfSwKK3sgb2lkID0+ICc4MDA0JywKKyAgZGVzY3IgPT4g J3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIHJldHVybiBzdGF0cyB2YWx1ZXMnLAorICBw cm9uYW1lID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcycsIHByb3Jvd3MgPT4gMTAw MCwgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBlID0+ICdyZWNvcmQnLHByb2lzc3Ry aWN0ID0+ICdmJywKKyAgcHJvcmV0c2V0ID0+ICd0JywKKyAgcHJvYXJndHlwZXMgPT4gJ29p ZCcsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGludDgsaW50OCxpbnQ4 LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxm bG9hdDgsZmxvYXQ4fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ICd7cmVsb2lkLHJlbGlkLHRv dGFsX2Jsa3NfcmVhZCx0b3RhbF9ibGtzX2hpdCx0b3RhbF9ibGtzX2RpcnRpZWQsdG90YWxf Ymxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQscmVsX2Jsa3NfaGl0LHBhZ2VzX2RlbGV0ZWQs dHVwbGVzX2RlbGV0ZWQsd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRf dGltZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHRvdGFsX3RpbWV9JywKKyAgcHJvc3Jj ID0+ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcycgfQogXQpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggYi9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1 dW0uaAppbmRleCBhNWZlNjIyZDkzMi4uOTVhNjA1MzRjMTIgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Zh Y3V1bS5oCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAic3RvcmFnZS9idWYuaCIKICNp bmNsdWRlICJzdG9yYWdlL2xvY2suaCIKICNpbmNsdWRlICJ1dGlscy9yZWxjYWNoZS5oIgor I2luY2x1ZGUgInBnc3RhdC5oIgogCiAvKgogICogRmxhZ3MgZm9yIGFtcGFyYWxsZWx2YWN1 dW1vcHRpb25zIHRvIGNvbnRyb2wgdGhlIHBhcnRpY2lwYXRpb24gb2YgYnVsa2RlbGV0ZQpA QCAtMjk1LDYgKzI5NiwyNiBAQCB0eXBlZGVmIHN0cnVjdCBWYWNEZWFkSXRlbXNJbmZvCiAJ aW50NjQJCW51bV9pdGVtczsJCS8qIGN1cnJlbnQgIyBvZiBlbnRyaWVzICovCiB9IFZhY0Rl YWRJdGVtc0luZm87CiAKKy8qCisgKiBDb3VudGVycyBhbmQgdXNhZ2UgZGF0YSBmb3IgZXh0 ZW5kZWQgc3RhdHMgdHJhY2tpbmcuCisgKi8KK3R5cGVkZWYgc3RydWN0IExWRXh0U3RhdENv dW50ZXJzCit7CisJVGltZXN0YW1wVHogc3RhcnR0aW1lOworCVdhbFVzYWdlCXdhbHVzYWdl OworCUJ1ZmZlclVzYWdlIGJ1ZnVzYWdlOworCWRvdWJsZQkJVmFjdXVtRGVsYXlUaW1lOwor CVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOworCVBnU3RhdF9Db3VudGVyIGJsb2Nr c19oaXQ7Cit9IExWRXh0U3RhdENvdW50ZXJzOworCit0eXBlZGVmIHN0cnVjdCBMVkV4dFN0 YXRDb3VudGVyc0lkeAoreworCUxWRXh0U3RhdENvdW50ZXJzIGNvbW1vbjsKKwlpbnQ2NAkJ cGFnZXNfZGVsZXRlZDsKKwlpbnQ2NAkJdHVwbGVzX3JlbW92ZWQ7Cit9IExWRXh0U3RhdENv dW50ZXJzSWR4OworCiAvKiBHVUMgcGFyYW1ldGVycyAqLwogZXh0ZXJuIFBHRExMSU1QT1JU IGludCBkZWZhdWx0X3N0YXRpc3RpY3NfdGFyZ2V0OwkvKiBQR0RMTElNUE9SVCBmb3IgUG9z dEdJUyAqLwogZXh0ZXJuIFBHRExMSU1QT1JUIGludCB2YWN1dW1fZnJlZXplX21pbl9hZ2U7 CkBAIC00MDYsNCArNDI3LDggQEAgZXh0ZXJuIGRvdWJsZSBhbmxfcmFuZG9tX2ZyYWN0KHZv aWQpOwogZXh0ZXJuIGRvdWJsZSBhbmxfaW5pdF9zZWxlY3Rpb25fc3RhdGUoaW50IG4pOwog ZXh0ZXJuIGRvdWJsZSBhbmxfZ2V0X25leHRfUyhkb3VibGUgdCwgaW50IG4sIGRvdWJsZSAq c3RhdGVwdHIpOwogCitleHRlcm4gdm9pZCBleHR2YWNfc3RhdHNfc3RhcnRfaWR4KFJlbGF0 aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywKKwkJCQkJICAgTFZFeHRT dGF0Q291bnRlcnNJZHggKmNvdW50ZXJzKTsKK2V4dGVybiB2b2lkIGV4dHZhY19zdGF0c19l bmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywKKwkJ CQkJIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycywgRXh0VmFjUmVwb3J0ICpyZXBv cnQpOwogI2VuZGlmCQkJCQkJCS8qIFZBQ1VVTV9IICovCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IDg0ZTYxYTI3YjE3 Li4zNDdkODY4NzY2ZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIv c3JjL2luY2x1ZGUvcGdzdGF0LmgKQEAgLTExMiwxMSArMTEyLDE5IEBAIHR5cGVkZWYgc3Ry dWN0IFBnU3RhdF9CYWNrZW5kU3ViRW50cnkKIAlQZ1N0YXRfQ291bnRlciBjb25mbGljdF9j b3VudFtDT05GTElDVF9OVU1fVFlQRVNdOwogfSBQZ1N0YXRfQmFja2VuZFN1YkVudHJ5Owog CisvKiBUeXBlIG9mIEV4dFZhY1JlcG9ydCAqLwordHlwZWRlZiBlbnVtIEV4dFZhY1JlcG9y dFR5cGUKK3sKKwlQR1NUQVRfRVhUVkFDX0lOVkFMSUQgPSAwLAorCVBHU1RBVF9FWFRWQUNf VEFCTEUgPSAxLAorCVBHU1RBVF9FWFRWQUNfSU5ERVggPSAyCit9IEV4dFZhY1JlcG9ydFR5 cGU7CisKIC8qIC0tLS0tLS0tLS0KICAqCiAgKiBFeHRWYWNSZXBvcnQKICAqCi0gKiBBZGRp dGlvbmFsIHN0YXRpc3RpY3Mgb2YgdmFjdXVtIHByb2Nlc3Npbmcgb3ZlciBhIGhlYXAgcmVs YXRpb24uCisgKiBBZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb2YgdmFjdXVtIHByb2Nlc3Npbmcg b3ZlciBhIHJlbGF0aW9uLgogICogcGFnZXNfcmVtb3ZlZCBpcyB0aGUgYW1vdW50IGJ5IHdo aWNoIHRoZSBwaHlzaWNhbGx5IHNocmFuaywKICAqIGlmIGFueSAoaWUgdGhlIGNoYW5nZSBp biBpdHMgdG90YWwgc2l6ZSBvbiBkaXNrKQogICogcGFnZXNfZGVsZXRlZCByZWZlciB0byBm cmVlIHNwYWNlIHdpdGhpbiB0aGUgaW5kZXggZmlsZQpAQCAtMTQ1LDE4ICsxNTMsNDQgQEAg dHlwZWRlZiBzdHJ1Y3QgRXh0VmFjUmVwb3J0CiAJZG91YmxlCQlkZWxheV90aW1lOwkJLyog aG93IGxvbmcgdmFjdXVtIHNsZXB0IGluIHZhY3V1bSBkZWxheSBwb2ludCwgaW4gbXNlYyAq LwogCWRvdWJsZQkJdG90YWxfdGltZTsJCS8qIHRvdGFsIHRpbWUgb2YgYSB2YWN1dW0gb3Bl cmF0aW9uLCBpbiBtc2VjICovCiAKLQlpbnQ2NAkJcGFnZXNfc2Nhbm5lZDsJCS8qIGhlYXAg cGFnZXMgZXhhbWluZWQgKG5vdCBza2lwcGVkIGJ5IFZNKSAqLwotCWludDY0CQlwYWdlc19y ZW1vdmVkOwkJLyogaGVhcCBwYWdlcyByZW1vdmVkIGJ5IHZhY3V1bSAidHJ1bmNhdGlvbiIg Ki8KLQlpbnQ2NAkJdm1fbmV3X2Zyb3plbl9wYWdlczsJCS8qIHBhZ2VzIG1hcmtlZCBpbiBW TSBhcyBmcm96ZW4gKi8KLQlpbnQ2NAkJdm1fbmV3X3Zpc2libGVfcGFnZXM7CS8qIHBhZ2Vz IG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSAqLwotCWludDY0CQl2bV9uZXdfdmlzaWJs ZV9mcm96ZW5fcGFnZXM7CS8qIHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBhbGwtdmlzaWJsZSBh bmQgZnJvemVuICovCi0JaW50NjQJCW1pc3NlZF9kZWFkX3R1cGxlczsJCS8qIHR1cGxlcyBu b3QgcHJ1bmVkIGJ5IHZhY3V1bSBkdWUgdG8gZmFpbHVyZSB0byBnZXQgYSBjbGVhbnVwIGxv Y2sgKi8KLQlpbnQ2NAkJbWlzc2VkX2RlYWRfcGFnZXM7CQkvKiBwYWdlcyB3aXRoIG1pc3Nl ZCBkZWFkIHR1cGxlcyAqLwogCWludDY0CQl0dXBsZXNfZGVsZXRlZDsJCS8qIHR1cGxlcyBk ZWxldGVkIGJ5IHZhY3V1bSAqLwotCWludDY0CQl0dXBsZXNfZnJvemVuOwkJLyogdHVwbGVz IGZyb3plbiB1cCBieSB2YWN1dW0gKi8KLQlpbnQ2NAkJcmVjZW50bHlfZGVhZF90dXBsZXM7 CS8qIGRlbGV0ZWQgdHVwbGVzIHRoYXQgYXJlIHN0aWxsIHZpc2libGUgdG8gc29tZSB0cmFu c2FjdGlvbiAqLwotCWludDY0CQlpbmRleF92YWN1dW1fY291bnQ7CS8qIHRoZSBudW1iZXIg b2YgaW5kZXggdmFjdXVtaW5ncyAqLwotCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2Nv dW50OwkvKiBudW1iZXIgb2YgZW1lcmdlbmN5IHZhY3V1bXMgdG8gcHJldmVudCBhbnRpLXdy YXBhcm91bmQgc2h1dGRvd24gKi8KKworCUV4dFZhY1JlcG9ydFR5cGUgdHlwZTsJCS8qIGhl YXAsIGluZGV4LCBldGMuICovCisKKwkvKiAtLS0tLS0tLS0tCisJICoKKwkgKiBUaGVyZSBh cmUgc2VwYXJhdGUgbWV0cmljcyBvZiBzdGF0aXN0aWMgZm9yIHRhYmxlcyBhbmQgaW5kZXhl cywKKwkgKiB3aGljaCBjb2xsZWN0IGR1cmluZyB2YWN1dW0uCisJICogVGhlIHVuaW9uIG9w ZXJhdG9yIGFsbG93cyB0byBjb21iaW5lIHRoZXNlIHN0YXRpc3RpY3MKKwkgKiBzbyB0aGF0 IGVhY2ggbWV0cmljIGlzIGFzc2lnbmVkIHRvIGEgc3BlY2lmaWMgY2xhc3Mgb2YgY29sbGVj dGVkIHN0YXRpc3RpY3MuCisJICogU3VjaCBhIGNvbWJpbmVkIHN0cnVjdHVyZSB3YXMgY2Fs bGVkIHBlcl90eXBlX3N0YXRzLgorCSAqIFRoZSBuYW1lIG9mIHRoZSBzdHJ1Y3R1cmUgaXRz ZWxmIGlzIG5vdCB1c2VkIGFueXdoZXJlLAorCSAqIGl0IGV4aXN0cyBvbmx5IGZvciB1bmRl cnN0YW5kaW5nIHRoZSBjb2RlLgorCSAqIC0tLS0tLS0tLS0KKwkqLworCXVuaW9uCisJewor CQlzdHJ1Y3QKKwkJeworCQkJaW50NjQJCXBhZ2VzX3NjYW5uZWQ7CQkvKiBoZWFwIHBhZ2Vz IGV4YW1pbmVkIChub3Qgc2tpcHBlZCBieSBWTSkgKi8KKwkJCWludDY0CQlwYWdlc19yZW1v dmVkOwkJLyogaGVhcCBwYWdlcyByZW1vdmVkIGJ5IHZhY3V1bSAidHJ1bmNhdGlvbiIgKi8K KwkJCWludDY0CQlwYWdlc19mcm96ZW47CQkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgZnJv emVuICovCisJCQlpbnQ2NAkJcGFnZXNfYWxsX3Zpc2libGU7CS8qIHBhZ2VzIG1hcmtlZCBp biBWTSBhcyBhbGwtdmlzaWJsZSAqLworCQkJaW50NjQJCXR1cGxlc19mcm96ZW47CQkvKiB0 dXBsZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAqLworCQkJaW50NjQJCXJlY2VudGx5X2RlYWRf dHVwbGVzOwkvKiBkZWxldGVkIHR1cGxlcyB0aGF0IGFyZSBzdGlsbCB2aXNpYmxlIHRvIHNv bWUgdHJhbnNhY3Rpb24gKi8KKwkJCWludDY0CQl2bV9uZXdfZnJvemVuX3BhZ2VzOwkJLyog cGFnZXMgbWFya2VkIGluIFZNIGFzIGZyb3plbiAqLworCQkJaW50NjQJCXZtX25ld192aXNp YmxlX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgYWxsLXZpc2libGUgKi8KKwkJ CWludDY0CQl2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXM7CS8qIHBhZ2VzIG1hcmtlZCBp biBWTSBhcyBhbGwtdmlzaWJsZSBhbmQgZnJvemVuICovCisJCQlpbnQ2NAkJbWlzc2VkX2Rl YWRfdHVwbGVzOwkJLyogdHVwbGVzIG5vdCBwcnVuZWQgYnkgdmFjdXVtIGR1ZSB0byBmYWls dXJlIHRvIGdldCBhIGNsZWFudXAgbG9jayAqLworCQkJaW50NjQJCW1pc3NlZF9kZWFkX3Bh Z2VzOwkJLyogcGFnZXMgd2l0aCBtaXNzZWQgZGVhZCB0dXBsZXMgKi8KKwkJCWludDY0CQlp bmRleF92YWN1dW1fY291bnQ7CS8qIG51bWJlciBvZiBpbmRleCB2YWN1dW1pbmdzICovCisJ CQlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJLyogbnVtYmVyIG9mIGVtZXJn ZW5jeSB2YWN1dW1zIHRvIHByZXZlbnQgYW50aS13cmFwYXJvdW5kIHNodXRkb3duICovCisJ CX0JCQl0YWJsZTsKKwkJc3RydWN0CisJCXsKKwkJCWludDY0CQlwYWdlc19kZWxldGVkOwkJ LyogbnVtYmVyIG9mIHBhZ2VzIGRlbGV0ZWQgYnkgdmFjdXVtICovCisJCX0JCQlpbmRleDsK Kwl9IC8qIHBlcl90eXBlX3N0YXRzICovOwogfSBFeHRWYWNSZXBvcnQ7CiAKIC8qIC0tLS0t LS0tLS0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92YWN1dW0t ZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dCBiL3NyYy90ZXN0L2lzb2xhdGlvbi9l eHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dAppbmRleCA4 N2Y3ZTQwYjRhNi4uNmQ5NjA0MjM5MTIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2lzb2xhdGlv bi9leHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dAorKysg Yi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBl dGFibGUtcmVhZC5vdXQKQEAgLTM0LDcgKzM0LDcgQEAgc3RlcCBzMl9wcmludF92YWN1dW1f c3RhdHNfdGFibGU6CiAKIHJlbG5hbWUgICAgICAgICAgICAgICAgICAgfHR1cGxlc19kZWxl dGVkfHJlY2VudGx5X2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFkX3R1cGxlc3xtaXNzZWRfZGVh ZF9wYWdlc3x0dXBsZXNfZnJvemVuCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotdGVzdF92YWN1dW1fc3RhdF9pc29sYXRp b258ICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgICAxMDB8ICAgICAgICAgICAgICAg ICAwfCAgICAgICAgICAgICAgICAwfCAgICAgICAgICAgIDAKK3Rlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9ufCAgICAgICAgICAgICAwfCAgICAgICAgICAgICAgICAgNjAwfCAgICAgICAg ICAgICAgICAgMHwgICAgICAgICAgICAgICAgMHwgICAgICAgICAgICAwCiAoMSByb3cpCiAK IHN0ZXAgczFfY29tbWl0OiBDT01NSVQ7CkBAIC00OCw2ICs0OCw2IEBAIHN0ZXAgczJfcHJp bnRfdmFjdXVtX3N0YXRzX3RhYmxlOgogCiByZWxuYW1lICAgICAgICAgICAgICAgICAgIHx0 dXBsZXNfZGVsZXRlZHxyZWNlbnRseV9kZWFkX3R1cGxlc3xtaXNzZWRfZGVhZF90dXBsZXN8 bWlzc2VkX2RlYWRfcGFnZXN8dHVwbGVzX2Zyb3plbgogLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLXRlc3RfdmFjdXVtX3N0 YXRfaXNvbGF0aW9ufCAgICAgICAgICAgMTAwfCAgICAgICAgICAgICAgICAgMTAwfCAgICAg ICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgMHwgICAgICAgICAgMTAxCit0ZXN0X3Zh Y3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgIDMwMHwgICAgICAgICAgICAgICAgIDYw MHwgICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgIDB8ICAgICAgICAgIDMwMwog KDEgcm93KQogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVz Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IDM4Zjkz Mjk0ZmJmLi5iN2UzNTE2MTZhNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5v dXQKQEAgLTIyNjEsNiArMjI2MSwyOCBAQCBwZ19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1Qg cmVsaWQsCiAgICAgcmV2X2FsbF92aXNpYmxlX3BhZ2VzCiAgICBGUk9NIHBnX3N0YXRfYWxs X3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPD4gQUxMIChBUlJBWVsncGdfY2F0YWxv Zyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hlbWEnOjpuYW1lXSkpIEFORCAoc2NoZW1hbmFt ZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOworcGdfc3RhdF92YWN1dW1faW5kZXhlc3wgU0VM RUNUIHJlbC5vaWQgQVMgcmVsaWQsCisgICAgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAor ICAgIHJlbC5yZWxuYW1lLAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCwKKyAgICBzdGF0 cy50b3RhbF9ibGtzX2hpdCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQsCisgICAg c3RhdHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHN0YXRzLnJlbF9ibGtzX3JlYWQsCisg ICAgc3RhdHMucmVsX2Jsa3NfaGl0LAorICAgIHN0YXRzLnBhZ2VzX2RlbGV0ZWQsCisgICAg c3RhdHMudHVwbGVzX2RlbGV0ZWQsCisgICAgc3RhdHMud2FsX3JlY29yZHMsCisgICAgc3Rh dHMud2FsX2ZwaSwKKyAgICBzdGF0cy53YWxfYnl0ZXMsCisgICAgc3RhdHMuYmxrX3JlYWRf dGltZSwKKyAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKKyAgICBzdGF0cy5kZWxheV90aW1l LAorICAgIHN0YXRzLnRvdGFsX3RpbWUKKyAgIEZST00gKHBnX2NsYXNzIHJlbAorICAgICBK T0lOIHBnX25hbWVzcGFjZSBucyBPTiAoKG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UpKSks CisgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhyZWwub2lkKSBzdGF0 cyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19k aXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hp dCwgcGFnZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0ZWQsIHdhbF9yZWNvcmRzLCB3YWxfZnBp LCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1l LCB0b3RhbF90aW1lKQorICBXSEVSRSAocmVsLnJlbGtpbmQgPSAnaSc6OiJjaGFyIik7CiBw Z19zdGF0X3ZhY3V1bV90YWJsZXN8IFNFTEVDVCBucy5uc3BuYW1lIEFTIHNjaGVtYW5hbWUs CiAgICAgcmVsLnJlbG5hbWUsCiAgICAgc3RhdHMucmVsaWQsCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dCBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0Cm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lMDBhMGZjNjgzYwotLS0g L2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4 X3N0YXRpc3RpY3Mub3V0CkBAIC0wLDAgKzEsMTgzIEBACistLQorLS0gVGVzdCBjdW11bGF0 aXZlIHZhY3V1bSBzdGF0cyBzeXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0 aWNzIGNvbGxlY3RlZCBkdXJpbmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBm cm96ZW4gYW5kIHZpc2libGUgcGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBm cm96ZW4gYW5kIHZpc2libGUgcGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlz dGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMg YmVoYXZpb3IgaXMgdW5zdGFibGUuCistLQorLS0gY29uZGl0aW8gc2luZSBxdWEgbm9uCitT SE9XIHRyYWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KKyB0cmFja19jb3VudHMgCistLS0t LS0tLS0tLS0tLQorIG9uCisoMSByb3cpCisKK1xzZXQgc2FtcGxlX3NpemUgMTAwMDAKKy0t IG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NF VCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CistLSBUZXN0IHRoYXQgdmFjdXVtIHN0YXRp c3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCitTRVQgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGlu dCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOwor SU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNh bXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitERUxFVEUgRlJPTSB2ZXN0YXQg V0hFUkUgeCAlIDIgPSAwOworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElN SVQgMTI4KSB2ZXN0YXQ7CistLSBNdXN0IGJlIGVtcHR5LgorU0VMRUNUICoKK0ZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyB2dAorV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOwor IHJlbGlkIHwgc2NoZW1hbmFtZSB8IHJlbG5hbWUgfCB0b3RhbF9ibGtzX3JlYWQgfCB0b3Rh bF9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8 IHJlbF9ibGtzX3JlYWQgfCByZWxfYmxrc19oaXQgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVz X2RlbGV0ZWQgfCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCBibGtfcmVh ZF90aW1lIHwgYmxrX3dyaXRlX3RpbWUgfCBkZWxheV90aW1lIHwgdG90YWxfdGltZSAKKy0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisoMCBy b3dzKQorCitSRVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljczsKK0RST1AgVEFCTEUgdmVz dGF0IENBU0NBREU7CitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBi ZSBvbgorIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIG9uCisoMSByb3cpCisKKy0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVz aGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisgcGdfc3RhdF9mb3Jj ZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykK KworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorU0VUIHZhY3V1bV9mcmVlemVfbWluX2FnZSA9 IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAwOworLS1TRVQgc3RhdHNfZmV0 Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50 IHByaW1hcnkga2V5KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0 b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1NFTEVDVCBv aWQgQVMgaW9pZCBmcm9tIHBnX2NsYXNzIHdoZXJlIHJlbG5hbWUgPSAndmVzdGF0X3BrZXkn IFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIgPSAwOworLS0gQmVmb3Jl IHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4dGVuZGVkIHN0YXRzIHZpZXcgaXMgZW1w dHkuCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyxwYWdlc19kZWxldGVkLHR1cGxlc19k ZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwor ICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0 ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8ICAgICAgIDMwIHwgICAgICAgICAgICAgMCB8ICAg ICAgICAgICAgICAwCisoMSByb3cpCisKK1NFTEVDVCByZWxwYWdlcyBBUyBpcnAKK0ZST00g cGdfY2xhc3MgYworV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKK1ZBQ1VV TSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBP TikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlz dGljcworQ0hFQ0tQT0lOVDsKKy0tIFRoZSB0YWJsZSBhbmQgaW5kZXggZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhhdAorLS0gdmFjdXVtIGZyb3plZCBw YWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdlc19yZW1vdmVkIHN0YXllZCB0aGUg c2FtZQorLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJsZSBoYXZlIGNsZWFuZWQgdXAKK1NF TEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2Rl bGV0ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxl c19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMK K1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lk OworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2Rl bGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8 IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2Vz X2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFu Y2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRl cyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorLS0gTG9vayBpbnRvIFdBTCBy ZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZGlXUiwgd2FsX2J5 dGVzID4gMCBBUyBkaVdCCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVs bmFtZSA9ICd2ZXN0YXRfcGtleSc7CisgZGl3ciB8IGRpd2IgCistLS0tLS0rLS0tLS0tCisg dCAgICB8IHQKKygxIHJvdykKKworREVMRVRFIEZST00gdmVzdGF0OzsKK1ZBQ1VVTSAoUEFS QUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVz dGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcwor Q0hFQ0tQT0lOVDsKKy0tIHBhZ2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVD VCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0 ZWQtOmlwZCA+IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID4gMCBB UyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19j bGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQg PSBjLm9pZDsKKyAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1 cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgfCB0ICAgICAgICB8IHQgICAgICAg ICAgICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGly cCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9 ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdB TCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMg ZGl3ciwgd2FsX2J5dGVzLTppd2IgQVMgZGl3Yiwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaQor RlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3Br ZXknIFxnc2V0CistLSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1Qg OmRpd3IgPiAwIEFTIGRpV1IsIDpkaXdiID4gMCBBUyBkaVdCOworIGRpd3IgfCBkaXdiIAor LS0tLS0tKy0tLS0tLQorIHQgICAgfCB0CisoMSByb3cpCisKKy0tIFN0b3JlIFdBTCBhZHZh bmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0 ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMg V0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKK0lOU0VSVCBJTlRPIHZlc3Rh dCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsK K0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBWQUNVVU0gRlVMTCBk b2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5vIGFueSBhZHZhbmNlbWVu dHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUuCitWQUNVVU0gRlVMTCB2 ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNz CitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitT RUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyMiwgd2FsX2J5dGVzLTppd2IgQVMgZGl3 YjIsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkyCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4 ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKy0tIFdBTCBhbmQgb3Ro ZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1Qg OmRpd3IyPTAgQVMgZGlXUiwgOmRpZnBpMj0wIEFTIGlGUEksIDpkaXdiMj0wIEFTIGRpV0I7 CisgZGl3ciB8IGlmcGkgfCBkaXdiIAorLS0tLS0tKy0tLS0tLSstLS0tLS0KKyB0ICAgIHwg dCAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA8 IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVk LHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0 YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAn dmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVs cGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRf cGtleSB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNU IHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxl c19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19j bGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQg PSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitT RUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBp ZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBcZ3NldAorREVMRVRFIEZST00gdmVzdGF0OworVFJVTkNBVEUgdmVzdGF0Owor VkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVB TlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBz dGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFy aWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKK1NFTEVD VCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IzLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiMywg d2FsX2ZwaS06aWZwaSBBUyBkaWZwaTMKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorLS1UaGVyZSBhcmUgbm90aGlu ZyBjaGFuZ2VkCitTRUxFQ1QgOmRpd3IzPTAgQVMgZGlXUiwgOmRpZnBpMz0wIEFTIGlGUEks IDpkaXdiMz0wIEFTIGRpV0I7CisgZGl3ciB8IGlmcGkgfCBkaXdiIAorLS0tLS0tKy0tLS0t LSstLS0tLS0KKyB0ICAgIHwgdCAgICB8IHQKKygxIHJvdykKKworLS0KKy0tIE5vdywgdGhl IHRhYmxlIGFuZCBpbmRleCBpcyBjb21wcmVzc2VkIGludG8gemVybyBudW1iZXIgb2YgcGFn ZXMuIENoZWNrIGl0CistLSBpbiB2YWN1dW0gZXh0ZW5kZWQgc3RhdGlzdGljcy4KKy0tIFRo ZSBwYWdlc19mcm96ZW4sIHBhZ2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBiZSBjaGFu Z2VkCistLQorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFn ZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxl dGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2lu ZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXkn IEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdl c19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtleSB8IGYgICAg ICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworRFJPUCBUQUJMRSB2ZXN0YXQ7 CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3Jj L3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQppbmRleCBmZDNiYmY4NTQxOC4uNTYz MzFhYTgzN2UgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1 bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpAQCAtMTQwLDQg KzE0MCw1IEBAIHRlc3Q6IHRhYmxlc3BhY2UKICMgLS0tLS0tLS0tLQogIyBDaGVjayB2YWN1 dW0gc3RhdGlzdGljcwogIyAtLS0tLS0tLS0tCit0ZXN0OiB2YWN1dW1faW5kZXhfc3RhdGlz dGljcwogdGVzdDogdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2lu ZGV4X3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4 X3N0YXRpc3RpY3Muc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li5hZTE0NmUxZDIzZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbApAQCAtMCwwICsxLDE1MSBAQAorLS0KKy0t IFRlc3QgY3VtdWxhdGl2ZSB2YWN1dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hlY2sgdGhl IHdhbGwgc3RhdGlzdGljcyBjb2xsZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRpb246Cist LSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1dW07Cist LSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2Vu ZC4KKy0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0 IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgorLS0KKy0tIGNvbmRpdGlvIHNp bmUgcXVhIG5vbgorU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCisKK1xzZXQg c2FtcGxlX3NpemUgMTAwMDAKKworLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdl IHdhbnQgdG8gdGVzdCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKKwor LS0gVGVzdCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNzIHdpbGwgYmUgZW1wdHkgd2hlbiBwYXJh bWV0ZXIgaXMgb2ZmLgorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvZmYnOwor CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVk ID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4 IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2 ZXN0YXQ7CisKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CisKK1ZBQ1VV TSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworCistLSBN dXN0IGJlIGVtcHR5LgorU0VMRUNUICoKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2 dAorV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOworCitSRVNFVCB0cmFja192YWN1dW1f c3RhdGlzdGljczsKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CisKK1NIT1cgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCisKKy0tIGVuc3VyZSBwZW5kaW5n IHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7 CisKK1xzZXQgc2FtcGxlX3NpemUgMTAwMDAKK1NFVCB2YWN1dW1fZnJlZXplX21pbl9hZ2Ug PSAwOworU0VUIHZhY3V1bV9mcmVlemVfdGFibGVfYWdlID0gMDsKKy0tU0VUIHN0YXRzX2Zl dGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGlu dCBwcmltYXJ5IGtleSkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFj dG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVf c2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CisKK1NFTEVD VCBvaWQgQVMgaW9pZCBmcm9tIHBnX2NsYXNzIHdoZXJlIHJlbG5hbWUgPSAndmVzdGF0X3Br ZXknIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBC ZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMgdmlldyBp cyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQsdHVw bGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5v aWQ7CitTRUxFQ1QgcmVscGFnZXMgQVMgaXJwCitGUk9NIHBnX2NsYXNzIGMKK1dIRVJFIHJl bG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVG RkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQg aXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsK KworLS0gVGhlIHRhYmxlIGFuZCBpbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBz aG91bGQgc2hvdyB1cyB0aGF0CistLSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1 cCBwYWdlcywgYnV0IHBhZ2VzX3JlbW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBiZWNhdXNl IG9mIG5vdCBmdWxsIHRhYmxlIGhhdmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUs cmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZCA9IDAgQVMgcGFn ZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00g cGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFt ZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgdnQucmVs bmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0 ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMK K1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lk IFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNU IHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgXGdzZXQKKworLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KK1NFTEVDVCB3 YWxfcmVjb3JkcyA+IDAgQVMgZGlXUiwgd2FsX2J5dGVzID4gMCBBUyBkaVdCCitGUk9NIHBn X3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleSc7CisK K0RFTEVURSBGUk9NIHZlc3RhdDs7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FH RV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vz c2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CisKKy0tIHBh Z2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBh Z2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA+IDAgQVMgcGFn ZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID4gMCBBUyB0dXBsZXNfZGVsZXRlZAor RlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5y ZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2 dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNf ZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xh c3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0g Yy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitT RUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdi LCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMg V0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworLS0gV0FMIGFkdmFuY2Ug c2hvdWxkIGJlIGRldGVjdGVkLgorU0VMRUNUIDpkaXdyID4gMCBBUyBkaVdSLCA6ZGl3YiA+ IDAgQVMgZGlXQjsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitT RUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBp ZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBcZ3NldAorCitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2ZXN0YXQg V0hFUkUgeCAlIDIgPSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQgdG8gc3Rh dCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MKKy0t IGFyZSBkZXRlY3RlZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQgaXMgbmVj ZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0g U3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMt Oml3ciBBUyBkaXdyMiwgd2FsX2J5dGVzLTppd2IgQVMgZGl3YjIsIHdhbF9mcGktOmlmcGkg QVMgZGlmcGkyCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9 ICd2ZXN0YXRfcGtleScgXGdzZXQKKworLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFk dmFuY2Ugc2hvdWxkIG5vdCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3cjI9MCBBUyBkaVdS LCA6ZGlmcGkyPTAgQVMgaUZQSSwgOmRpd2IyPTAgQVMgZGlXQjsKKworU0VMRUNUIHZ0LnJl bG5hbWUscmVscGFnZXMtOmlycCA8IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBk ID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxl c19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMK K1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lk OworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMg aXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz IHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQg dnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2 YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3 YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5h bWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdDsKK1RSVU5D QVRFIHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEy OCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNo ZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gU3RvcmUgV0FMIGFk dmFuY2VzIGludG8gdmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0 aGUgdGFibGUKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IzLCB3YWxfYnl0ZXMt Oml3YiBBUyBkaXdiMywgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTMKK0ZST00gcGdfc3RhdF92 YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCist LVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZGl3cjM9MCBBUyBkaVdSLCA6 ZGlmcGkzPTAgQVMgaUZQSSwgOmRpd2IzPTAgQVMgZGlXQjsKKworLS0KKy0tIE5vdywgdGhl IHRhYmxlIGFuZCBpbmRleCBpcyBjb21wcmVzc2VkIGludG8gemVybyBudW1iZXIgb2YgcGFn ZXMuIENoZWNrIGl0CistLSBpbiB2YWN1dW0gZXh0ZW5kZWQgc3RhdGlzdGljcy4KKy0tIFRo ZSBwYWdlc19mcm96ZW4sIHBhZ2VzX3NjYW5uZWQgdmFsdWVzIHNob3VsZG4ndCBiZSBjaGFu Z2VkCistLQorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFn ZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxl dGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2lu ZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXkn IEFORCB2dC5yZWxpZCA9IGMub2lkOworCitEUk9QIFRBQkxFIHZlc3RhdDsKLS0gCjIuMzQu MQoK --------------o2d5R9Kv8VVcO99oQFm6lvfh Content-Type: text/x-patch; charset=UTF-8; name="v20-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v20-0003-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSBlNzYxNDMxMjk1MGE2NThhN2Q4ZDczYWM0YTFlNTI3YjhlNDU0NmNlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVHVlLCA0IEZlYiAyMDI1IDE3OjU3OjQ0ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAzLzRdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj dXVtIHN0YXRpc3RpY3Mgb24KIGRhdGFiYXNlcy4KCkRhdGFiYXNlIHZhY3V1bSBzdGF0aXN0 aWNzIGluZm9ybWF0aW9uIGlzIHRoZSBjb2xsZWN0ZWQgZ2VuZXJhbAp2YWN1dW0gc3RhdGlz dGljcyBpbmRleGVzIGFuZCB0YWJsZXMgb3duZWQgYnkgdGhlIGRhdGFiYXNlcywgd2hpY2gK dGhleSBiZWxvbmcgdG8uCgpJbiBhZGRpdGlvbiB0byB0aGUgZmFjdCB0aGF0IHRoZXJlIGFy ZSBmYXIgZmV3ZXIgZGF0YWJhc2VzIGluIGEgc3lzdGVtCnRoYW4gcmVsYXRpb25zLCB2YWN1 dW0gc3RhdGlzdGljcyBmb3IgYSBkYXRhYmFzZSBjb250YWluIGZld2VyIHN0YXRpc3RpY3MK dGhhbiByZWxhdGlvbnMsIGJ1dCB0aGV5IGFyZSBlbm91Z2ggdG8gaW5kaWNhdGUgdGhhdCBz b21ldGhpbmcgbWF5IGJlCndyb25nIGluIHRoZSBzeXN0ZW0gYW5kIHByb21wdCB0aGUgYWRt aW5pc3RyYXRvciB0byBlbmFibGUgZXh0ZW5kZWQKbW9uaXRvcmluZyBmb3IgcmVsYXRpb25z LgoKU28sIGJ1ZmZlciwgd2FsLCBzdGF0aXN0aWNzIG9mIEkvTyB0aW1lIG9mIHJlYWQgYW5k IHdyaXRlbiBibG9ja3MKc3RhdGlzdGljcyB3aWxsIGJlIG9ic2VydmVkIGJlY2F1c2UgdGhl eSBhcmUgY29sbGVjdGVkIGZvciBib3RoCnRhYmxlcywgaW5kZXhlcy4gSW4gYWRkaXRpb24s IHdlIHNob3cgdGhlIG51bWJlciBvZiBlcnJvcnMgY2F1Z2h0CmR1cmluZyBvcGVyYXRpb24g b2YgdGhlIHZhY3V1bSBvbmx5IGZvciB0aGUgZXJyb3IgbGV2ZWwuCgp3cmFwYXJvdW5kX2Zh aWxzYWZlX2NvdW50IGlzIGEgbnVtYmVyIG9mIHRpbWVzIHdoZW4gdGhlIHZhY3V1bSBzdGFy dHMKdXJnZW50IGNsZWFudXAgdG8gcHJldmVudCB3cmFwYXJvdW5kIHByb2JsZW0gd2hpY2gg aXMgY3JpdGljYWwgZm9yCnRoZSBkYXRhYmFzZS4KCkF1dGhvcnM6IEFsZW5hIFJ5YmFraW5h IDxsZW5hLnJpYmFja2luYUB5YW5kZXgucnU+LAogICBBbmRyZWkgTGVwaWtob3YgPGEubGVw aWtob3ZAcG9zdGdyZXNwcm8ucnU+LAogICBBbmRyZWkgWnVia292IDxhLnp1YmtvdkBwb3N0 Z3Jlc3Byby5ydT4KUmV2aWV3ZWQtYnk6IERpbGlwIEt1bWFyIDxkaWxpcGJhbGF1dEBnbWFp bC5jb20+LCBNYXNhaGlrbyBTYXdhZGEgPHNhd2FkYS5tc2hrQGdtYWlsLmNvbT4sCiAgICAg ICBJbGlhIEV2ZG9raW1vdiA8aWx5YS5ldmRva2ltb3ZAdGFudG9ybGFicy5jb20+LCBqaWFu IGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+LAogICAgICAgS2lyaWxsIFJlc2hr ZSA8cmVzaGtla2lyaWxsQGdtYWlsLmNvbT4sIEFsZXhhbmRlciBLb3JvdGtvdiA8YWVrb3Jv dGtvdkBnbWFpbC5jb20+LAogICAgICAgSmltIE5hc2J5IDxqbmFzYnlAdXBncmFkZS5jb20+ LCBTYW1pIEltc2VpaCA8c2FtaW1zZWloQGdtYWlsLmNvbT4KLS0tCiBzcmMvYmFja2VuZC9h Y2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgICAgICAgICAgfCAgMTcgKystCiBzcmMvYmFja2Vu ZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgICAgICAgICAgfCAgMjcgKysrKy0KIHNyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAgMiArLQogc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMgIHwgICAxICsKIHNy Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jICB8ICA0NiArKysr KysrLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgICAgICAgICAgIHwg MTAwICsrKysrKysrKysrKysrKysrLQogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFi bGVzLmMgICAgICAgICAgIHwgICAyICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2Mu ZGF0ICAgICAgICAgICAgICAgfCAgMTMgKystCiBzcmMvaW5jbHVkZS9wZ3N0YXQuaCAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0KIC4uLi92YWN1dW0tZXh0ZW5kaW5nLWlu LXJlcGV0YWJsZS1yZWFkLnNwZWMgICB8ICAgNiArKwogc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9ydWxlcy5vdXQgICAgICAgICAgIHwgIDE3ICsrKwogLi4uL2V4cGVjdGVkL3ZhY3V1 bV9pbmRleF9zdGF0aXN0aWNzLm91dCAgICAgIHwgIDE2ICstLQogLi4udXQgPT4gdmFjdXVt X3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXR9IHwgIDg3ICsrKysrKysrKysrKystLQog c3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICAyICst CiAuLi4vcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsICAgfCAgIDYg Ky0KIC4uLnFsID0+IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3FsfSB8ICA2 OSArKysrKysrKysrKy0KIDE2IGZpbGVzIGNoYW5nZWQsIDM4MSBpbnNlcnRpb25zKCspLCAz NSBkZWxldGlvbnMoLSkKIHJlbmFtZSBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3t2YWN1 dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0ID0+IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRp c3RpY3Mub3V0fSAoODIlKQogcmVuYW1lIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3t2YWN1dW1f dGFibGVzX3N0YXRpc3RpY3Muc3FsID0+IHZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3Rp Y3Muc3FsfSAoODElKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zh Y3V1bWxhenkuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRl eCAzOTQxZjVlMjQ3Zi4uZTZiZTQ0Y2M1YzkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMKQEAgLTY2MCw3ICs2NjAsNyBAQCBhY2N1bXVsYXRlX2hlYXBfdmFjdXVt X3N0YXRpc3RpY3MoTFZFeHRTdGF0Q291bnRlcnMgKmV4dFZhY0NvdW50ZXJzLCBMVlJlbFN0 YXRlCiAJdmFjcmVsLT5leHRWYWNSZXBvcnQudGFibGUubWlzc2VkX2RlYWRfdHVwbGVzICs9 IHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzOwogCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRh YmxlLm1pc3NlZF9kZWFkX3BhZ2VzICs9IHZhY3JlbC0+bWlzc2VkX2RlYWRfcGFnZXM7CiAJ dmFjcmVsLT5leHRWYWNSZXBvcnQudGFibGUuaW5kZXhfdmFjdXVtX2NvdW50ICs9IHZhY3Jl bC0+bnVtX2luZGV4X3NjYW5zOwotCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LnRhYmxlLndyYXBh cm91bmRfZmFpbHNhZmVfY291bnQgKz0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2Nv dW50OworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0LndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQg Kz0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OwogfQogCiAKQEAgLTQwNTIs NiArNDA1Miw5IEBAIHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJc3dpdGNo IChlcnJpbmZvLT5waGFzZSkKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1NDQU5f SEVBUDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCQlwZ3N0YXRfcmVw b3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5yZWxvaWQsIFBHU1RBVF9FWFRWQUNfVEFCTEUp OworCiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVycmluZm8tPmJsa25vKSkKIAkJCXsK IAkJCQlpZiAoT2Zmc2V0TnVtYmVySXNWYWxpZChlcnJpbmZvLT5vZmZudW0pKQpAQCAtNDA2 Nyw2ICs0MDcwLDkgQEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJCWJy ZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9IRUFQOgorCQkJaWYo Z2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJy b3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX1RBQkxFKTsKKwogCQkJaWYgKEJs b2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQl7CiAJCQkJaWYgKE9mZnNl dE51bWJlcklzVmFsaWQoZXJyaW5mby0+b2ZmbnVtKSkKQEAgLTQwODIsMTYgKzQwODgsMjUg QEAgdmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNh c2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9JTkRFWDoKKwkJCWlmKGdldGVycmVsZXZl bCgpID09IEVSUk9SKQorCQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8t PmluZG9pZCwgUEdTVEFUX0VYVFZBQ19JTkRFWCk7CisKIAkJCWVycmNvbnRleHQoIndoaWxl IHZhY3V1bWluZyBpbmRleCBcIiVzXCIgb2YgcmVsYXRpb24gXCIlcy4lc1wiIiwKIAkJCQkJ ICAgZXJyaW5mby0+aW5kbmFtZSwgZXJyaW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5y ZWxuYW1lKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX0lOREVY X0NMRUFOVVA6CisJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKKwkJCQlwZ3N0YXRf cmVwb3J0X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5pbmRvaWQsIFBHU1RBVF9FWFRWQUNfSU5E RVgpOworCiAJCQllcnJjb250ZXh0KCJ3aGlsZSBjbGVhbmluZyB1cCBpbmRleCBcIiVzXCIg b2YgcmVsYXRpb24gXCIlcy4lc1wiIiwKIAkJCQkJICAgZXJyaW5mby0+aW5kbmFtZSwgZXJy aW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsKIAkJCWJyZWFrOwogCiAJ CWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1RSVU5DQVRFOgorCQkJaWYoZ2V0ZXJyZWxldmVs KCkgPT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+ cmVsb2lkLCBQR1NUQVRfRVhUVkFDX1RBQkxFKTsKKwogCQkJaWYgKEJsb2NrTnVtYmVySXNW YWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQkJZXJyY29udGV4dCgid2hpbGUgdHJ1bmNhdGlu ZyByZWxhdGlvbiBcIiVzLiVzXCIgdG8gJXUgYmxvY2tzIiwKIAkJCQkJCSAgIGVycmluZm8t PnJlbG5hbWVzcGFjZSwgZXJyaW5mby0+cmVsbmFtZSwgZXJyaW5mby0+Ymxrbm8pOwpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IDcyMTc0NzNjMzdiLi43OWE1 ZjFiNTc0MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Mu c3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtMTQ3 MSw0ICsxNDcxLDI5IEBAIEZST00KICAgcGdfY2xhc3MgcmVsCiAgIEpPSU4gcGdfbmFtZXNw YWNlIG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UsCiAgIExBVEVSQUwgcGdfc3Rh dF9nZXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3RhdHMKLVdIRVJFIHJlbC5yZWxraW5k ID0gJ2knOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK1dIRVJFIHJlbC5yZWxraW5k ID0gJ2knOworCitDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSBBUworU0VM RUNUCisgIGRiLm9pZCBhcyBkYm9pZCwKKyAgZGIuZGF0bmFtZSBBUyBkYm5hbWUsCisKKyAg c3RhdHMuZGJfYmxrc19yZWFkIEFTIGRiX2Jsa3NfcmVhZCwKKyAgc3RhdHMuZGJfYmxrc19o aXQgQVMgZGJfYmxrc19oaXQsCisgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCBBUyB0b3Rh bF9ibGtzX2RpcnRpZWQsCisgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9i bGtzX3dyaXR0ZW4sCisKKyAgc3RhdHMud2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCisg IHN0YXRzLndhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgc3RhdHMud2FsX2J5dGVzIEFTIHdhbF9i eXRlcywKKworICBzdGF0cy5ibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3RpbWUsCisgIHN0 YXRzLmJsa193cml0ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAorCisgIHN0YXRzLmRlbGF5 X3RpbWUgQVMgZGVsYXlfdGltZSwKKyAgc3RhdHMudG90YWxfdGltZSBBUyB0b3RhbF90aW1l LAorICBzdGF0cy53cmFwYXJvdW5kX2ZhaWxzYWZlIEFTIHdyYXBhcm91bmRfZmFpbHNhZmUs CisgIHN0YXRzLmVycm9ycyBBUyBlcnJvcnMKK0ZST00KKyAgcGdfZGF0YWJhc2UgZGIsCisg IExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKGRiLm9pZCkgc3RhdHM7Clwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0 YXQuYwppbmRleCAzNjNjYmYyYmIwNC4uNGNjMWQwOWQ5NmYgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdC5jCkBAIC0yMDQsNyArMjA0LDcgQEAgc3RhdGljIGlubGluZSBi b29sIHBnc3RhdF9pc19raW5kX3ZhbGlkKFBnU3RhdF9LaW5kIGtpbmQpOwogCiBib29sCQlw Z3N0YXRfdHJhY2tfY291bnRzID0gZmFsc2U7CiBpbnQJCQlwZ3N0YXRfZmV0Y2hfY29uc2lz dGVuY3kgPSBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lfQ0FDSEU7Ci1ib29sCQlwZ3N0YXRf dHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgPSB0cnVlOworYm9vbAkJcGdzdGF0X3RyYWNrX3Zh Y3V1bV9zdGF0aXN0aWNzID0gZmFsc2U7CiAKIC8qIC0tLS0tLS0tLS0KICAqIHN0YXRlIHNo YXJlZCB3aXRoIHBnc3RhdF8qLmMKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L3Bnc3RhdF9kYXRhYmFzZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0X2RhdGFiYXNlLmMKaW5kZXggMDVhOGNjZmRiNzUuLmQ1YzFlMmEyY2Y1IDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYwor KysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYwpAQCAt NDQ5LDYgKzQ0OSw3IEBAIHBnc3RhdF9kYXRhYmFzZV9mbHVzaF9jYihQZ1N0YXRfRW50cnlS ZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpCiAJcGdzdGF0X3VubG9ja19lbnRyeShlbnRy eV9yZWYpOwogCiAJbWVtc2V0KHBlbmRpbmdlbnQsIDAsIHNpemVvZigqcGVuZGluZ2VudCkp OworCW1lbXNldCgmKHBlbmRpbmdlbnQpLT52YWN1dW1fZXh0LCAwLCBzaXplb2YoRXh0VmFj UmVwb3J0KSk7CiAKIAlyZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKaW5kZXggY2Q0ZmZiNTBiY2EuLjVkMzZkNWEy MTQwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVs YXRpb24uYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRp b24uYwpAQCAtMjA1LDYgKzIwNSwzOCBAQCBwZ3N0YXRfZHJvcF9yZWxhdGlvbihSZWxhdGlv biByZWwpCiAJfQogfQogCisvKiAtLS0tLS0tLS0KKyAqIHBnc3RhdF9yZXBvcnRfdmFjdXVt X2Vycm9yKCkgLQorICoKKyAqCVRlbGwgdGhlIGNvbGxlY3RvciBhYm91dCBhbiAoYXV0byl2 YWN1dW0gaW50ZXJydXB0aW9uLgorICogLS0tLS0tLS0tCisgKi8KK3ZvaWQKK3Bnc3RhdF9y ZXBvcnRfdmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5 cGUpCit7CisJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CisJUGdTdGF0U2hhcmVkX1Jl bGF0aW9uICpzaHRhYmVudHJ5OworCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5Owor CU9pZAkJCWRib2lkID0gIE15RGF0YWJhc2VJZDsKKwlQZ1N0YXRfU3RhdERCRW50cnkgKmRi ZW50cnk7CS8qIHBlbmRpbmcgZGF0YWJhc2UgZW50cnkgKi8KKworCWlmICghcGdzdGF0X3Ry YWNrX2NvdW50cykKKwkJcmV0dXJuOworCisJZW50cnlfcmVmID0gcGdzdGF0X2dldF9lbnRy eV9yZWZfbG9ja2VkKFBHU1RBVF9LSU5EX1JFTEFUSU9OLAorCQkJCQkJCQkJCQlkYm9pZCwg dGFibGVvaWQsIGZhbHNlKTsKKworCXNodGFiZW50cnkgPSAoUGdTdGF0U2hhcmVkX1JlbGF0 aW9uICopIGVudHJ5X3JlZi0+c2hhcmVkX3N0YXRzOworCXRhYmVudHJ5ID0gJnNodGFiZW50 cnktPnN0YXRzOworCisJdGFiZW50cnktPnZhY3V1bV9leHQudHlwZSA9IG1fdHlwZTsKKwlw Z3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CisKKwlkYmVudHJ5ID0gcGdzdGF0X3By ZXBfZGF0YWJhc2VfcGVuZGluZyhkYm9pZCk7CisJZGJlbnRyeS0+dmFjdXVtX2V4dC5lcnJv cnMrKzsKKwlkYmVudHJ5LT52YWN1dW1fZXh0LnR5cGUgPSBtX3R5cGU7Cit9CisKIC8qCiAg KiBSZXBvcnQgdGhhdCB0aGUgdGFibGUgd2FzIGp1c3QgdmFjdXVtZWQgYW5kIGZsdXNoIElP IHN0YXRpc3RpY3MuCiAgKi8KQEAgLTIxNiw2ICsyNDgsNyBAQCBwZ3N0YXRfcmVwb3J0X3Zh Y3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCVBnU3RhdF9FbnRyeVJlZiAqZW50 cnlfcmVmOwogCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKIAlQZ1N0YXRf U3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKKwlQZ1N0YXRTaGFyZWRfRGF0YWJhc2UgKmRiZW50 cnk7CiAJT2lkCQkJZGJvaWQgPSAoc2hhcmVkID8gSW52YWxpZE9pZCA6IE15RGF0YWJhc2VJ ZCk7CiAJVGltZXN0YW1wVHogdHM7CiAJUGdTdGF0X0NvdW50ZXIgZWxhcHNlZHRpbWU7CkBA IC0yNzQsNiArMzA3LDE2IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwg Ym9vbCBzaGFyZWQsCiAJICovCiAJcGdzdGF0X2ZsdXNoX2lvKGZhbHNlKTsKIAkodm9pZCkg cGdzdGF0X2ZsdXNoX2JhY2tlbmQoZmFsc2UsIFBHU1RBVF9CQUNLRU5EX0ZMVVNIX0lPKTsK KworCWlmIChkYm9pZCAhPSBJbnZhbGlkT2lkKQorCXsKKwkJZW50cnlfcmVmID0gcGdzdGF0 X2dldF9lbnRyeV9yZWZfbG9ja2VkKFBHU1RBVF9LSU5EX0RBVEFCQVNFLAorCQkJCQkJCQkJ CQlkYm9pZCwgSW52YWxpZE9pZCwgZmFsc2UpOworCQlkYmVudHJ5ID0gKFBnU3RhdFNoYXJl ZF9EYXRhYmFzZSAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKworCQlwZ3N0YXRfYWNj dW11bGF0ZV9leHR2YWNfc3RhdHMoJmRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQsIHBhcmFt cywgZmFsc2UpOworCQlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CisJfQogfQog CiAvKgpAQCAtMTAyMSw2ICsxMDY0LDggQEAgcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0 YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKIAlkc3QtPmJsa193 cml0ZV90aW1lICs9IHNyYy0+YmxrX3dyaXRlX3RpbWU7CiAJZHN0LT5kZWxheV90aW1lICs9 IHNyYy0+ZGVsYXlfdGltZTsKIAlkc3QtPnRvdGFsX3RpbWUgKz0gc3JjLT50b3RhbF90aW1l OworCWRzdC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCArPSBzcmMtPndyYXBhcm91bmRf ZmFpbHNhZmVfY291bnQ7CisJZHN0LT5lcnJvcnMgKz0gc3JjLT5lcnJvcnM7CiAKIAlpZiAo IWFjY3VtdWxhdGVfcmVsdHlwZV9zcGVjaWZpY19pbmZvKQogCQlyZXR1cm47CkBAIC0xMDQ4 LDcgKzEwOTMsNiBAQCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVw b3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAogCQkJZHN0LT50YWJsZS5pbmRleF92YWN1 dW1fY291bnQgKz0gc3JjLT50YWJsZS5pbmRleF92YWN1dW1fY291bnQ7CiAJCQlkc3QtPnRh YmxlLm1pc3NlZF9kZWFkX3BhZ2VzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXM7 CiAJCQlkc3QtPnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxlcyArPSBzcmMtPnRhYmxlLm1pc3Nl ZF9kZWFkX3R1cGxlczsKLQkJCWRzdC0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3Vu dCArPSBzcmMtPnRhYmxlLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CiAJCX0KIAkJZWxz ZSBpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5ERVgpCiAJCXsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggZDRkODA0Y2M5NWIuLjA0OTI5YzhjMDkw IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjM3Myw3ICsyMzcz LDcgQEAgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnJlY2VudGx5X2Rl YWRfdHVwbGVzKTsKIAl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50 YWJsZS5taXNzZWRfZGVhZF90dXBsZXMpOwogCi0JdmFsdWVzW2krK10gPSBJbnQzMkdldERh dHVtKGV4dHZhY3V1bS0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFs dWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+d3JhcGFyb3VuZF9mYWlsc2Fm ZV9jb3VudCk7CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFi bGUuaW5kZXhfdmFjdXVtX2NvdW50KTsKIAogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPndhbF9yZWNvcmRzKTsKQEAgLTI1MDMsNiArMjUwMywxMDQgQEAgcGdf c3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMoUEdfRlVOQ1RJT05fQVJHUykKIAogCUFzc2VydChp ID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKIAorCS8qIFJldHVy bnMgdGhlIHJlY29yZCBhcyBEYXR1bSAqLworCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVH ZXREYXR1bShoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKK30K KworRGF0dW0KK3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShQR19GVU5DVElPTl9BUkdT KQoreworCSNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFMJ MTQKKworCU9pZAkJCQkJCSBkYmlkID0gUEdfR0VUQVJHX09JRCgwKTsKKwlQZ1N0YXRfU3Rh dERCRW50cnkgCQkqZGJlbnRyeTsKKwlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1bTsKKwlU dXBsZURlc2MJCQkJIHR1cGRlc2M7CisJRGF0dW0JCQkJCSB2YWx1ZXNbUEdfU1RBVF9HRVRf VkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFNdID0gezB9OworCWJvb2wJCQkJCSBudWxsc1tQ R19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MU10gPSB7MH07CisJY2hhcgkJ CQkJIGJ1ZlsyNTZdOworCWludAkJCQkJCSBpID0gMDsKKwlFeHRWYWNSZXBvcnQgYWxsemVy bzsKKworCS8qIEluaXRpYWxpc2UgYXR0cmlidXRlcyBpbmZvcm1hdGlvbiBpbiB0aGUgdHVw bGUgZGVzY3JpcHRvciAqLworCXR1cGRlc2MgPSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVzYyhQ R19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CisKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImRiaWQiLAorCQkJCQkgICBJ TlQ0T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ0b3RhbF8gYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDAp OworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90 YWxfYmxrc19oaXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2RpcnRpZWQi LAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX3dyaXR0ZW4iLAorCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ3YWxfcmVjb3JkcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9mcGki LAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfYnl0ZXMiLAorCQkJCQkgICBOVU1FUklDT0lE LCAtMSwgMCk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgImJsa19yZWFkX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa193cml0 ZV90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImRlbGF5X3RpbWUiLAorCQkJCQkg ICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0 dHJOdW1iZXIpICsraSwgInRvdGFsX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAw KTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndy YXBhcm91bmRfZmFpbHNhZmVfY291bnQiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisJ VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJlcnJvcnMi LAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisKKwlBc3NlcnQoaSA9PSBQR19TVEFUX0dF VF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CisKKwlCbGVzc1R1cGxlRGVzYyh0dXBk ZXNjKTsKKworCWRiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3RhdF9kYmVudHJ5KGRiaWQpOwor CisJaWYgKGRiZW50cnkgPT0gTlVMTCkKKwl7CisJCS8qIElmIHRoZSBzdWJzY3JpcHRpb24g aXMgbm90IGZvdW5kLCBpbml0aWFsaXNlIGl0cyBzdGF0cyAqLworCQltZW1zZXQoJmFsbHpl cm8sIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwkJZXh0dmFjdXVtID0gJmFsbHplcm87 CisJfQorCWVsc2UKKwl7CisJCWV4dHZhY3V1bSA9ICYoZGJlbnRyeS0+dmFjdXVtX2V4dCk7 CisJfQorCisJaSA9IDA7CisKKwl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0dW0oZGJp ZCk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9i bGtzX3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRv dGFsX2Jsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT50b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnRvdGFsX2Jsa3Nfd3JpdHRlbik7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRvIG51bWVy aWMsIGxpa2UgcGdfc3RhdF9zdGF0ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBzaXplb2Yg YnVmLCBVSU5UNjRfRk9STUFULCBleHR2YWN1dW0tPndhbF9ieXRlcyk7CisJdmFsdWVzW2kr K10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkgIENTdHJp bmdHZXREYXR1bShidWYpLAorCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAorCQkJ CQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdl dERhdHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9h dDhHZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9 IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10g PSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX3RpbWUpOworCXZhbHVlc1tpKytd ID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQp OworCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPmVycm9ycyk7CisK KwlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7 CisKIAkvKiBSZXR1cm5zIHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KIAlQR19SRVRVUk5fREFU VU0oSGVhcFR1cGxlR2V0RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVlcywg bnVsbHMpKSk7CiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMgYi9zcmMvYmFja2VuZC91dGls cy9taXNjL2d1Y190YWJsZXMuYwppbmRleCA0YmRkNjM5OWJkZi4uZDJjZDA5ZmQ0MTIgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCisrKyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCkBAIC0xNTA3LDcgKzE1MDcsNyBA QCBzdHJ1Y3QgY29uZmlnX2Jvb2wgQ29uZmlndXJlTmFtZXNCb29sW10gPQogCQkJTlVMTAog CQl9LAogCQkmcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzLAotCQl0cnVlLAorCQlm YWxzZSwKIAkJTlVMTCwgTlVMTCwgTlVMTAogCX0sCiAJewpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJv Yy5kYXQKaW5kZXggZTFiZDViODA5YWUuLjRkNTVhNGJlYjUzIDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfcHJvYy5kYXQKQEAgLTEyNDY5LDEyICsxMjQ2OSwyMSBAQAogICBwcm9wYXJhbGxlbCA9 PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKICAg cHJvc3JjID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycgfSwKIHsgb2lk ID0+ICc4MDA0JywKLSAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIHJl dHVybiBzdGF0cyB2YWx1ZXMnLAorICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2lu ZGV4ZXMgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVzIGZvciBpbmRleCcsCiAgIHByb25h bWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJywgcHJvcm93cyA9PiAxMDAwLCBw cm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJpY3Qg PT4gJ2YnLAogICBwcm9yZXRzZXQgPT4gJ3QnLAogICBwcm9hcmd0eXBlcyA9PiAnb2lkJywK ICAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50 OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0 OCxmbG9hdDh9JywKICAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG99JywKICAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxf Ymxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtz X3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNfZGVsZXRlZCx0dXBs ZXNfZGVsZXRlZCx3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlcyxibGtfcmVhZF90aW1l LGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUsdG90YWxfdGltZX0nLAotICBwcm9zcmMgPT4g J3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJyB9CisgIHByb3NyYyA9PiAncGdfc3RhdF9n ZXRfdmFjdXVtX2luZGV4ZXMnIH0sCit7IG9pZCA9PiAnODAwNScsCisgIGRlc2NyID0+ICdw Z19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVz IGZvciBkYXRhYmFzZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRh YmFzZScsIHByb3Jvd3MgPT4gMTAwMCwgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBl ID0+ICdyZWNvcmQnLHByb2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0c2V0ID0+ICd0JywK KyAgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9p ZCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxudW1lcmljLGZsb2F0OCxmbG9hdDgs ZmxvYXQ4LGZsb2F0OCxpbnQ0LGludDR9JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxv LG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1lcyA9PiAne2RiaWQsZGJv aWQsZGJfYmxrc19yZWFkLGRiX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9i bGtzX3dyaXR0ZW4sd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRfdGlt ZSxibGtfd3JpdGVfdGltZSxkZWxheV90aW1lLHRvdGFsX3RpbWUsd3JhcGFyb3VuZF9mYWls c2FmZSxlcnJvcnN9JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJh c2UnIH0sCiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNs dWRlL3Bnc3RhdC5oCmluZGV4IDM0N2Q4Njg3NjZlLi5mZWIxN2I3MGY4ZSAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKQEAg LTE1NSw2ICsxNTUsOSBAQCB0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKIAogCWludDY0 CQl0dXBsZXNfZGVsZXRlZDsJCS8qIHR1cGxlcyBkZWxldGVkIGJ5IHZhY3V1bSAqLwogCisJ aW50MzIJCWVycm9yczsKKwlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJLyog dGhlIG51bWJlciBvZiB0aW1lcyB0byBwcmV2ZW50IHdyYXBhcm91bmQgcHJvYmxlbSAqLwor CiAJRXh0VmFjUmVwb3J0VHlwZSB0eXBlOwkJLyogaGVhcCwgaW5kZXgsIGV0Yy4gKi8KIAog CS8qIC0tLS0tLS0tLS0KQEAgLTE4NCw3ICsxODcsNiBAQCB0eXBlZGVmIHN0cnVjdCBFeHRW YWNSZXBvcnQKIAkJCWludDY0CQltaXNzZWRfZGVhZF90dXBsZXM7CQkvKiB0dXBsZXMgbm90 IHBydW5lZCBieSB2YWN1dW0gZHVlIHRvIGZhaWx1cmUgdG8gZ2V0IGEgY2xlYW51cCBsb2Nr ICovCiAJCQlpbnQ2NAkJbWlzc2VkX2RlYWRfcGFnZXM7CQkvKiBwYWdlcyB3aXRoIG1pc3Nl ZCBkZWFkIHR1cGxlcyAqLwogCQkJaW50NjQJCWluZGV4X3ZhY3V1bV9jb3VudDsJLyogbnVt YmVyIG9mIGluZGV4IHZhY3V1bWluZ3MgKi8KLQkJCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50OwkvKiBudW1iZXIgb2YgZW1lcmdlbmN5IHZhY3V1bXMgdG8gcHJldmVudCBh bnRpLXdyYXBhcm91bmQgc2h1dGRvd24gKi8KIAkJfQkJCXRhYmxlOwogCQlzdHJ1Y3QKIAkJ ewpAQCAtNzU2LDYgKzc1OCw3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVt KE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0 X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQkJCQkJCQkgIFBnU3RhdF9Db3VudGVyIGxpdmV0 dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJCQkJCSAgYm9vbCByZXNl dGNvdW50ZXIsIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSk7CitleHRlcm4gdm9pZCBwZ3N0YXRf cmVwb3J0X3ZhY3V1bV9lcnJvcihPaWQgdGFibGVvaWQsIEV4dFZhY1JlcG9ydFR5cGUgbV90 eXBlKTsKIAogLyoKICAqIElmIHN0YXRzIGFyZSBlbmFibGVkLCBidXQgcGVuZGluZyBkYXRh IGhhc24ndCBiZWVuIHByZXBhcmVkIHlldCwgY2FsbApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv aXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3Bl YyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0 YWJsZS1yZWFkLnNwZWMKaW5kZXggNTg5M2Q4OTU3M2QuLmNmZWMzMTU5NTgwIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBl dGFibGUtcmVhZC5zcGVjCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0t ZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKQEAgLTE4LDYgKzE4LDkgQEAgdGVh cmRvd24KIH0KIAogc2Vzc2lvbiBzMQorc2V0dXAJCXsKKyAgICBTRVQgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MgVE8gJ29uJzsKKyAgICB9CiBzdGVwIHMxX2JlZ2luX3JlcGVhdGFibGVf cmVhZCAgIHsKICAgQkVHSU4gdHJhbnNhY3Rpb24gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFC TEUgUkVBRDsKICAgc2VsZWN0IGNvdW50KGl2YWwpIGZyb20gdGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb24gd2hlcmUgaWQ+OTAwOwpAQCAtMjUsNiArMjgsOSBAQCBzdGVwIHMxX2JlZ2lu X3JlcGVhdGFibGVfcmVhZCAgIHsKIHN0ZXAgczFfY29tbWl0ICAgICAgICAgICAgICAgICAg eyBDT01NSVQ7IH0KIAogc2Vzc2lvbiBzMgorc2V0dXAJCXsKKyAgICBTRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3MgVE8gJ29uJzsKKyAgICB9CiBzdGVwIHMyX2luc2VydCAgICAgICAg ICAgICAgICAgIHsgSU5TRVJUIElOVE8gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24oaWQs IGl2YWwpIFNFTEVDVCBpdmFsLCBpdmFsJTEwIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsMTAw MCkgQXMgaXZhbDsgfQogc3RlcCBzMl91cGRhdGUgICAgICAgICAgICAgICAgICB7IFVQREFU RSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiBTRVQgaXZhbCA9IGl2YWwgKyAyIHdoZXJl IGlkID4gOTAwOyB9CiBzdGVwIHMyX2RlbGV0ZSAgICAgICAgICAgICAgICAgIHsgREVMRVRF IEZST00gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gd2hlcmUgaWQgPiA5MDA7IH0KZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggYjdlMzUxNjE2YTUuLjk1NmRi ODQ3MWViIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMjI2MSw2 ICsyMjYxLDIzIEBAIHBnX3N0YXRfdXNlcl90YWJsZXN8IFNFTEVDVCByZWxpZCwKICAgICBy ZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgIEZST00gcGdfc3RhdF9hbGxfdGFibGVzCiAgIFdI RVJFICgoc2NoZW1hbmFtZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFtZSwgJ2lu Zm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgQU5EIChzY2hlbWFuYW1lICF+ICdecGdfdG9h c3QnOjp0ZXh0KSk7CitwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZXwgU0VMRUNUIGRiLm9pZCBB UyBkYm9pZCwKKyAgICBkYi5kYXRuYW1lIEFTIGRibmFtZSwKKyAgICBzdGF0cy5kYl9ibGtz X3JlYWQsCisgICAgc3RhdHMuZGJfYmxrc19oaXQsCisgICAgc3RhdHMudG90YWxfYmxrc19k aXJ0aWVkLAorICAgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICBzdGF0cy53YWxf cmVjb3JkcywKKyAgICBzdGF0cy53YWxfZnBpLAorICAgIHN0YXRzLndhbF9ieXRlcywKKyAg ICBzdGF0cy5ibGtfcmVhZF90aW1lLAorICAgIHN0YXRzLmJsa193cml0ZV90aW1lLAorICAg IHN0YXRzLmRlbGF5X3RpbWUsCisgICAgc3RhdHMudG90YWxfdGltZSwKKyAgICBzdGF0cy53 cmFwYXJvdW5kX2ZhaWxzYWZlLAorICAgIHN0YXRzLmVycm9ycworICAgRlJPTSBwZ19kYXRh YmFzZSBkYiwKKyAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShkYi5v aWQpIHN0YXRzKGRib2lkLCBkYl9ibGtzX3JlYWQsIGRiX2Jsa3NfaGl0LCB0b3RhbF9ibGtz X2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdh bF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHRv dGFsX3RpbWUsIHdyYXBhcm91bmRfZmFpbHNhZmUsIGVycm9ycyk7CiBwZ19zdGF0X3ZhY3V1 bV9pbmRleGVzfCBTRUxFQ1QgcmVsLm9pZCBBUyByZWxpZCwKICAgICBucy5uc3BuYW1lIEFT IHNjaGVtYW5hbWUsCiAgICAgcmVsLnJlbG5hbWUsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CmluZGV4IGUw MGEwZmM2ODNjLi45ZTVkMzMzNDJjOSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKQEAgLTE2LDggKzE2 LDEyIEBAIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgogXHNldCBzYW1wbGVf c2l6ZSAxMDAwMAogLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8g dGVzdCBpdC4uLgogU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKLS0tIFRlc3QgdGhh dCB2YWN1dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9m Zi4KLVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKK1NIT1cgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9mZgorIHRyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG9mZgorKDEgcm93KQorCiBD UkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0g b2ZmLCBmaWxsZmFjdG9yID0gMTApOwogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZS T00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwogQU5BTFlaRSB2ZXN0 YXQ7CkBAIC0zMywxMiArMzcsNyBAQCBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CiAK IFJFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwogRFJPUCBUQUJMRSB2ZXN0YXQgQ0FT Q0FERTsKLVNIT1cgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCi0g dHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0g b24KLSgxIHJvdykKLQorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvbic7CiAt LSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAogU0VMRUNUIHBnX3N0YXRfZm9y Y2VfbmV4dF9mbHVzaCgpOwogIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKQEAgLTE4MSwz ICsxODAsNCBAQCBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVs aWQgPSBjLm9pZDsKICgxIHJvdykKIAogRFJPUCBUQUJMRSB2ZXN0YXQ7CitSRVNFVCB0cmFj a192YWN1dW1fc3RhdGlzdGljczsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXQKc2ltaWxhcml0 eSBpbmRleCA4MiUKcmVuYW1lIGZyb20gc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1 dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CnJlbmFtZSB0byBzcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CmluZGV4IGI1ZWE5 YzlhYjFlLi4wMzAwZTdiNjI3NiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXQKQEAgLTYs NyArNiw2IEBACiAtLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92 ZWQgYnkgYmFja2VuZC4KIC0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQg aW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgogLS0KLS0t IGNvbmRpdGlvIHNpbmUgcXVhIG5vbgogU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJl IG9uCiAgdHJhY2tfY291bnRzIAogLS0tLS0tLS0tLS0tLS0KQEAgLTE2LDggKzE1LDEyIEBA IFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgogXHNldCBzYW1wbGVfc2l6ZSAx MDAwMAogLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBp dC4uLgogU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKLS0tIFRlc3QgdGhhdCB2YWN1 dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9mZi4KLVNF VCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKK1NIT1cgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9mZgorIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG9mZgorKDEgcm93KQorCiBDUkVBVEUg VEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBm aWxsZmFjdG9yID0gMTApOwogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2Vu ZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwogQU5BTFlaRSB2ZXN0YXQ7CkBA IC0zNywxMiArNDAsMTIgQEAgV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOwogCiBSRVNF VCB0cmFja192YWN1dW1fc3RhdGlzdGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7 Ci1TSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgotIHRyYWNr X3ZhY3V1bV9zdGF0aXN0aWNzIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIG9uCi0o MSByb3cpCi0KK0NSRUFURSBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1f ZGI7CitDUkVBVEUgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsK K1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKK1NFVCB0cmFja192YWN1dW1f c3RhdGlzdGljcyBUTyBvbjsKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3 YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CiAtLSBl bnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAogU0VMRUNUIHBnX3N0YXRfZm9yY2Vf bmV4dF9mbHVzaCgpOwogIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKQEAgLTIyNSwzICsy MjgsNjkgQEAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxl cyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmEKICgxIHJvdykKIAogRFJPUCBU QUJMRSB2ZXN0YXQgQ0FTQ0FERTsKKy0tIE5vdyBjaGVjayB2YWN1dW0gc3RhdGlzdGljcyBm b3IgY3VycmVudCBkYXRhYmFzZQorU0VMRUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hp dCA+IDAgQVMgZGJfYmxrc19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBB UyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBB UyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9y ZWNvcmRzLAorICAgICAgIHdhbF9mcGkgPiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5 dGVzID4gMCBBUyB3YWxfYnl0ZXMsCisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxf dGltZQorRlJPTQorcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9IGN1 cnJlbnRfZGF0YWJhc2UoKTsKKyAgICAgICAgICAgICBkYm5hbWUgICAgICAgICAgICAgfCBk Yl9ibGtzX2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8 IHdhbF9yZWNvcmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyB8IHRvdGFsX3RpbWUgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1 bV9kYiB8IHQgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAg ICAgICAgIHwgdCAgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgdAorKDEgcm93 KQorCistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0 YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK0NSRUFURSBUQUJMRSB2 ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0 b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9z ZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1VQREFURSB2 ZXN0YXQgU0VUIHggPSAxMDAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdF X0xJTUlUIDEyOCkgdmVzdGF0OworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2Ri MTsKK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyBvbjsKKy0tIE5vdyBjaGVjayB2 YWN1dW0gc3RhdGlzdGljcyBmb3IgcG9zdGdyZXMgZGF0YWJhc2UgZnJvbSBhbm90aGVyIGRh dGFiYXNlCitTRUxFQ1QgZGJuYW1lLAorICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBBUyBkYl9i bGtzX2hpdCwKKyAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQgPiAwIEFTIHRvdGFsX2Jsa3Nf ZGlydGllZCwKKyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPiAwIEFTIHRvdGFsX2Jsa3Nf d3JpdHRlbiwKKyAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29yZHMsCisgICAg ICAgd2FsX2ZwaSA+IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdh bF9ieXRlcywKKyAgICAgICB0b3RhbF90aW1lID4gMCBBUyB0b3RhbF90aW1lCitGUk9NCitw Z19zdGF0X3ZhY3V1bV9kYXRhYmFzZQorV0hFUkUgZGJuYW1lID0gJ3JlZ3Jlc3Npb25fc3Rh dGlzdGljX3ZhY3V1bV9kYic7CisgICAgICAgICAgICAgZGJuYW1lICAgICAgICAgICAgIHwg ZGJfYmxrc19oaXQgfCB0b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4g fCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCB0b3RhbF90aW1lIAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1 dW1fZGIgfCB0ICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAg ICAgICAgICB8IHQgICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IHQKKygxIHJv dykKKworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiCitTRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3MgVE8gb247CitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworXGMg cmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NFVCB0cmFja192YWN1dW1fc3Rh dGlzdGljcyBUTyBvbjsKK1NFTEVDVCBjb3VudCgqKQorRlJPTSBwZ19kYXRhYmFzZSBkCitD Uk9TUyBKT0lOIHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoMCkKK1dIRVJFIG9pZCA9IDA7 IC0tIG11c3QgYmUgMAorIGNvdW50IAorLS0tLS0tLQorICAgICAwCisoMSByb3cpCisKK1xj IHBvc3RncmVzCitEUk9QIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9k YjE7CitEUk9QIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKK1JF U0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9wYXJhbGxlbF9zY2hlZHVsZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2No ZWR1bGUKaW5kZXggNTYzMzFhYTgzN2UuLmQyMjhiMGM1MzE1IDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv cGFyYWxsZWxfc2NoZWR1bGUKQEAgLTE0MSw0ICsxNDEsNCBAQCB0ZXN0OiB0YWJsZXNwYWNl CiAjIENoZWNrIHZhY3V1bSBzdGF0aXN0aWNzCiAjIC0tLS0tLS0tLS0KIHRlc3Q6IHZhY3V1 bV9pbmRleF9zdGF0aXN0aWNzCi10ZXN0OiB2YWN1dW1fdGFibGVzX3N0YXRpc3RpY3MKXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit0ZXN0OiB2YWN1dW1fdGFibGVzX2FuZF9kYl9z dGF0aXN0aWNzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rl c3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCmluZGV4IGFlMTQ2 ZTFkMjNmLi45YjdlNjQ1MTg3ZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv dmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbApAQCAtMTQsOCArMTQsNyBAQCBTSE9XIHRy YWNrX2NvdW50czsgIC0tIG11c3QgYmUgb24KIC0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQs IGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KIFNFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2Fs bCc7CiAKLS0tIFRlc3QgdGhhdCB2YWN1dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdo ZW4gcGFyYW1ldGVyIGlzIG9mZi4KLVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAn b2ZmJzsKK1NIT1cgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9mZgog CiBDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVk ID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOwogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4 IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwpAQCAtMzMsNyAr MzIsNyBAQCBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CiBSRVNFVCB0cmFja192YWN1 dW1fc3RhdGlzdGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CiAKLVNIT1cgdHJh Y2tfdmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCitTRVQgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MgVE8gJ29uJzsKIAogLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZs dXNoZWQKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKQEAgLTE0OSwzICsx NDgsNCBAQCBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKIFdI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwog CiBEUk9QIFRBQkxFIHZlc3RhdDsKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0 aWNzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0 YXRpc3RpY3Muc3FsCnNpbWlsYXJpdHkgaW5kZXggODElCnJlbmFtZSBmcm9tIHNyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKcmVuYW1lIHRvIHNy Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3Fs CmluZGV4IDViYzM0YmVjNjRiLi5jYTdkYmRlOTM4NyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbApAQCAt NywxNSArNywxMyBAQAogLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBp biB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCiAtLQogCi0t LSBjb25kaXRpbyBzaW5lIHF1YSBub24KIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBi ZSBvbgogXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAogCiAtLSBub3QgZW5hYmxlZCBieSBkZWZh dWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCiBTRVQgdHJhY2tfZnVuY3Rpb25zIFRP ICdhbGwnOwogCi0tLSBUZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mgd2lsbCBiZSBlbXB0 eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCi1TRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3Mg VE8gJ29mZic7CitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBv ZmYKIAogQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5h YmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxF Q1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKQEAgLTM2 LDcgKzM0LDEzIEBAIFdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKIFJFU0VUIHRyYWNr X3ZhY3V1bV9zdGF0aXN0aWNzOwogRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKIAotU0hP VyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KK0NSRUFURSBEQVRB QkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitDUkVBVEUgREFUQUJBU0Ug cmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1xjIHJlZ3Jlc3Npb25fc3RhdGlz dGljX3ZhY3V1bV9kYjsKK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyBvbjsKKwor LS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4uLgor U0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKIAogLS0gZW5zdXJlIHBlbmRpbmcgc3Rh dHMgYXJlIGZsdXNoZWQKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKQEAg LTE4MCw0ICsxODQsNTkgQEAgVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElN SVQgMTI4KSB2ZXN0YXQ7CiBTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyA9IDpwZiBBUyB2 bV9uZXdfZnJvemVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID0gOnB2IEFTIHZtX25l d192aXNpYmxlX3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA9IDpwdmYgQVMg dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLCByZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDpo YWZwIEFTIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA9IDpo YXZwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcwogRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVs bmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19z dGF0X2FsbF90YWJsZXMucmVsaWQ7CiAKLURST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7Clwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsK KworLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0aWNzIGZvciBjdXJyZW50IGRhdGFiYXNl CitTRUxFQ1QgZGJuYW1lLAorICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBBUyBkYl9ibGtzX2hp dCwKKyAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQgPiAwIEFTIHRvdGFsX2Jsa3NfZGlydGll ZCwKKyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPiAwIEFTIHRvdGFsX2Jsa3Nfd3JpdHRl biwKKyAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29yZHMsCisgICAgICAgd2Fs X2ZwaSA+IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdhbF9ieXRl cywKKyAgICAgICB0b3RhbF90aW1lID4gMCBBUyB0b3RhbF90aW1lCitGUk9NCitwZ19zdGF0 X3ZhY3V1bV9kYXRhYmFzZQorV0hFUkUgZGJuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpOwor CistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRf Zm9yY2VfbmV4dF9mbHVzaCgpOworCitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lU SCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJU IElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9z aXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitVUERBVEUgdmVzdGF0IFNFVCB4ID0gMTAw MDE7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3Rh dDsKKworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NFVCB0cmFja192 YWN1dW1fc3RhdGlzdGljcyBUTyBvbjsKKworLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0 aWNzIGZvciBwb3N0Z3JlcyBkYXRhYmFzZSBmcm9tIGFub3RoZXIgZGF0YWJhc2UKK1NFTEVD VCBkYm5hbWUsCisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Jsa3NfaGl0LAorICAg ICAgIHRvdGFsX2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICAg ICAgIHRvdGFsX2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193cml0dGVuLAorICAg ICAgIHdhbF9yZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAgICB3YWxfZnBpID4g MCBBUyB3YWxfZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2FsX2J5dGVzLAorICAg ICAgIHRvdGFsX3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3BnX3N0YXRfdmFjdXVt X2RhdGFiYXNlCitXSEVSRSBkYm5hbWUgPSAncmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVt X2RiJzsKKworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiCitTRVQgdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MgVE8gb247CisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7 CisKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitTRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3MgVE8gb247CitTRUxFQ1QgY291bnQoKikKK0ZST00gcGdfZGF0YWJh c2UgZAorQ1JPU1MgSk9JTiBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKDApCitXSEVSRSBv aWQgPSAwOyAtLSBtdXN0IGJlIDAKKworXGMgcG9zdGdyZXMKK0RST1AgREFUQUJBU0UgcmVn cmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK0RST1AgREFUQUJBU0UgcmVncmVzc2lv bl9zdGF0aXN0aWNfdmFjdXVtX2RiOworUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7 ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQotLSAKMi4zNC4xCgo= --------------o2d5R9Kv8VVcO99oQFm6lvfh Content-Type: text/x-patch; charset=UTF-8; name="v20-0004-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v20-0004-Add-documentation-about-the-system-views-that-are-u"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSBmOGU0YTA4ODU0OTFkNmY4ZWRkZjk0YTg5MGZlMjE3ODRhOGU4ZDM0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAxOSBEZWMgMjAyNCAxMjo1Nzo0OSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNC80XSBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgc3lzdGVtIHZp ZXdzIHRoYXQgYXJlIHVzZWQgaW4KIHRoZSBtYWNoaW5lcnkgb2YgdmFjdXVtIHN0YXRpc3Rp Y3MuCgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCB8IDc1NSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3NTUgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBi L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCAzZjVhMzA2MjQ3ZS4uNGFk MTMwYzZmMzQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTUwNzQsNCArNTA3NCw3 NTkgQEAgU0VMRUNUICogRlJPTSBwZ19sb2NrcyBwbCBMRUZUIEpPSU4gcGdfcHJlcGFyZWRf eGFjdHMgcHB4CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorPHNlY3QxIGlkPSJ2aWV3LXBn LXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgPHRpdGxlPjxzdHJ1Y3RuYW1lPnBnX3N0YXRf dmFjdXVtX2RhdGFiYXNlPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6 b25lPSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWRhdGFiYXNlIj4KKyAgIDxwcmltYXJ5PnBnX3N0 YXRfdmFjdXVtX2RhdGFiYXNlPC9wcmltYXJ5PgorICA8L2luZGV4dGVybT4KKworICA8cGFy YT4KKyAgIFRoZSB2aWV3IDxzdHJ1Y3RuYW1lPnBnX3N0YXRfdmFjdXVtX2RhdGFiYXNlPC9z dHJ1Y3RuYW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggZGF0YWJhc2Ug aW4gdGhlIGN1cnJlbnQgY2x1c3Rlciwgc2hvd2luZyBzdGF0aXN0aWNzIGFib3V0CisgICB2 YWN1dW1pbmcgdGhhdCBkYXRhYmFzZS4KKyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0 aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZTwvc3RydWN0bmFtZT4g Q29sdW1uczwvdGl0bGU+CisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0aGVhZD4KKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5cGUKKyAgICAg IDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIERlc2NyaXB0aW9uCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4K KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRi aWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYSBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5p bnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJl ciBvZiBkYXRhYmFzZSBibG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAg ICBwZXJmb3JtZWQgb24gdGhpcyBkYXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD50b3RhbF9ibGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRp bWVzIGRhdGFiYXNlIGJsb2NrcyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIg Y2FjaGUgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c19kaXJ0aWVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRp cnRpZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxr c193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdy aXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMg ZGF0YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29y ZHM8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgZGF0 YWJhc2UKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVy YXRlZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBk YXRhYmFzZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVk IGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGRhdGFi YXNlCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8 L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCByZWFkaW5nIGRhdGFiYXNlIGJsb2NrcyBi eSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBkYXRhYmFz ZSwgaW4gbWlsbGlzZWNvbmRzIChpZiA8eHJlZiBsaW5rZW5kPSJndWMtdHJhY2staW8tdGlt aW5nIi8+IGlzIGVuYWJsZWQsCisgICAgICAgIG90aGVyd2lzZSB6ZXJvKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfd3JpdGVfdGltZTwvc3RydWN0ZmllbGQ+ IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBUaW1lIHNwZW50IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVy YXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmRlbGF5X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBz bGVlcGluZyBpbiBhIHZhY3V1bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBw ZXJmb3JtZWQgb24KKyAgICAgICAgdGhpcyBkYXRhYmFzZSwgaW4gbWlsbGlzZWNvbmRzIChz ZWUgPHhyZWYgbGlua2VuZD0icnVudGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3Qi Lz4KKyAgICAgICAgZm9yIGRldGFpbHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnN5c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBv ZiB2YWN1dW1pbmcgdGhpcyBkYXRhYmFzZSwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBl PmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBV c2VyIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBpbiBtaWxsaXNlY29u ZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIGRhdGFiYXNlLCBp biBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d3Jh cGFyb3VuZF9mYWlsc2FmZV9jb3VudDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDQ8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVz IHRoZSB2YWN1dW0gd2FzIHJ1biB0byBwcmV2ZW50IGEgd3JhcGFyb3VuZCBwcm9ibGVtLgor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5lcnJvcnM8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ0PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiB0aW1lcyB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gdGhp cyBkYXRhYmFzZQorICAgICAgICB3ZXJlIGludGVycnVwdGVkIG9uIGFueSBlcnJvcnMKKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5PgorICAgPC90 Z3JvdXA+CisgIDwvdGFibGU+CisgPC9zZWN0MT4KKworICA8c2VjdDEgaWQ9InZpZXctcGct c3RhdC12YWN1dW0taW5kZXhlcyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3Zh Y3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybSB6b25l PSJ2aWV3LXBnLXN0YXQtdmFjdXVtLWluZGV4ZXMiPgorICAgPHByaW1hcnk+cGdfc3RhdF92 YWN1dW1faW5kZXhlczwvcHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+Cisg ICBUaGUgdmlldyA8c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3Ru YW1lPiB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggaW5kZXggaW4gdGhlIGN1 cnJlbnQgZGF0YWJhc2UgKGluY2x1ZGluZyBUT0FTVAorICAgdGFibGUgaW5kZXhlcyksIHNo b3dpbmcgc3RhdGlzdGljcyBhYm91dCB2YWN1dW1pbmcgdGhhdCBzcGVjaWZpYyBpbmRleC4K KyAgPC9wYXJhPgorCisgIDx0YWJsZT4KKyAgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0 X3ZhY3V1bV9pbmRleGVzPC9zdHJ1Y3RuYW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3Jv dXAgY29scz0iMSI+CisgICAgPHRoZWFkPgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICBDb2x1bW4gVHlwZQorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgRGVzY3JpcHRpb24KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4K KyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5 IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5v aWQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBPSUQgb2Yg YW4gaW5kZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c2NoZW1hPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBOYW1lIG9mIHRoZSBzY2hlbWEgdGhpcyBpbmRleCBpcyBpbgorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxuYW1lPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+bmFtZTwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg IE5hbWUgb2YgdGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93 PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD50b3RhbF9ibGtzX3JlYWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBkYXRhYmFzZSBi bG9ja3MgcmVhZCBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24g dGhpcyBpbmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEg cm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50b3RhbF9i bGtzX2hpdDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRpbWVzIGRhdGFiYXNlIGJsb2Nr cyB3ZXJlIGZvdW5kIGluIHRoZQorICAgICAgICBidWZmZXIgY2FjaGUgYnkgdmFjdXVtIG9w ZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJv bGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9u Ij4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc19kaXJ0aWVkPC9zdHJ1Y3RmaWVs ZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIGRpcnRpZWQgYnkgdmFjdXVtIG9wZXJh dGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgZGF0YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlv bnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5kZXgKKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNh dGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmlu dDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVy IG9mIGJsb2NrcyB2YWN1dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICBp bmRleAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyBpbmRleCB3 ZXJlIGFscmVhZHkgZm91bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1 dW0gb3BlcmF0aW9ucywgc28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAg ICAgKHRoaXMgb25seSBpbmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBi dWZmZXIgY2FjaGUsIG5vdCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNh Y2hlKQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19kZWxldGVk PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgcGFnZXMgZGVsZXRlZCBieSB2YWN1dW0gb3Bl cmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD50dXBsZXNfZGVsZXRlZDwvc3RydWN0ZmllbGQ+IDx0 eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAg TnVtYmVyIG9mIGRlYWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGRlbGV0ZWQgZnJvbSB0 aGlzIGluZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAg PHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9yZWNv cmRzPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUb3RhbCBudW1iZXIgb2YgV0FMIHJlY29yZHMgZ2VuZXJh dGVkIGJ5IHZhY3V1bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIGlu ZGV4CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPndhbF9mcGk8L3N0cnVj dGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgZnVsbCBwYWdlIGltYWdlcyBnZW5lcmF0 ZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgaW5k ZXgKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNv bHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2J5dGVzPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+bnVtZXJpYzwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgICBUb3RhbCBhbW91bnQgb2YgV0FMIGJ5dGVzIGdlbmVyYXRlZCBieSB2 YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyBpbmRleAorICAg ICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8 ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2Rl ZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5ibGtfcmVhZF90aW1lPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgICBUaW1lIHNwZW50IHJlYWRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBv cGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBtaWxsaXNl Y29uZHMgKGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5h YmxlZCwKKyAgICAgICAgb3RoZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4K KyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPmJsa193cml0ZV90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50 IHdyaXRpbmcgZGF0YWJhc2UgYmxvY2tzIGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1l ZCBvbgorICAgICAgICB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMgKGlmIDx4cmVmIGxp bmtlbmQ9Imd1Yy10cmFjay1pby10aW1pbmciLz4gaXMgZW5hYmxlZCwKKyAgICAgICAgb3Ro ZXJ3aXNlIHplcm8pCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFy YSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmRlbGF5 X3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICAgVGltZSBzcGVudCBzbGVlcGluZyBpbiBhIHZhY3V1 bSBkZWxheSBwb2ludCBieSB2YWN1dW0gb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24KKyAgICAg ICAgdGhpcyBpbmRleCwgaW4gbWlsbGlzZWNvbmRzIChzZWUgPHhyZWYgbGlua2VuZD0icnVu dGltZS1jb25maWctcmVzb3VyY2UtdmFjdXVtLWNvc3QiLz4KKyAgICAgICAgZm9yIGRldGFp bHMpCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJj b2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnN5c3RlbV90aW1lPC9z dHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFN5c3RlbSBDUFUgdGltZSBvZiB2YWN1dW1pbmcgdGhpcyBpbmRl eCwgaW4gbWlsbGlzZWNvbmRzCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxk PnVzZXJfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBVc2VyIENQVSB0aW1lIG9mIHZhY3V1bWlu ZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2df dGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8 c3RydWN0ZmllbGQ+dG90YWxfdGltZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUb3RhbCB0aW1lIG9m IHZhY3V1bWluZyB0aGlzIGluZGV4LCBpbiBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgIDwvdGJvZHk+CisgICA8L3Rncm91cD4KKyAg PC90YWJsZT4KKyA8L3NlY3QxPgorCisgPHNlY3QxIGlkPSJ2aWV3LXBnLXN0YXQtdmFjdXVt LXRhYmxlcyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8 L3N0cnVjdG5hbWU+PC90aXRsZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9InZpZXctcGctc3Rh dC12YWN1dW0tdGFibGVzIj4KKyAgIDxwcmltYXJ5PnBnX3N0YXRfdmFjdXVtX3RhYmxlczwv cHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+CisgICBUaGUgdmlldyA8c3Ry dWN0bmFtZT5wZ19zdGF0X3ZhY3V1bV90YWJsZXM8L3N0cnVjdG5hbWU+IHdpbGwgY29udGFp bgorICAgb25lIHJvdyBmb3IgZWFjaCB0YWJsZSBpbiB0aGUgY3VycmVudCBkYXRhYmFzZSAo aW5jbHVkaW5nIFRPQVNUCisgICB0YWJsZXMpLCBzaG93aW5nIHN0YXRpc3RpY3MgYWJvdXQg dmFjdXVtaW5nIHRoYXQgc3BlY2lmaWMgdGFibGUuCisgIDwvcGFyYT4KKworICA8dGFibGU+ CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfc3RhdF92YWN1dW1fdGFibGVzPC9zdHJ1Y3Ru YW1lPiBDb2x1bW5zPC90aXRsZT4KKyAgIDx0Z3JvdXAgY29scz0iMSI+CisgICAgPHRoZWFk PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICBDb2x1bW4gVHlwZQor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGVzY3JpcHRpb24KKyAgICAg IDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3RoZWFkPgorCisgICAgPHRi b2R5PgorICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsaWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICBPSUQgb2YgYSB0YWJsZQorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD5zY2hlbWE8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE5hbWUgb2YgdGhl IHNjaGVtYSB0aGlzIHRhYmxlIGlzIGluCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxl X2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVj dGZpZWxkPnJlbG5hbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTmFtZSBvZiB0aGlzIHRhYmxlCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfcmVhZDwvc3RydWN0 ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4K KyAgICAgICAgTnVtYmVyIG9mIGRhdGFiYXNlIGJsb2NrcyByZWFkIGJ5IHZhY3V1bSBvcGVy YXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPnRvdGFsX2Jsa3NfaGl0PC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBO dW1iZXIgb2YgdGltZXMgZGF0YWJhc2UgYmxvY2tzIHdlcmUgZm91bmQgaW4gdGhlCisgICAg ICAgIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3Jt ZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50 b3RhbF9ibGtzX2RpcnRpZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIE51bWJlciBvZiBibG9ja3Mgd3Jp dHRlbiBkaXJlY3RseSBieSB2YWN1dW0gb3IgYXV0byB2YWN1dW0uCisgICAgICAgIEJsb2Nr cyB0aGF0IGFyZSBkaXJ0aWVkIGJ5IGEgdmFjdXVtIHByb2Nlc3MgY2FuIGJlIHdyaXR0ZW4g b3V0IGJ5IGFub3RoZXIgcHJvY2Vzcy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8 L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVf ZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0 ZmllbGQ+dG90YWxfYmxrc193cml0dGVuPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlw ZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGF0 YWJhc2UgYmxvY2tzIHdyaXR0ZW4gYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVy Zm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0Zmll bGQ+cmVsX2Jsa3NfcmVhZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGJsb2NrcyB2YWN1 dW0gb3BlcmF0aW9ucyByZWFkIGZyb20gdGhpcworICAgICAgICB0YWJsZQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5yZWxfYmxrc19oaXQ8L3N0cnVjdGZpZWxkPiA8 dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAg IE51bWJlciBvZiB0aW1lcyBibG9ja3Mgb2YgdGhpcyB0YWJsZSB3ZXJlIGFscmVhZHkgZm91 bmQKKyAgICAgICAgaW4gdGhlIGJ1ZmZlciBjYWNoZSBieSB2YWN1dW0gb3BlcmF0aW9ucywg c28gdGhhdCBhIHJlYWQgd2FzIG5vdCBuZWNlc3NhcnkKKyAgICAgICAgKHRoaXMgb25seSBp bmNsdWRlcyBoaXRzIGluIHRoZQorICAgICAgICBwcm9qZWN0OyBidWZmZXIgY2FjaGUsIG5v dCB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIGZpbGUgc3lzdGVtIGNhY2hlKQorICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkg cm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRp b24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYWdlc19zY2FubmVkPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgcGFnZXMgZXhhbWluZWQgYnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAg ICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+cGFnZXNfcmVtb3ZlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHBhZ2Vz IHJlbW92ZWQgZnJvbSB0aGUgcGh5c2ljYWwgc3RvcmFnZSBieSB2YWN1dW0gb3BlcmF0aW9u cworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0 YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD52bV9uZXdfZnJvemVuX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4gPHR5 cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBO dW1iZXIgb2YgdGhlIG51bWJlciBvZiBwYWdlcyBuZXdseSBzZXQgYWxsLWZyb3plbiBieSB2 YWN1dW0KKyAgICAgICAgaW4gdGhlIHZpc2liaWxpdHkgbWFwLgorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD52bV9uZXdfdmlzaWJsZV9wYWdlczwvc3RydWN0ZmllbGQ+ IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAg ICAgTnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgcGFnZXMgbmV3bHkgc2V0IGFsbC12aXNpYmxl IGJ5IHZhY3V1bQorICAgICAgICBpbiB0aGUgdmlzaWJpbGl0eSBtYXAuCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczwv c3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8 cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIHRoZSBudW1iZXIgb2YgcGFnZXMgbmV3bHkgc2V0 IGFsbC12aXNpYmxlIGFuZCBhbGwtZnJvemVuCisgICAgICAgIGJ5IHZhY3V1bSBpbiB0aGUg dmlzaWJpbGl0eSBtYXAuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnR1 cGxlc19kZWxldGVkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwv cGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgZGVhZCB0dXBsZXMgdmFj dXVtIG9wZXJhdGlvbnMgZGVsZXRlZCBmcm9tIHRoaXMgdGFibGUKKyAgICAgIDwvcGFyYT48 L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4K KyAgICAgICA8c3RydWN0ZmllbGQ+dHVwbGVzX2Zyb3plbjwvc3RydWN0ZmllbGQ+IDx0eXBl PmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVt YmVyIG9mIHR1cGxlcyBvZiB0aGlzIHRhYmxlIHRoYXQgdmFjdXVtIG9wZXJhdGlvbnMgbWFy a2VkIGFzCisgICAgICAgIGZyb3plbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD5yZWNlbnRseV9kZWFkX3R1cGxlczwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5 cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgTnVtYmVyIG9mIGRl YWQgdHVwbGVzIHZhY3V1bSBvcGVyYXRpb25zIGxlZnQgaW4gdGhpcyB0YWJsZSBkdWUKKyAg ICAgICAgdG8gdGhlaXIgdmlzaWJpbGl0eSBpbiB0cmFuc2FjdGlvbnMKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5taXNzZWRfZGVhZF90dXBsZXM8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiBmdWxseSBERUFEIChub3QganVzdCBSRUNFTlRMWV9ERUFEKSB0dXBs ZXMgIHRoYXQgY291bGQgbm90IGJlCisgICAgICAgIHBydW5lZCBkdWUgdG8gZmFpbHVyZSB0 byBhY3F1aXJlIGEgY2xlYW51cCBsb2NrIG9uIGEgaGVhcCBwYWdlLgorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24i PgorICAgICAgIDxzdHJ1Y3RmaWVsZD5pbmRleF92YWN1dW1fY291bnQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIE51bWJlciBvZiB0aW1lcyBpbmRleGVzIG9uIHRoaXMgdGFibGUgd2VyZSB2YWN1dW1l ZAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53cmFwYXJvdW5kX2ZhaWxz YWZlX2NvdW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50NDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOdW1iZXIgb2YgdGltZXMgdGhlIHZhY3V1bSB3 YXMgcnVuIHRvIHByZXZlbnQgYSB3cmFwYXJvdW5kIHByb2JsZW0uCisgICAgICA8L3BhcmE+ PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPm1pc3NlZF9kZWFkX3BhZ2VzPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAg ICBOdW1iZXIgb2YgcGFnZXMgdGhhdCBoYWQgYXQgbGVhc3Qgb25lIG1pc3NlZF9kZWFkX3R1 cGxlcy4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93 PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX3JlY29yZHM8 L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAg PHBhcmE+CisgICAgICAgIFRvdGFsIG51bWJlciBvZiBXQUwgcmVjb3JkcyBnZW5lcmF0ZWQg YnkgdmFjdXVtIG9wZXJhdGlvbnMKKyAgICAgICAgcGVyZm9ybWVkIG9uIHRoaXMgdGFibGUK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+d2FsX2ZwaTwvc3RydWN0Zmll bGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICAgVG90YWwgbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIGdlbmVyYXRlZCBi eSB2YWN1dW0gb3BlcmF0aW9ucworICAgICAgICBwZXJmb3JtZWQgb24gdGhpcyB0YWJsZQor ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD53YWxfYnl0ZXM8L3N0cnVjdGZp ZWxkPiA8dHlwZT5udW1lcmljPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgIFRvdGFsIGFtb3VudCBvZiBXQUwgYnl0ZXMgZ2VuZXJhdGVkIGJ5IHZhY3V1 bSBvcGVyYXRpb25zCisgICAgICAgIHBlcmZvcm1lZCBvbiB0aGlzIHRhYmxlCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmJsa19yZWFkX3RpbWU8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgIFRpbWUgc3BlbnQgcmVhZGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJh dGlvbnMgcGVyZm9ybWVkIG9uCisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25k cyAoaWYgPHhyZWYgbGlua2VuZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVk LAorICAgICAgICBvdGhlcndpc2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+YmxrX3dyaXRlX3RpbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBl PgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRpbWUgc3BlbnQgd3Jp dGluZyBkYXRhYmFzZSBibG9ja3MgYnkgdmFjdXVtIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9u CisgICAgICAgIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcyAoaWYgPHhyZWYgbGlua2Vu ZD0iZ3VjLXRyYWNrLWlvLXRpbWluZyIvPiBpcyBlbmFibGVkLAorICAgICAgICBvdGhlcndp c2UgemVybykKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGVsYXlfdGlt ZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmZsb2F0ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgICBUaW1lIHNwZW50IHNsZWVwaW5nIGluIGEgdmFjdXVtIGRl bGF5IHBvaW50IGJ5IHZhY3V1bSBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbgorICAgICAgICB0 aGlzIHRhYmxlLCBpbiBtaWxsaXNlY29uZHMgKHNlZSA8eHJlZiBsaW5rZW5kPSJydW50aW1l LWNvbmZpZy1yZXNvdXJjZS12YWN1dW0tY29zdCIvPgorICAgICAgICBmb3IgZGV0YWlscykK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAg ICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c3lzdGVtX3RpbWU8L3N0cnVj dGZpZWxkPiA8dHlwZT5mbG9hdDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICAgU3lzdGVtIENQVSB0aW1lIG9mIHZhY3V1bWluZyB0aGlzIHRhYmxlLCBp biBtaWxsaXNlY29uZHMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dXNl cl90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgIFVzZXIgQ1BVIHRpbWUgb2YgdmFjdXVtaW5nIHRo aXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAg IDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJs ZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1 Y3RmaWVsZD50b3RhbF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZmxvYXQ4PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvdGFsIHRpbWUgb2YgdmFj dXVtaW5nIHRoaXMgdGFibGUsIGluIG1pbGxpc2Vjb25kcworICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3Rh YmxlPgorICA8cGFyYT5Db2x1bW5zIDxzdHJ1Y3RmaWVsZD50b3RhbF8qPC9zdHJ1Y3RmaWVs ZD4sIDxzdHJ1Y3RmaWVsZD53YWxfKjwvc3RydWN0ZmllbGQ+CisgICAgYW5kIDxzdHJ1Y3Rm aWVsZD5ibGtfKjwvc3RydWN0ZmllbGQ+IGluY2x1ZGUgZGF0YSBvbiB2YWN1dW1pbmcgaW5k ZXhlcyBvbiB0aGlzIHRhYmxlLCB3aGlsZSBjb2x1bW5zCisgICAgPHN0cnVjdGZpZWxkPnN5 c3RlbV90aW1lPC9zdHJ1Y3RmaWVsZD4gYW5kIDxzdHJ1Y3RmaWVsZD51c2VyX3RpbWU8L3N0 cnVjdGZpZWxkPiBvbmx5IGluY2x1ZGUgZGF0YQorICAgIG9uIHZhY3V1bWluZyB0aGUgaGVh cC48L3BhcmE+CisgPC9zZWN0MT4KIDwvY2hhcHRlcj4KLS0gCjIuMzQuMQoK --------------o2d5R9Kv8VVcO99oQFm6lvfh--