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 1v1mPe-00CadT-Vw for pgsql-hackers@arkaria.postgresql.org; Thu, 25 Sep 2025 13:53:35 +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 1v1mPd-002wDp-Ct for pgsql-hackers@arkaria.postgresql.org; Thu, 25 Sep 2025 13:53:33 +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 1v1mPc-002wDe-7w for pgsql-hackers@lists.postgresql.org; Thu, 25 Sep 2025 13:53:32 +0000 Received: from forward102d.mail.yandex.net ([178.154.239.213]) by makus.postgresql.org with smtp (Exim 4.96) (envelope-from ) id 1v1mPP-002NIC-1l for pgsql-hackers@postgresql.org; Thu, 25 Sep 2025 13:53:31 +0000 Received: from mail-nwsmtp-smtp-production-main-77.klg.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-77.klg.yp-c.yandex.net [IPv6:2a02:6b8:c42:3f23:0:640:f16a:0]) by forward102d.mail.yandex.net (Yandex) with ESMTPS id 42321C01BA; Thu, 25 Sep 2025 16:53:16 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-77.klg.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id ArZGdPXLwGk0-zet30lvo; Thu, 25 Sep 2025 16:53:15 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1758808395; bh=To52aFssx6sQrWxZWsJuhhkC/i4OIvCt/jyvqjDfE3U=; h=In-Reply-To:Cc:Date:References:To:Subject:Message-ID:From; b=G77fmVEK6GegA9uVJXl4c5rqnSuZt2kUc6Kp+7AQS4nfP5xg62hA83Ywre/5JySuR yqjPQ9F8Ync8m5v2XSXFjM2NdoQuuGraX3MaWkA3HjIHJA0Bt5ugB4YL7GrRqgMa4C +40sfLircbTBCNmou2byWTuSo22w5yVdrITBtDuQ= Authentication-Results: mail-nwsmtp-smtp-production-main-77.klg.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Content-Type: multipart/mixed; boundary="------------0PfjJh6R8CncLnHAydjM2Cj3" Message-ID: <612819ad-beca-41fb-bb7f-d5a7c11f0045@yandex.ru> Date: Thu, 25 Sep 2025 16:53:09 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics To: Ilia Evdokimov Cc: Alexander Korotkov , Amit Kapila , Jim Nasby , Bertrand Drouvot , Kirill Reshke , Andrei Zubkov , Masahiko Sawada , Melanie Plageman , jian he , a.lepikhov@postgrespro.ru, Sami Imseih , vignesh C , pgsql-hackers References: <86f76aa5-1ab5-4e2e-9b15-405051852a2a@postgrespro.ru> <333c2306-c401-4959-9f0c-a44c670a11a9@postgrespro.ru> <513f0188-b093-4cc8-98cf-4c324570d525@postgrespro.ru> <47a7b784-5218-43f2-96e3-65f9a729c5a5@tantorlabs.com> <5583261b-eede-4341-b3b1-91650fefc1cf@postgrespro.ru> <2a04ad18-5572-4633-848b-eb57209e7ac0@postgrespro.ru> <2f48399f-2959-4483-938f-64edb863ca76@postgrespro.ru> <18169b68-5b10-40fd-9657-be04f2bd0161@postgrespro.ru> Content-Language: en-US From: Alena Rybakina In-Reply-To: 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. --------------0PfjJh6R8CncLnHAydjM2Cj3 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Hi! Thank you for reviewing it. My email hasn=E2=80=99t been working properly recently, so I missed your = letter=20 =E2=80=94 sorry about that. Yes, I completely agree with your proposed fix and have included it in=20 the updated version of the patch. Just to remind you, this version stores vacuum statistics separately in=20 the cumulative system due to the issue with disabling the gathering of=20 vacuum statistics. The patch had some conflicts with the current master branch, but I=E2=80=99= ve=20 resolved them and now it applies cleanly without conflicts. On 15.09.2025 23:46, Ilia Evdokimov wrote: > > Right now there is a bug: when I run a simple > > SELECT * FROM pg_stat_vacuum_database; > > psql crashes. > > The root cause is an incorrect zeroing of a local variable: > PgStat_VacuumDBCounts allzero; > - memset(&allzero, 0, sizeof(PgStat_VacuumRelationCounts)); > + memset(&allzero, 0, sizeof(PgStat_VacuumDBCounts)); > > --=20 > Best regards, > Ilia Evdokimov, > Tantor Labs LLC, > https://tantorlabs.com > > > > > --------------0PfjJh6R8CncLnHAydjM2Cj3 Content-Type: text/x-patch; charset=UTF-8; name="v25-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v25-0001-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSBkNTE2NDNlZWJmNzNjZmZkNGNjZTgyYTA0YmY3ZGI2MmQ5MDA3YWZiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAyNSBTZXAgMjAyNSAxNjoyMDowOCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMS81XSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh 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 fCAgMTMgKwogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfcGFyYW1ldGVycy5kYXQgICAg IHwgICA4ICstCiBzcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1w bGUgfCAgIDEgKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAg ICAgIHwgIDE4ICsrCiBzcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCAgICAgICAgICAg ICAgICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDgwICsrKysrLQogc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oICAgICAgICAg ICAgICAgICAgICAgIHwgICAxICsKIC4uLi92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJs ZS1yZWFkLm91dCAgICB8ICA1MyArKysrCiBzcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9u X3NjaGVkdWxlICAgICAgICAgfCAgIDEgKwogLi4uL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVw ZXRhYmxlLXJlYWQuc3BlYyAgIHwgIDUzICsrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcnVsZXMub3V0ICAgICAgICAgICB8ICA0NCArKystCiAuLi4vZXhwZWN0ZWQvdmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLm91dCAgICAgfCAyMjcgKysrKysrKysrKysrKysrKysrCiBz cmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlICAgICAgICAgICAgfCAgIDUgKwog Li4uL3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgIHwgMTgzICsr KysrKysrKysrKysrCiAyMiBmaWxlcyBjaGFuZ2VkLCAxMDkzIGluc2VydGlvbnMoKyksIDE3 IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L2lzb2xhdGlvbi9l eHBlY3RlZC92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5n LWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5vdXQKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3Rp Y3Muc3FsCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6 eS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCmluZGV4IDk4MWQ5 MzgwYTkyLi40MzdlNWY1ODFhZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hl YXAvdmFjdXVtbGF6eS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxh enkuYwpAQCAtMjg5LDYgKzI4OSw3IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAkv KiBFcnJvciByZXBvcnRpbmcgc3RhdGUgKi8KIAljaGFyCSAgICpkYm5hbWU7CiAJY2hhcgkg ICAqcmVsbmFtZXNwYWNlOworCU9pZAkJCXJlbG9pZDsKIAljaGFyCSAgICpyZWxuYW1lOwog CWNoYXIJICAgKmluZG5hbWU7CQkvKiBDdXJyZW50IGluZGV4IG5hbWUgKi8KIAlCbG9ja051 bWJlciBibGtubzsJCQkvKiB1c2VkIG9ubHkgZm9yIGhlYXAgb3BlcmF0aW9ucyAqLwpAQCAt NDA3LDYgKzQwOCw4IEBAIHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAkgKiBiZWVuIHBl cm1hbmVudGx5IGRpc2FibGVkLgogCSAqLwogCUJsb2NrTnVtYmVyIGVhZ2VyX3NjYW5fcmVt YWluaW5nX2ZhaWxzOworCisJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7IC8q IG51bWJlciBvZiBlbWVyZ2VuY3kgdmFjdXVtcyB0byBwcmV2ZW50IGFudGktd3JhcGFyb3Vu ZCBzaHV0ZG93biAqLwogfSBMVlJlbFN0YXRlOwogCiAKQEAgLTQxOCw2ICs0MjEsMTggQEAg dHlwZWRlZiBzdHJ1Y3QgTFZTYXZlZEVyckluZm8KIAlWYWNFcnJQaGFzZSBwaGFzZTsKIH0g TFZTYXZlZEVyckluZm87CiAKKy8qCisgKiBDb3VudGVycyBhbmQgdXNhZ2UgZGF0YSBmb3Ig ZXh0ZW5kZWQgc3RhdHMgdHJhY2tpbmcuCisgKi8KK3R5cGVkZWYgc3RydWN0IExWRXh0U3Rh dENvdW50ZXJzCit7CisJVGltZXN0YW1wVHogc3RhcnR0aW1lOworCVdhbFVzYWdlCXdhbHVz YWdlOworCUJ1ZmZlclVzYWdlIGJ1ZnVzYWdlOworCWRvdWJsZQkJVmFjdXVtRGVsYXlUaW1l OworCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOworCVBnU3RhdF9Db3VudGVyIGJs b2Nrc19oaXQ7Cit9IExWRXh0U3RhdENvdW50ZXJzOwogCiAvKiBub24tZXhwb3J0IGZ1bmN0 aW9uIHByb3RvdHlwZXMgKi8KIHN0YXRpYyB2b2lkIGxhenlfc2Nhbl9oZWFwKExWUmVsU3Rh dGUgKnZhY3JlbCk7CkBAIC00NzQsNiArNDg5LDEwNiBAQCBzdGF0aWMgdm9pZCB1cGRhdGVf dmFjdXVtX2Vycm9yX2luZm8oTFZSZWxTdGF0ZSAqdmFjcmVsLAogc3RhdGljIHZvaWQgcmVz dG9yZV92YWN1dW1fZXJyb3JfaW5mbyhMVlJlbFN0YXRlICp2YWNyZWwsCiAJCQkJCQkJCQkg IGNvbnN0IExWU2F2ZWRFcnJJbmZvICpzYXZlZF92YWNyZWwpOwogCisvKiAtLS0tLS0tLS0t CisgKiBleHR2YWNfc3RhdHNfc3RhcnQoKSAtCisgKgorICogU2F2ZSBjdXQtb2ZmIHZhbHVl cyBvZiBleHRlbmRlZCB2YWN1dW0gY291bnRlcnMgYmVmb3JlIHN0YXJ0IG9mIGEgcmVsYXRp b24KKyAqIHByb2Nlc3NpbmcuCisgKiAtLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkCitl eHR2YWNfc3RhdHNfc3RhcnQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVycyAqY291 bnRlcnMpCit7CisJVGltZXN0YW1wVHoJc3RhcnR0aW1lOworCisJaWYoIXBnc3RhdF90cmFj a192YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCisJbWVtc2V0KGNvdW50ZXJzLCAw LCBzaXplb2YoTFZFeHRTdGF0Q291bnRlcnMpKTsKKworCXN0YXJ0dGltZSA9IEdldEN1cnJl bnRUaW1lc3RhbXAoKTsKKworCWNvdW50ZXJzLT5zdGFydHRpbWUgPSBzdGFydHRpbWU7CisJ Y291bnRlcnMtPndhbHVzYWdlID0gcGdXYWxVc2FnZTsKKwljb3VudGVycy0+YnVmdXNhZ2Ug PSBwZ0J1ZmZlclVzYWdlOworCWNvdW50ZXJzLT5WYWN1dW1EZWxheVRpbWUgPSBWYWN1dW1E ZWxheVRpbWU7CisJY291bnRlcnMtPmJsb2Nrc19mZXRjaGVkID0gMDsKKwljb3VudGVycy0+ YmxvY2tzX2hpdCA9IDA7CisKKwlpZiAoIXJlbC0+cGdzdGF0X2luZm8gfHwgIXBnc3RhdF90 cmFja19jb3VudHMpCisJCS8qCisJCSAqIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIG9yIHVz ZXIgZG9lc24ndCB3YW50IHRvIHRyYWNrIGEgZGF0YWJhc2UKKwkJICogYWN0aXZpdHkgLSBq dXN0IHN1cHByZXNzIGl0LgorCQkgKi8KKwkJcmV0dXJuOworCisJY291bnRlcnMtPmJsb2Nr c19mZXRjaGVkID0gcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nrc19mZXRjaGVkOwor CWNvdW50ZXJzLT5ibG9ja3NfaGl0ID0gcmVsLT5wZ3N0YXRfaW5mby0+Y291bnRzLmJsb2Nr c19oaXQ7Cit9CisKKy8qIC0tLS0tLS0tLS0KKyAqIGV4dHZhY19zdGF0c19lbmQoKSAtCisg KgorICoJQ2FsbGVkIHRvIGZpbmlzaCBhbiBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljIGdh dGhlcmluZyBhbmQgZm9ybSBhIHJlcG9ydC4KKyAqIC0tLS0tLS0tLS0KKyAqLworc3RhdGlj IHZvaWQKK2V4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3VudGVy cyAqY291bnRlcnMsCisJCQkJICBFeHRWYWNSZXBvcnQgKnJlcG9ydCkKK3sKKwlXYWxVc2Fn ZQl3YWx1c2FnZTsKKwlCdWZmZXJVc2FnZQlidWZ1c2FnZTsKKwlUaW1lc3RhbXBUeiBlbmR0 aW1lOworCWxvbmcJCXNlY3M7CisJaW50CQkJdXNlY3M7CisKKwlpZighcGdzdGF0X3RyYWNr X3ZhY3V1bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisKKwkvKiBDYWxjdWxhdGUgZGlmZnMg b2YgZ2xvYmFsIHN0YXQgcGFyYW1ldGVycyBvbiBXQUwgYW5kIGJ1ZmZlciB1c2FnZS4gKi8K KwltZW1zZXQoJndhbHVzYWdlLCAwLCBzaXplb2YoV2FsVXNhZ2UpKTsKKwlXYWxVc2FnZUFj Y3VtRGlmZigmd2FsdXNhZ2UsICZwZ1dhbFVzYWdlLCAmY291bnRlcnMtPndhbHVzYWdlKTsK KworCW1lbXNldCgmYnVmdXNhZ2UsIDAsIHNpemVvZihCdWZmZXJVc2FnZSkpOworCUJ1ZmZl clVzYWdlQWNjdW1EaWZmKCZidWZ1c2FnZSwgJnBnQnVmZmVyVXNhZ2UsICZjb3VudGVycy0+ YnVmdXNhZ2UpOworCisJZW5kdGltZSA9IEdldEN1cnJlbnRUaW1lc3RhbXAoKTsKKwlUaW1l c3RhbXBEaWZmZXJlbmNlKGNvdW50ZXJzLT5zdGFydHRpbWUsIGVuZHRpbWUsICZzZWNzLCAm dXNlY3MpOworCisJbWVtc2V0KHJlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOwor CisJLyoKKwkgKiBGaWxsIGFkZGl0aW9uYWwgc3RhdGlzdGljcyBvbiBhIHZhY3V1bSBwcm9j ZXNzaW5nIG9wZXJhdGlvbi4KKwkgKi8KKwlyZXBvcnQtPnRvdGFsX2Jsa3NfcmVhZCA9IGJ1 ZnVzYWdlLmxvY2FsX2Jsa3NfcmVhZCArIGJ1ZnVzYWdlLnNoYXJlZF9ibGtzX3JlYWQ7CisJ cmVwb3J0LT50b3RhbF9ibGtzX2hpdCA9IGJ1ZnVzYWdlLmxvY2FsX2Jsa3NfaGl0ICsgYnVm dXNhZ2Uuc2hhcmVkX2Jsa3NfaGl0OworCXJlcG9ydC0+dG90YWxfYmxrc19kaXJ0aWVkID0g YnVmdXNhZ2UubG9jYWxfYmxrc19kaXJ0aWVkICsgYnVmdXNhZ2Uuc2hhcmVkX2Jsa3NfZGly dGllZDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3Nfd3JpdHRlbiA9IGJ1ZnVzYWdlLnNoYXJlZF9i bGtzX3dyaXR0ZW47CisKKwlyZXBvcnQtPndhbF9yZWNvcmRzID0gd2FsdXNhZ2Uud2FsX3Jl Y29yZHM7CisJcmVwb3J0LT53YWxfZnBpID0gd2FsdXNhZ2Uud2FsX2ZwaTsKKwlyZXBvcnQt PndhbF9ieXRlcyA9IHdhbHVzYWdlLndhbF9ieXRlczsKKworCXJlcG9ydC0+YmxrX3JlYWRf dGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxvY2FsX2Jsa19yZWFk X3RpbWUpOworCXJlcG9ydC0+YmxrX3JlYWRfdGltZSArPSBJTlNUUl9USU1FX0dFVF9NSUxM SVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3JlYWRfdGltZSk7CisJcmVwb3J0LT5ibGtfd3Jp dGVfdGltZSA9IElOU1RSX1RJTUVfR0VUX01JTExJU0VDKGJ1ZnVzYWdlLmxvY2FsX2Jsa193 cml0ZV90aW1lKTsKKwlyZXBvcnQtPmJsa193cml0ZV90aW1lID0gSU5TVFJfVElNRV9HRVRf TUlMTElTRUMoYnVmdXNhZ2Uuc2hhcmVkX2Jsa193cml0ZV90aW1lKTsKKwlyZXBvcnQtPmRl bGF5X3RpbWUgPSBWYWN1dW1EZWxheVRpbWUgLSBjb3VudGVycy0+VmFjdXVtRGVsYXlUaW1l OworCisJcmVwb3J0LT50b3RhbF90aW1lID0gc2VjcyAqIDEwMDAuICsgdXNlY3MgLyAxMDAw LjsKKworCWlmICghcmVsLT5wZ3N0YXRfaW5mbyB8fCAhcGdzdGF0X3RyYWNrX2NvdW50cykK KwkJLyoKKwkJICogaWYgc29tZXRoaW5nIGdvZXMgd3Jvbmcgb3IgYW4gdXNlciBkb2Vzbid0 IHdhbnQgdG8gdHJhY2sgYSBkYXRhYmFzZQorCQkgKiBhY3Rpdml0eSAtIGp1c3Qgc3VwcHJl c3MgaXQuCisJCSAqLworCQlyZXR1cm47CisKKwlyZXBvcnQtPmJsa3NfZmV0Y2hlZCA9CisJ CXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfZmV0Y2hlZCAtIGNvdW50ZXJzLT5i bG9ja3NfZmV0Y2hlZDsKKwlyZXBvcnQtPmJsa3NfaGl0ID0KKwkJcmVsLT5wZ3N0YXRfaW5m by0+Y291bnRzLmJsb2Nrc19oaXQgLSBjb3VudGVycy0+YmxvY2tzX2hpdDsKK30KIAogCiAv KgpAQCAtNjMyLDYgKzc0NywxMyBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBj b25zdCBWYWN1dW1QYXJhbXMgcGFyYW1zLAogCUJ1ZmZlclVzYWdlIHN0YXJ0YnVmZmVydXNh Z2UgPSBwZ0J1ZmZlclVzYWdlOwogCUVycm9yQ29udGV4dENhbGxiYWNrIGVycmNhbGxiYWNr OwogCWNoYXIJICAqKmluZG5hbWVzID0gTlVMTDsKKwlMVkV4dFN0YXRDb3VudGVycyBleHRW YWNDb3VudGVyczsKKwlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OworCUV4dFZhY1JlcG9y dCBhbGx6ZXJvOworCisJLyogSW5pdGlhbGl6ZSB2YWN1dW0gc3RhdGlzdGljcyAqLworCW1l bXNldCgmYWxsemVybywgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCWV4dFZhY1JlcG9y dCA9IGFsbHplcm87CiAKIAl2ZXJib3NlID0gKHBhcmFtcy5vcHRpb25zICYgVkFDT1BUX1ZF UkJPU0UpICE9IDA7CiAJaW5zdHJ1bWVudCA9ICh2ZXJib3NlIHx8IChBbUF1dG9WYWN1dW1X b3JrZXJQcm9jZXNzKCkgJiYKQEAgLTY1MSw3ICs3NzMsNyBAQCBoZWFwX3ZhY3V1bV9yZWwo UmVsYXRpb24gcmVsLCBjb25zdCBWYWN1dW1QYXJhbXMgcGFyYW1zLAogCiAJcGdzdGF0X3By b2dyZXNzX3N0YXJ0X2NvbW1hbmQoUFJPR1JFU1NfQ09NTUFORF9WQUNVVU0sCiAJCQkJCQkJ CSAgUmVsYXRpb25HZXRSZWxpZChyZWwpKTsKLQorCWV4dHZhY19zdGF0c19zdGFydChyZWws ICZleHRWYWNDb3VudGVycyk7CiAJLyoKIAkgKiBTZXR1cCBlcnJvciB0cmFjZWJhY2sgc3Vw cG9ydCBmb3IgZXJlcG9ydCgpIGZpcnN0LiAgVGhlIGlkZWEgaXMgdG8gc2V0CiAJICogdXAg YW4gZXJyb3IgY29udGV4dCBjYWxsYmFjayB0byBkaXNwbGF5IGFkZGl0aW9uYWwgaW5mb3Jt YXRpb24gb24gYW55CkBAIC02NjgsNiArNzkwLDcgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0 aW9uIHJlbCwgY29uc3QgVmFjdXVtUGFyYW1zIHBhcmFtcywKIAl2YWNyZWwtPmRibmFtZSA9 IGdldF9kYXRhYmFzZV9uYW1lKE15RGF0YWJhc2VJZCk7CiAJdmFjcmVsLT5yZWxuYW1lc3Bh Y2UgPSBnZXRfbmFtZXNwYWNlX25hbWUoUmVsYXRpb25HZXROYW1lc3BhY2UocmVsKSk7CiAJ dmFjcmVsLT5yZWxuYW1lID0gcHN0cmR1cChSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwp KTsKKwl2YWNyZWwtPnJlbG9pZCA9IFJlbGF0aW9uR2V0UmVsaWQocmVsKTsKIAl2YWNyZWwt PmluZG5hbWUgPSBOVUxMOwogCXZhY3JlbC0+cGhhc2UgPSBWQUNVVU1fRVJSQ0JfUEhBU0Vf VU5LTk9XTjsKIAl2YWNyZWwtPnZlcmJvc2UgPSB2ZXJib3NlOwpAQCAtNzc2LDYgKzg5OSw3 IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyBw YXJhbXMsCiAJdmFjcmVsLT5hZ2dyZXNzaXZlID0gdmFjdXVtX2dldF9jdXRvZmZzKHJlbCwg cGFyYW1zLCAmdmFjcmVsLT5jdXRvZmZzKTsKIAl2YWNyZWwtPnJlbF9wYWdlcyA9IG9yaWdf cmVsX3BhZ2VzID0gUmVsYXRpb25HZXROdW1iZXJPZkJsb2NrcyhyZWwpOwogCXZhY3JlbC0+ dmlzdGVzdCA9IEdsb2JhbFZpc1Rlc3RGb3IocmVsKTsKKwl2YWNyZWwtPndyYXBhcm91bmRf ZmFpbHNhZmVfY291bnQgPSAwOwogCiAJLyogSW5pdGlhbGl6ZSBzdGF0ZSB1c2VkIHRvIHRy YWNrIG9sZGVzdCBleHRhbnQgWElEL01YSUQgKi8KIAl2YWNyZWwtPk5ld1JlbGZyb3plblhp ZCA9IHZhY3JlbC0+Y3V0b2Zmcy5PbGRlc3RYbWluOwpAQCAtOTI0LDYgKzEwNDgsMjYgQEAg aGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgY29uc3QgVmFjdXVtUGFyYW1zIHBhcmFt cywKIAkJCQkJCXZhY3JlbC0+TmV3UmVsZnJvemVuWGlkLCB2YWNyZWwtPk5ld1JlbG1pbk14 aWQsCiAJCQkJCQkmZnJvemVueGlkX3VwZGF0ZWQsICZtaW5tdWx0aV91cGRhdGVkLCBmYWxz ZSk7CiAKKwkvKiBNYWtlIGdlbmVyaWMgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCAq LworCWV4dHZhY19zdGF0c19lbmQocmVsLCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBv cnQpOworCisJaWYocGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCXsKKwkJLyog RmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcyAqLworCQlleHRWYWNS ZXBvcnQucGFnZXNfc2Nhbm5lZCA9IHZhY3JlbC0+c2Nhbm5lZF9wYWdlczsKKwkJZXh0VmFj UmVwb3J0LnBhZ2VzX3JlbW92ZWQgPSB2YWNyZWwtPnJlbW92ZWRfcGFnZXM7CisJCWV4dFZh Y1JlcG9ydC52bV9uZXdfZnJvemVuX3BhZ2VzID0gdmFjcmVsLT52bV9uZXdfZnJvemVuX3Bh Z2VzOworCQlleHRWYWNSZXBvcnQudm1fbmV3X3Zpc2libGVfcGFnZXMgPSB2YWNyZWwtPnZt X25ld192aXNpYmxlX3BhZ2VzOworCQlleHRWYWNSZXBvcnQudm1fbmV3X3Zpc2libGVfZnJv emVuX3BhZ2VzID0gdmFjcmVsLT52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXM7CisJCWV4 dFZhY1JlcG9ydC50dXBsZXNfZGVsZXRlZCA9IHZhY3JlbC0+dHVwbGVzX2RlbGV0ZWQ7CisJ CWV4dFZhY1JlcG9ydC50dXBsZXNfZnJvemVuID0gdmFjcmVsLT50dXBsZXNfZnJvemVuOwor CQlleHRWYWNSZXBvcnQucmVjZW50bHlfZGVhZF90dXBsZXMgPSB2YWNyZWwtPnJlY2VudGx5 X2RlYWRfdHVwbGVzOworCQlleHRWYWNSZXBvcnQubWlzc2VkX2RlYWRfdHVwbGVzID0gdmFj cmVsLT5taXNzZWRfZGVhZF90dXBsZXM7CisJCWV4dFZhY1JlcG9ydC5taXNzZWRfZGVhZF9w YWdlcyA9IHZhY3JlbC0+bWlzc2VkX2RlYWRfcGFnZXM7CisJCWV4dFZhY1JlcG9ydC5pbmRl eF92YWN1dW1fY291bnQgPSB2YWNyZWwtPm51bV9pbmRleF9zY2FuczsKKwkJZXh0VmFjUmVw b3J0LndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgPSB2YWNyZWwtPndyYXBhcm91bmRfZmFp bHNhZmVfY291bnQ7CisJfQorCiAJLyoKIAkgKiBSZXBvcnQgcmVzdWx0cyB0byB0aGUgY3Vt dWxhdGl2ZSBzdGF0cyBzeXN0ZW0sIHRvby4KIAkgKgpAQCAtOTM5LDcgKzEwODMsOCBAQCBo ZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBjb25zdCBWYWN1dW1QYXJhbXMgcGFyYW1z LAogCQkJCQkJIE1heCh2YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCksCiAJCQkJCQkgdmFj cmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlcyArCiAJCQkJCQkgdmFjcmVsLT5taXNzZWRfZGVh ZF90dXBsZXMsCi0JCQkJCQkgc3RhcnR0aW1lKTsKKwkJCQkJCSBzdGFydHRpbWUsCisJCQkJ CQkgJmV4dFZhY1JlcG9ydCk7CiAJcGdzdGF0X3Byb2dyZXNzX2VuZF9jb21tYW5kKCk7CiAK IAlpZiAoaW5zdHJ1bWVudCkKQEAgLTI5NjcsNiArMzExMiw3IEBAIGxhenlfY2hlY2tfd3Jh cGFyb3VuZF9mYWlsc2FmZShMVlJlbFN0YXRlICp2YWNyZWwpCiAJCWludDY0CQlwcm9ncmVz c192YWxbMl0gPSB7MCwgMH07CiAKIAkJVmFjdXVtRmFpbHNhZmVBY3RpdmUgPSB0cnVlOwor CQl2YWNyZWwtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgKys7CiAKIAkJLyoKIAkJICog QWJhbmRvbiB1c2Ugb2YgYSBidWZmZXIgYWNjZXNzIHN0cmF0ZWd5IHRvIGFsbG93IHVzZSBv ZiBhbGwgb2YKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zpc2liaWxp dHltYXAuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zpc2liaWxpdHltYXAuYwppbmRl eCA3MzA2YzE2ZjA1Yy4uYTg4MWMzM2I3NWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9oZWFwL3Zpc2liaWxpdHltYXAuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVh cC92aXNpYmlsaXR5bWFwLmMKQEAgLTkxLDYgKzkxLDcgQEAKICNpbmNsdWRlICJhY2Nlc3Mv eGxvZ2luc2VydC5oIgogI2luY2x1ZGUgImFjY2Vzcy94bG9ndXRpbHMuaCIKICNpbmNsdWRl ICJtaXNjYWRtaW4uaCIKKyNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRlICJwb3J0L3Bn X2JpdHV0aWxzLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9idWZtZ3IuaCIKICNpbmNsdWRlICJz dG9yYWdlL3NtZ3IuaCIKQEAgLTE2MCw2ICsxNjEsMTUgQEAgdmlzaWJpbGl0eW1hcF9jbGVh cihSZWxhdGlvbiByZWwsIEJsb2NrTnVtYmVyIGhlYXBCbGssIEJ1ZmZlciB2bWJ1ZiwgdWlu dDggZmxhZ3MKIAogCWlmIChtYXBbbWFwQnl0ZV0gJiBtYXNrKQogCXsKKwkJLyoKKwkJICog QXMgcGFydCBvZiB2YWN1dW0gc3RhdHMsIHRyYWNrIGhvdyBvZnRlbiBhbGwtdmlzaWJsZSBv ciBhbGwtZnJvemVuCisJCSAqIGJpdHMgYXJlIGNsZWFyZWQuCisJCSAqLworCQlpZiAobWFw W21hcEJ5dGVdID4+IG1hcE9mZnNldCAmIGZsYWdzICYgVklTSUJJTElUWU1BUF9BTExfVklT SUJMRSkKKwkJCXBnc3RhdF9jb3VudF92bV9yZXZfYWxsX3Zpc2libGUocmVsKTsKKwkJaWYg KG1hcFttYXBCeXRlXSA+PiBtYXBPZmZzZXQgJiBmbGFncyAmIFZJU0lCSUxJVFlNQVBfQUxM X0ZST1pFTikKKwkJCXBnc3RhdF9jb3VudF92bV9yZXZfYWxsX2Zyb3plbihyZWwpOworCiAJ CW1hcFttYXBCeXRlXSAmPSB+bWFzazsKIAogCQlNYXJrQnVmZmVyRGlydHkodm1idWYpOwpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3Jj L2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4IGM3N2ZhMDIzNGJiLi40 NDkzN2NhMzdmYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAt NzE2LDcgKzcxNiw5IEBAIENSRUFURSBWSUVXIHBnX3N0YXRfYWxsX3RhYmxlcyBBUwogICAg ICAgICAgICAgcGdfc3RhdF9nZXRfdG90YWxfdmFjdXVtX3RpbWUoQy5vaWQpIEFTIHRvdGFs X3ZhY3V1bV90aW1lLAogICAgICAgICAgICAgcGdfc3RhdF9nZXRfdG90YWxfYXV0b3ZhY3V1 bV90aW1lKEMub2lkKSBBUyB0b3RhbF9hdXRvdmFjdXVtX3RpbWUsCiAgICAgICAgICAgICBw Z19zdGF0X2dldF90b3RhbF9hbmFseXplX3RpbWUoQy5vaWQpIEFTIHRvdGFsX2FuYWx5emVf dGltZSwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RvdGFsX2F1dG9hbmFseXplX3RpbWUo Qy5vaWQpIEFTIHRvdGFsX2F1dG9hbmFseXplX3RpbWUKKyAgICAgICAgICAgIHBnX3N0YXRf Z2V0X3RvdGFsX2F1dG9hbmFseXplX3RpbWUoQy5vaWQpIEFTIHRvdGFsX2F1dG9hbmFseXpl X3RpbWUsCisgICAgICAgICAgICBwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcyhD Lm9pZCkgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMsCisgICAgICAgICAgICBwZ19zdGF0X2dl dF9yZXZfYWxsX3Zpc2libGVfcGFnZXMoQy5vaWQpIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdl cwogICAgIEZST00gcGdfY2xhc3MgQyBMRUZUIEpPSU4KICAgICAgICAgIHBnX2luZGV4IEkg T04gQy5vaWQgPSBJLmluZHJlbGlkCiAgICAgICAgICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNl IE4gT04gKE4ub2lkID0gQy5yZWxuYW1lc3BhY2UpCkBAIC0xNDIwLDMgKzE0MjIsNTEgQEAg UkVWT0tFIEFMTCBPTiBwZ19haW9zIEZST00gUFVCTElDOwogR1JBTlQgU0VMRUNUIE9OIHBn X2Fpb3MgVE8gcGdfcmVhZF9hbGxfc3RhdHM7CiBSRVZPS0UgRVhFQ1VURSBPTiBGVU5DVElP TiBwZ19nZXRfYWlvcygpIEZST00gUFVCTElDOwogR1JBTlQgRVhFQ1VURSBPTiBGVU5DVElP TiBwZ19nZXRfYWlvcygpIFRPIHBnX3JlYWRfYWxsX3N0YXRzOworLS0KKy0tIFNob3cgZXh0 ZW5kZWQgY3VtdWxhdGl2ZSBzdGF0aXN0aWNzIG9uIGEgdmFjdXVtIG9wZXJhdGlvbiBvdmVy IGFsbCB0YWJsZXMgYW5kCistLSBkYXRhYmFzZXMgb2YgdGhlIGluc3RhbmNlLgorLS0gVXNl IEludmFsaWQgT2lkICIwIiBhcyBhbiBpbnB1dCByZWxhdGlvbiBpZCB0byBnZXQgc3RhdCBv biBlYWNoIHRhYmxlIGluIGEKKy0tIGRhdGFiYXNlLgorLS0KKworQ1JFQVRFIFZJRVcgcGdf c3RhdF92YWN1dW1fdGFibGVzIEFTCitTRUxFQ1QKKyAgbnMubnNwbmFtZSBBUyBzY2hlbWFu YW1lLAorICByZWwucmVsbmFtZSBBUyByZWxuYW1lLAorICBzdGF0cy5yZWxpZCBhcyByZWxp ZCwKKworICBzdGF0cy50b3RhbF9ibGtzX3JlYWQgQVMgdG90YWxfYmxrc19yZWFkLAorICBz dGF0cy50b3RhbF9ibGtzX2hpdCBBUyB0b3RhbF9ibGtzX2hpdCwKKyAgc3RhdHMudG90YWxf Ymxrc19kaXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgc3RhdHMudG90YWxfYmxr c193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKworICBzdGF0cy5yZWxfYmxrc19y ZWFkIEFTIHJlbF9ibGtzX3JlYWQsCisgIHN0YXRzLnJlbF9ibGtzX2hpdCBBUyByZWxfYmxr c19oaXQsCisKKyAgc3RhdHMucGFnZXNfc2Nhbm5lZCBBUyBwYWdlc19zY2FubmVkLAorICBz dGF0cy5wYWdlc19yZW1vdmVkIEFTIHBhZ2VzX3JlbW92ZWQsCisgIHN0YXRzLnZtX25ld19m cm96ZW5fcGFnZXMgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcywKKyAgc3RhdHMudm1fbmV3X3Zp c2libGVfcGFnZXMgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsCisgIHN0YXRzLnZtX25ld192 aXNpYmxlX2Zyb3plbl9wYWdlcyBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsCisg IHN0YXRzLm1pc3NlZF9kZWFkX3BhZ2VzIEFTIG1pc3NlZF9kZWFkX3BhZ2VzLAorICBzdGF0 cy50dXBsZXNfZGVsZXRlZCBBUyB0dXBsZXNfZGVsZXRlZCwKKyAgc3RhdHMudHVwbGVzX2Zy b3plbiBBUyB0dXBsZXNfZnJvemVuLAorICBzdGF0cy5yZWNlbnRseV9kZWFkX3R1cGxlcyBB UyByZWNlbnRseV9kZWFkX3R1cGxlcywKKyAgc3RhdHMubWlzc2VkX2RlYWRfdHVwbGVzIEFT IG1pc3NlZF9kZWFkX3R1cGxlcywKKworICBzdGF0cy53cmFwYXJvdW5kX2ZhaWxzYWZlIEFT IHdyYXBhcm91bmRfZmFpbHNhZmUsCisgIHN0YXRzLmluZGV4X3ZhY3V1bV9jb3VudCBBUyBp bmRleF92YWN1dW1fY291bnQsCisgIHN0YXRzLndhbF9yZWNvcmRzIEFTIHdhbF9yZWNvcmRz LAorICBzdGF0cy53YWxfZnBpIEFTIHdhbF9mcGksCisgIHN0YXRzLndhbF9ieXRlcyBBUyB3 YWxfYnl0ZXMsCisKKyAgc3RhdHMuYmxrX3JlYWRfdGltZSBBUyBibGtfcmVhZF90aW1lLAor ICBzdGF0cy5ibGtfd3JpdGVfdGltZSBBUyBibGtfd3JpdGVfdGltZSwKKworICBzdGF0cy5k ZWxheV90aW1lIEFTIGRlbGF5X3RpbWUsCisgIHN0YXRzLnRvdGFsX3RpbWUgQVMgdG90YWxf dGltZQorCitGUk9NIHBnX2NsYXNzIHJlbAorICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiBu cy5vaWQgPSByZWwucmVsbmFtZXNwYWNlLAorICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1 bV90YWJsZXMocmVsLm9pZCkgc3RhdHMKK1dIRVJFIHJlbC5yZWxraW5kID0gJ3InOwpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMgYi9zcmMvYmFja2VuZC9j b21tYW5kcy92YWN1dW0uYwppbmRleCA3MzNlZjQwYWU3Yy4uZDg3NzZmZjE5MDEgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bS5jCisrKyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3ZhY3V1bS5jCkBAIC0xMTYsNiArMTE2LDkgQEAgcGdfYXRvbWljX3VpbnQz MiAqVmFjdXVtU2hhcmVkQ29zdEJhbGFuY2UgPSBOVUxMOwogcGdfYXRvbWljX3VpbnQzMiAq VmFjdXVtQWN0aXZlTldvcmtlcnMgPSBOVUxMOwogaW50CQkJVmFjdXVtQ29zdEJhbGFuY2VM b2NhbCA9IDA7CiAKKy8qIEN1bXVsYXRpdmUgc3RvcmFnZSB0byByZXBvcnQgdG90YWwgdmFj dXVtIGRlbGF5IHRpbWUuICovCitkb3VibGUgVmFjdXVtRGVsYXlUaW1lID0gMDsgLyogbXNl Yy4gKi8KKwogLyogbm9uLWV4cG9ydCBmdW5jdGlvbiBwcm90b3R5cGVzICovCiBzdGF0aWMg TGlzdCAqZXhwYW5kX3ZhY3V1bV9yZWwoVmFjdXVtUmVsYXRpb24gKnZyZWwsCiAJCQkJCQkJ ICAgTWVtb3J5Q29udGV4dCB2YWNfY29udGV4dCwgaW50IG9wdGlvbnMpOwpAQCAtMjUzMyw2 ICsyNTM2LDcgQEAgdmFjdXVtX2RlbGF5X3BvaW50KGJvb2wgaXNfYW5hbHl6ZSkKIAkJCWV4 aXQoMSk7CiAKIAkJVmFjdXVtQ29zdEJhbGFuY2UgPSAwOworCQlWYWN1dW1EZWxheVRpbWUg Kz0gbXNlYzsKIAogCQkvKgogCQkgKiBCYWxhbmNlIGFuZCB1cGRhdGUgbGltaXQgdmFsdWVz IGZvciBhdXRvdmFjdXVtIHdvcmtlcnMuIFdlIG11c3QgZG8KZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgYi9zcmMvYmFja2VuZC9jb21tYW5k cy92YWN1dW1wYXJhbGxlbC5jCmluZGV4IDBmZWVhMWQzMGVjLi4yYjU1ZDliN2MwZSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYworKysgYi9z cmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCkBAIC0xMDU0LDYgKzEwNTQs NyBAQCBwYXJhbGxlbF92YWN1dW1fbWFpbihkc21fc2VnbWVudCAqc2VnLCBzaG1fdG9jICp0 b2MpCiAJLyogU2V0IGNvc3QtYmFzZWQgdmFjdXVtIGRlbGF5ICovCiAJVmFjdXVtVXBkYXRl Q29zdHMoKTsKIAlWYWN1dW1Db3N0QmFsYW5jZSA9IDA7CisJVmFjdXVtRGVsYXlUaW1lID0g MDsKIAlWYWN1dW1Db3N0QmFsYW5jZUxvY2FsID0gMDsKIAlWYWN1dW1TaGFyZWRDb3N0QmFs YW5jZSA9ICYoc2hhcmVkLT5jb3N0X2JhbGFuY2UpOwogCVZhY3V1bUFjdGl2ZU5Xb3JrZXJz ID0gJihzaGFyZWQtPmFjdGl2ZV9ud29ya2Vycyk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdC5jCmluZGV4IDczYzJjZWQzZjRlLi40MDBmYWZlOTIxYiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTE5MCw3ICsxOTAsNyBAQCBzdGF0aWMgdm9p ZCBwZ3N0YXRfcmVzZXRfYWZ0ZXJfZmFpbHVyZSh2b2lkKTsKIHN0YXRpYyBib29sIHBnc3Rh dF9mbHVzaF9wZW5kaW5nX2VudHJpZXMoYm9vbCBub3dhaXQpOwogCiBzdGF0aWMgdm9pZCBw Z3N0YXRfcHJlcF9zbmFwc2hvdCh2b2lkKTsKLXN0YXRpYyB2b2lkIHBnc3RhdF9idWlsZF9z bmFwc2hvdCh2b2lkKTsKK3N0YXRpYyB2b2lkIHBnc3RhdF9idWlsZF9zbmFwc2hvdChQZ1N0 YXRfS2luZCBzdGF0S2luZCk7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfYnVpbGRfc25hcHNob3Rf Zml4ZWQoUGdTdGF0X0tpbmQga2luZCk7CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBwZ3N0YXRf aXNfa2luZF92YWxpZChQZ1N0YXRfS2luZCBraW5kKTsKQEAgLTIwMyw3ICsyMDMsNyBAQCBz dGF0aWMgaW5saW5lIGJvb2wgcGdzdGF0X2lzX2tpbmRfdmFsaWQoUGdTdGF0X0tpbmQga2lu ZCk7CiAKIGJvb2wJCXBnc3RhdF90cmFja19jb3VudHMgPSBmYWxzZTsKIGludAkJCXBnc3Rh dF9mZXRjaF9jb25zaXN0ZW5jeSA9IFBHU1RBVF9GRVRDSF9DT05TSVNURU5DWV9DQUNIRTsK LQorYm9vbAkJcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzID0gdHJ1ZTsKIAogLyog LS0tLS0tLS0tLQogICogc3RhdGUgc2hhcmVkIHdpdGggcGdzdGF0XyouYwpAQCAtMjY1LDcg KzI2NSw2IEBAIHN0YXRpYyBib29sIHBnc3RhdF9pc19pbml0aWFsaXplZCA9IGZhbHNlOwog c3RhdGljIGJvb2wgcGdzdGF0X2lzX3NodXRkb3duID0gZmFsc2U7CiAjZW5kaWYKIAotCiAv KgogICogVGhlIGRpZmZlcmVudCBraW5kcyBvZiBidWlsdC1pbiBzdGF0aXN0aWNzLgogICoK QEAgLTg4Myw3ICs4ODIsNiBAQCBwZ3N0YXRfcmVzZXRfb2Zfa2luZChQZ1N0YXRfS2luZCBr aW5kKQogCQlwZ3N0YXRfcmVzZXRfZW50cmllc19vZl9raW5kKGtpbmQsIHRzKTsKIH0KIAot CiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KICAqIEZldGNoaW5nIG9mIHN0YXRzCiAgKiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTk0OSw3 ICs5NDcsNyBAQCBwZ3N0YXRfZmV0Y2hfZW50cnkoUGdTdGF0X0tpbmQga2luZCwgT2lkIGRi b2lkLCB1aW50NjQgb2JqaWQpCiAKIAkvKiBpZiB3ZSBuZWVkIHRvIGJ1aWxkIGEgZnVsbCBz bmFwc2hvdCwgZG8gc28gKi8KIAlpZiAocGdzdGF0X2ZldGNoX2NvbnNpc3RlbmN5ID09IFBH U1RBVF9GRVRDSF9DT05TSVNURU5DWV9TTkFQU0hPVCkKLQkJcGdzdGF0X2J1aWxkX3NuYXBz aG90KCk7CisJCXBnc3RhdF9idWlsZF9zbmFwc2hvdChQR1NUQVRfS0lORF9JTlZBTElEKTsK IAogCS8qIGlmIGNhY2hpbmcgaXMgZGVzaXJlZCwgbG9vayB1cCBpbiBjYWNoZSAqLwogCWlm IChwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPiBQR1NUQVRfRkVUQ0hfQ09OU0lTVEVOQ1lf Tk9ORSkKQEAgLTEwNjUsNyArMTA2Myw3IEBAIHBnc3RhdF9zbmFwc2hvdF9maXhlZChQZ1N0 YXRfS2luZCBraW5kKQogCQlwZ3N0YXRfY2xlYXJfc25hcHNob3QoKTsKIAogCWlmIChwZ3N0 YXRfZmV0Y2hfY29uc2lzdGVuY3kgPT0gUEdTVEFUX0ZFVENIX0NPTlNJU1RFTkNZX1NOQVBT SE9UKQotCQlwZ3N0YXRfYnVpbGRfc25hcHNob3QoKTsKKwkJcGdzdGF0X2J1aWxkX3NuYXBz aG90KFBHU1RBVF9LSU5EX0lOVkFMSUQpOwogCWVsc2UKIAkJcGdzdGF0X2J1aWxkX3NuYXBz aG90X2ZpeGVkKGtpbmQpOwogCkBAIC0xMTE2LDcgKzExMTQsNyBAQCBwZ3N0YXRfcHJlcF9z bmFwc2hvdCh2b2lkKQogfQogCiBzdGF0aWMgdm9pZAotcGdzdGF0X2J1aWxkX3NuYXBzaG90 KHZvaWQpCitwZ3N0YXRfYnVpbGRfc25hcHNob3QoUGdTdGF0X0tpbmQgc3RhdEtpbmQpCiB7 CiAJZHNoYXNoX3NlcV9zdGF0dXMgaHN0YXQ7CiAJUGdTdGF0U2hhcmVkX0hhc2hFbnRyeSAq cDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxh dGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMK aW5kZXggNjlkZjc0MWNiZjYuLmUwMjM5MjZmZjA1IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYworKysgYi9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwpAQCAtNDcsNiArNDcsOCBAQCBzdGF0 aWMgdm9pZCBhZGRfdGFic3RhdF94YWN0X2xldmVsKFBnU3RhdF9UYWJsZVN0YXR1cyAqcGdz dGF0X2luZm8sIGludCBuZXN0X2xldgogc3RhdGljIHZvaWQgZW5zdXJlX3RhYnN0YXRfeGFj dF9sZXZlbChQZ1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvKTsKIHN0YXRpYyB2b2lk IHNhdmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5z LCBib29sIGlzX2Ryb3ApOwogc3RhdGljIHZvaWQgcmVzdG9yZV90cnVuY2Ryb3BfY291bnRl cnMoUGdTdGF0X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnMpOworc3RhdGljIHZvaWQgcGdzdGF0 X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBFeHRWYWNSZXBv cnQgKnNyYywKKwkJCQkJCQkgICBib29sIGFjY3VtdWxhdGVfcmVsdHlwZV9zcGVjaWZpY19p bmZvKTsKIAogCiAvKgpAQCAtMjA5LDcgKzIxMSw3IEBAIHBnc3RhdF9kcm9wX3JlbGF0aW9u KFJlbGF0aW9uIHJlbCkKIHZvaWQKIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9p ZCwgYm9vbCBzaGFyZWQsCiAJCQkJCSBQZ1N0YXRfQ291bnRlciBsaXZldHVwbGVzLCBQZ1N0 YXRfQ291bnRlciBkZWFkdHVwbGVzLAotCQkJCQkgVGltZXN0YW1wVHogc3RhcnR0aW1lKQor CQkJCQkgVGltZXN0YW1wVHogc3RhcnR0aW1lLCBFeHRWYWNSZXBvcnQgKnBhcmFtcykKIHsK IAlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKIAlQZ1N0YXRTaGFyZWRfUmVsYXRpb24g KnNodGFiZW50cnk7CkBAIC0yMzUsNiArMjM3LDggQEAgcGdzdGF0X3JlcG9ydF92YWN1dW0o T2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAl0YWJlbnRyeS0+bGl2ZV90dXBsZXMgPSBs aXZldHVwbGVzOwogCXRhYmVudHJ5LT5kZWFkX3R1cGxlcyA9IGRlYWR0dXBsZXM7CiAKKwlw Z3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoJnRhYmVudHJ5LT52YWN1dW1fZXh0LCBw YXJhbXMsIHRydWUpOworCiAJLyoKIAkgKiBJdCBpcyBxdWl0ZSBwb3NzaWJsZSB0aGF0IGEg bm9uLWFnZ3Jlc3NpdmUgVkFDVVVNIGVuZGVkIHVwIHNraXBwaW5nCiAJICogdmFyaW91cyBw YWdlcywgaG93ZXZlciwgd2UnbGwgemVybyB0aGUgaW5zZXJ0IGNvdW50ZXIgaGVyZSByZWdh cmRsZXNzLgpAQCAtODgxLDYgKzg4NSw5IEBAIHBnc3RhdF9yZWxhdGlvbl9mbHVzaF9jYihQ Z1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpCiAJdGFiZW50cnktPmJs b2Nrc19mZXRjaGVkICs9IGxzdGF0cy0+Y291bnRzLmJsb2Nrc19mZXRjaGVkOwogCXRhYmVu dHJ5LT5ibG9ja3NfaGl0ICs9IGxzdGF0cy0+Y291bnRzLmJsb2Nrc19oaXQ7CiAKKwl0YWJl bnRyeS0+cmV2X2FsbF9mcm96ZW5fcGFnZXMgKz0gbHN0YXRzLT5jb3VudHMucmV2X2FsbF9m cm96ZW5fcGFnZXM7CisJdGFiZW50cnktPnJldl9hbGxfdmlzaWJsZV9wYWdlcyArPSBsc3Rh dHMtPmNvdW50cy5yZXZfYWxsX3Zpc2libGVfcGFnZXM7CisKIAkvKiBDbGFtcCBsaXZlX3R1 cGxlcyBpbiBjYXNlIG9mIG5lZ2F0aXZlIGRlbHRhX2xpdmVfdHVwbGVzICovCiAJdGFiZW50 cnktPmxpdmVfdHVwbGVzID0gTWF4KHRhYmVudHJ5LT5saXZlX3R1cGxlcywgMCk7CiAJLyog TGlrZXdpc2UgZm9yIGRlYWRfdHVwbGVzICovCkBAIC0xMDA0LDMgKzEwMTEsNDAgQEAgcmVz dG9yZV90cnVuY2Ryb3BfY291bnRlcnMoUGdTdGF0X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnMp CiAJCXRyYW5zLT50dXBsZXNfZGVsZXRlZCA9IHRyYW5zLT5kZWxldGVkX3ByZV90cnVuY2Ry b3A7CiAJfQogfQorCitzdGF0aWMgdm9pZAorcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0 YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKKwkJCQkJCQkgICBi b29sIGFjY3VtdWxhdGVfcmVsdHlwZV9zcGVjaWZpY19pbmZvKQoreworCWRzdC0+dG90YWxf Ymxrc19yZWFkICs9IHNyYy0+dG90YWxfYmxrc19yZWFkOworCWRzdC0+dG90YWxfYmxrc19o aXQgKz0gc3JjLT50b3RhbF9ibGtzX2hpdDsKKwlkc3QtPnRvdGFsX2Jsa3NfZGlydGllZCAr PSBzcmMtPnRvdGFsX2Jsa3NfZGlydGllZDsKKwlkc3QtPnRvdGFsX2Jsa3Nfd3JpdHRlbiAr PSBzcmMtPnRvdGFsX2Jsa3Nfd3JpdHRlbjsKKwlkc3QtPndhbF9ieXRlcyArPSBzcmMtPndh bF9ieXRlczsKKwlkc3QtPndhbF9mcGkgKz0gc3JjLT53YWxfZnBpOworCWRzdC0+d2FsX3Jl Y29yZHMgKz0gc3JjLT53YWxfcmVjb3JkczsKKwlkc3QtPmJsa19yZWFkX3RpbWUgKz0gc3Jj LT5ibGtfcmVhZF90aW1lOworCWRzdC0+YmxrX3dyaXRlX3RpbWUgKz0gc3JjLT5ibGtfd3Jp dGVfdGltZTsKKwlkc3QtPmRlbGF5X3RpbWUgKz0gc3JjLT5kZWxheV90aW1lOworCWRzdC0+ dG90YWxfdGltZSArPSBzcmMtPnRvdGFsX3RpbWU7CisKKwlpZiAoIWFjY3VtdWxhdGVfcmVs dHlwZV9zcGVjaWZpY19pbmZvKQorCQlyZXR1cm47CisKKwlkc3QtPmJsa3NfZmV0Y2hlZCAr PSBzcmMtPmJsa3NfZmV0Y2hlZDsKKwlkc3QtPmJsa3NfaGl0ICs9IHNyYy0+Ymxrc19oaXQ7 CisKKwlkc3QtPnBhZ2VzX3NjYW5uZWQgKz0gc3JjLT5wYWdlc19zY2FubmVkOworCWRzdC0+ cGFnZXNfcmVtb3ZlZCArPSBzcmMtPnBhZ2VzX3JlbW92ZWQ7CisJZHN0LT52bV9uZXdfZnJv emVuX3BhZ2VzICs9IHNyYy0+dm1fbmV3X2Zyb3plbl9wYWdlczsKKwlkc3QtPnZtX25ld192 aXNpYmxlX3BhZ2VzICs9IHNyYy0+dm1fbmV3X3Zpc2libGVfcGFnZXM7CisJZHN0LT52bV9u ZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgKz0gc3JjLT52bV9uZXdfdmlzaWJsZV9mcm96ZW5f cGFnZXM7CisJZHN0LT50dXBsZXNfZGVsZXRlZCArPSBzcmMtPnR1cGxlc19kZWxldGVkOwor CWRzdC0+dHVwbGVzX2Zyb3plbiArPSBzcmMtPnR1cGxlc19mcm96ZW47CisJZHN0LT5yZWNl bnRseV9kZWFkX3R1cGxlcyArPSBzcmMtPnJlY2VudGx5X2RlYWRfdHVwbGVzOworCWRzdC0+ aW5kZXhfdmFjdXVtX2NvdW50ICs9IHNyYy0+aW5kZXhfdmFjdXVtX2NvdW50OworCWRzdC0+ d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCArPSBzcmMtPndyYXBhcm91bmRfZmFpbHNhZmVf Y291bnQ7CisJZHN0LT5taXNzZWRfZGVhZF9wYWdlcyArPSBzcmMtPm1pc3NlZF9kZWFkX3Bh Z2VzOworCWRzdC0+bWlzc2VkX2RlYWRfdHVwbGVzICs9IHNyYy0+bWlzc2VkX2RlYWRfdHVw bGVzOworCit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9h ZHQvcGdzdGF0ZnVuY3MuYwppbmRleCBjNzU2YzJiZWJhYS4uZWU0NjFlYTM3OGQgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0xMDYsNiArMTA2LDEyIEBAIFBH X1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0KHR1cGxlc191cGRhdGVkKQogLyogcGdfc3RhdF9n ZXRfdmFjdXVtX2NvdW50ICovCiBQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NCh2YWN1dW1f Y291bnQpCiAKKy8qIHBnX3N0YXRfZ2V0X3Jldl9mcm96ZW5fcGFnZXMgKi8KK1BHX1NUQVRf R0VUX1JFTEVOVFJZX0lOVDY0KHJldl9hbGxfZnJvemVuX3BhZ2VzKQorCisvKiBwZ19zdGF0 X2dldF9yZXZfYWxsX3Zpc2libGVfcGFnZXMgKi8KK1BHX1NUQVRfR0VUX1JFTEVOVFJZX0lO VDY0KHJldl9hbGxfdmlzaWJsZV9wYWdlcykKKwogI2RlZmluZSBQR19TVEFUX0dFVF9SRUxF TlRSWV9GTE9BVDgoc3RhdCkJCQkJCQlcCiBEYXR1bQkJCQkJCQkJCQkJCQkJCVwKIENwcENv bmNhdChwZ19zdGF0X2dldF8sc3RhdCkoUEdfRlVOQ1RJT05fQVJHUykJCQkJCVwKQEAgLTIy NjAsMyArMjI2NiwxNDQgQEAgcGdfc3RhdF9oYXZlX3N0YXRzKFBHX0ZVTkNUSU9OX0FSR1Mp CiAKIAlQR19SRVRVUk5fQk9PTChwZ3N0YXRfaGF2ZV9lbnRyeShraW5kLCBkYm9pZCwgb2Jq aWQpKTsKIH0KKworCisvKgorICogR2V0IHRoZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhl IGhlYXAgdGFibGVzLgorICovCitEYXR1bQorcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhQ R19GVU5DVElPTl9BUkdTKQoreworCSNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxF U19TVEFUU19DT0xTIDI2CisKKwlPaWQJCQkJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7 CisJUGdTdGF0X1N0YXRUYWJFbnRyeSAgICAgKnRhYmVudHJ5OworCUV4dFZhY1JlcG9ydCAJ CQkqZXh0dmFjdXVtOworCVR1cGxlRGVzYwkJCQkgdHVwZGVzYzsKKwlEYXR1bQkJCQkJIHZh bHVlc1tQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFNdID0gezB9OworCWJv b2wJCQkJCSBudWxsc1tQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFNdID0g ezB9OworCWNoYXIJCQkJCSBidWZbMjU2XTsKKwlpbnQJCQkJCQkgaSA9IDA7CisJRXh0VmFj UmVwb3J0IGFsbHplcm87CisKKwkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMgaW5mb3JtYXRp b24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KKwl0dXBkZXNjID0gQ3JlYXRlVGVtcGxh dGVUdXBsZURlc2MoUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19DT0xTKTsKKwor CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsaWQi LAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX3JlYWQiLAorCQkJCQkgICBJTlQ4 T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVy KSArK2ksICJ0b3RhbF9ibGtzX2hpdCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Js a3NfZGlydGllZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0 RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3Nfd3JpdHRlbiIs CisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgInJlbF9ibGtzX3JlYWQiLAorCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJyZWxfYmxrc19oaXQiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVE ZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdlc19zY2FubmVk IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAicGFnZXNfcmVtb3ZlZCIsCisJCQkJCSAgIElOVDhP SUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgInZtX25ld19mcm96ZW5fcGFnZXMiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7 CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ2bV9u ZXdfdmlzaWJsZV9wYWdlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURl c2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIm1pc3NlZF9kZWFkX3BhZ2Vz IiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAidHVwbGVzX2RlbGV0ZWQiLAorCQkJCQkgICBJTlQ4 T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVy KSArK2ksICJ0dXBsZXNfZnJvemVuIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVjZW50bHlf ZGVhZF90dXBsZXMiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJtaXNzZWRfZGVhZF90dXBsZXMi LAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSArK2ksICJ3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50IiwKKwkJ CQkJICAgSU5UNE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAiaW5kZXhfdmFjdXVtX2NvdW50IiwKKwkJCQkJICAgSU5UOE9J RCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikg KytpLCAid2FsX3JlY29yZHMiLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVE ZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxfZnBpIiwKKwkJ CQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAid2FsX2J5dGVzIiwKKwkJCQkJICAgTlVNRVJJQ09JRCwgLTEs IDApOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJibGtfcmVhZF90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisJVHVwbGVE ZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfd3JpdGVfdGlt ZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCisJVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJkZWxheV90aW1lIiwKKwkJCQkJICAgRkxP QVQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ0b3RhbF90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisK KwlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMpOwor CisJQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7CisKKwl0YWJlbnRyeSA9IHBnc3RhdF9mZXRj aF9zdGF0X3RhYmVudHJ5KHJlbGlkKTsKKworCWlmICh0YWJlbnRyeSA9PSBOVUxMKQorCXsK KwkJLyogSWYgdGhlIHN1YnNjcmlwdGlvbiBpcyBub3QgZm91bmQsIGluaXRpYWxpc2UgaXRz IHN0YXRzICovCisJCW1lbXNldCgmYWxsemVybywgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkp OworCQlleHR2YWN1dW0gPSAmYWxsemVybzsKKwl9CisJZWxzZQorCXsKKwkJZXh0dmFjdXVt ID0gJih0YWJlbnRyeS0+dmFjdXVtX2V4dCk7CisJfQorCisJaSA9IDA7CisKKwl2YWx1ZXNb aSsrXSA9IE9iamVjdElkR2V0RGF0dW0ocmVsaWQpOworCisJdmFsdWVzW2krK10gPSBJbnQ2 NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19yZWFkKTsKKwl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2hpdCk7CisJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19kaXJ0aWVkKTsKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX3dyaXR0 ZW4pOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Ymxrc19m ZXRjaGVkIC0KKwkJCQkJCQkJCWV4dHZhY3V1bS0+Ymxrc19oaXQpOworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmJsa3NfaGl0KTsKKworCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnBhZ2VzX3NjYW5uZWQpOworCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnBhZ2VzX3JlbW92ZWQpOworCXZhbHVl c1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnZtX25ld19mcm96ZW5fcGFnZXMp OworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnZtX25ld192aXNp YmxlX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT52 bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPm1pc3NlZF9kZWFkX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IElu dDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNfZGVsZXRlZCk7CisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dHVwbGVzX2Zyb3plbik7CisJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+cmVjZW50bHlfZGVhZF90dXBsZXMpOwor CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPm1pc3NlZF9kZWFkX3R1 cGxlcyk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+d3JhcGFy b3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+aW5kZXhfdmFjdXVtX2NvdW50KTsKKworCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPndhbF9yZWNvcmRzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfZnBpKTsKKworCS8qIENvbnZlcnQgdG8gbnVtZXJp YywgbGlrZSBwZ19zdGF0X3N0YXRlbWVudHMgKi8KKwlzbnByaW50ZihidWYsIHNpemVvZiBi dWYsIFVJTlQ2NF9GT1JNQVQsIGV4dHZhY3V1bS0+d2FsX2J5dGVzKTsKKwl2YWx1ZXNbaSsr XSA9IERpcmVjdEZ1bmN0aW9uQ2FsbDMobnVtZXJpY19pbiwKKwkJCQkJCQkJCSAgQ1N0cmlu Z0dldERhdHVtKGJ1ZiksCisJCQkJCQkJCQkgIE9iamVjdElkR2V0RGF0dW0oMCksCisJCQkJ CQkJCQkgIEludDMyR2V0RGF0dW0oLTEpKTsKKworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0 RGF0dW0oZXh0dmFjdXVtLT5ibGtfcmVhZF90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0 OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3dyaXRlX3RpbWUpOworCXZhbHVlc1tpKytdID0g RmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5kZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9 IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfdGltZSk7CisKKwlBc3NlcnQoaSA9 PSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRTX0NPTFMpOworCisJLyogUmV0dXJu cyB0aGUgcmVjb3JkIGFzIERhdHVtICovCisJUEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdl dERhdHVtKGhlYXBfZm9ybV90dXBsZSh0dXBkZXNjLCB2YWx1ZXMsIG51bGxzKSkpOworfQpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0 aWxzL2Vycm9yL2Vsb2cuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYwppbmRl eCBiN2I5NjkyZjhjOC4uZjBlY2Y4NmU1MTQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2Vycm9yL2Vsb2cuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMK QEAgLTE2MjcsNiArMTYyNywxOSBAQCBnZXRpbnRlcm5hbGVycnBvc2l0aW9uKHZvaWQpCiAJ cmV0dXJuIGVkYXRhLT5pbnRlcm5hbHBvczsKIH0KIAorLyoKKyAqIFJldHVybiBlbGV2ZWwg b2YgZXJyb3JzCisgKi8KK2ludAorZ2V0ZXJyZWxldmVsKHZvaWQpCit7CisJRXJyb3JEYXRh ICAqZWRhdGEgPSAmZXJyb3JkYXRhW2Vycm9yZGF0YV9zdGFja19kZXB0aF07CisKKwkvKiB3 ZSBkb24ndCBib3RoZXIgaW5jcmVtZW50aW5nIHJlY3Vyc2lvbl9kZXB0aCAqLworCUNIRUNL X1NUQUNLX0RFUFRIKCk7CisKKwlyZXR1cm4gZWRhdGEtPmVsZXZlbDsKK30KIAogLyoKICAq IEZ1bmN0aW9ucyB0byBhbGxvdyBjb25zdHJ1Y3Rpb24gb2YgZXJyb3IgbWVzc2FnZSBzdHJp bmdzIHNlcGFyYXRlbHkgZnJvbQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlz Yy9ndWNfcGFyYW1ldGVycy5kYXQgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJh bWV0ZXJzLmRhdAppbmRleCA2YmM2YmUxM2QyYS4uYTY3ODg3ZGVmZmQgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3BhcmFtZXRlcnMuZGF0CisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL21pc2MvZ3VjX3BhcmFtZXRlcnMuZGF0CkBAIC01MDYsOCArNTA2LDE0 IEBACiB9LAogCiB7IG5hbWUgPT4gJ3RyYWNrX3dhbF9pb190aW1pbmcnLCB0eXBlID0+ICdi b29sJywgY29udGV4dCA9PiAnUEdDX1NVU0VUJywgZ3JvdXAgPT4gJ1NUQVRTX0NVTVVMQVRJ VkUnLAorICBzaG9ydF9kZXNjID0+ICdDb2xsZWN0cyB2YWN1dW0gc3RhdGlzdGljcyBmb3Ig dmFjdXVtIGFjdGl2aXR5LicsCisgIHZhcmlhYmxlID0+ICdwZ3N0YXRfdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MnLAorICBib290X3ZhbCA9PiAnZmFsc2UnLAorfSwKKworeyBuYW1lID0+ ICd0cmFja192YWN1dW1fc3RhdGlzdGljcycsIHR5cGUgPT4gJ2Jvb2wnLCBjb250ZXh0ID0+ ICdQR0NfU1VTRVQnLCBncm91cCA9PiAnU1RBVFNfQ1VNVUxBVElWRScsCiAgIHNob3J0X2Rl c2MgPT4gJ0NvbGxlY3RzIHRpbWluZyBzdGF0aXN0aWNzIGZvciBXQUwgSS9PIGFjdGl2aXR5 LicsCi0gIHZhcmlhYmxlID0+ICd0cmFja193YWxfaW9fdGltaW5nJywKKyAgdmFyaWFibGUg PT4gJ3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzJywKICAgYm9vdF92YWwgPT4gJ2ZhbHNlJywK IH0sCiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5j b25mLnNhbXBsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNh bXBsZQppbmRleCBjMzZmY2I5YWI2MS4uYzFmOGQzZjBlZGYgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZQorKysgYi9zcmMvYmFj a2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKQEAgLTY2Miw2ICs2NjIs NyBAQAogI3RyYWNrX3dhbF9pb190aW1pbmcgPSBvZmYKICN0cmFja19mdW5jdGlvbnMgPSBu b25lCQkJIyBub25lLCBwbCwgYWxsCiAjc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBjYWNo ZQkjIGNhY2hlLCBub25lLCBzbmFwc2hvdAorI3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzID0g b2ZmCiAKIAogIyAtIE1vbml0b3JpbmcgLQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5k ZXggMDFlYmEzYjVhMTkuLjBmNDFmOWQwNjU4IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQKQEAgLTEyNTg4LDQgKzEyNTg4LDIyIEBACiAgIHByb2FyZ25hbWVzID0+ICd7cGlkLGlv X2lkLGlvX2dlbmVyYXRpb24sc3RhdGUsb3BlcmF0aW9uLG9mZixsZW5ndGgsdGFyZ2V0LGhh bmRsZV9kYXRhX2xlbixyYXdfcmVzdWx0LHJlc3VsdCx0YXJnZXRfZGVzYyxmX3N5bmMsZl9s b2NhbG1lbSxmX2J1ZmZlcmVkfScsCiAgIHByb3NyYyA9PiAncGdfZ2V0X2Fpb3MnIH0sCiAK K3sgb2lkID0+ICc4MDAxJywKKyAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJs ZXMgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVzIGZvciB0YWJsZScsCisgIHByb25hbWUg PT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMnLCBwcm9yb3dzID0+IDEwMDAsIHByb3Zv bGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJyxwcm9pc3N0cmljdCA9PiAn ZicsCisgIHByb3JldHNldCA9PiAndCcsCisgIHByb2FyZ3R5cGVzID0+ICdvaWQnLAorICBw cm9hbGxhcmd0eXBlcyA9PiAne29pZCxvaWQsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxp bnQ0LGludDgsaW50OCxpbnQ4LG51bWVyaWMsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4 fScsCisgIHByb2FyZ21vZGVzID0+ICd7aSxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQs cmVsaWQsdG90YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGll ZCx0b3RhbF9ibGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNf c2Nhbm5lZCxwYWdlc19yZW1vdmVkLHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2li bGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLG1pc3NlZF9kZWFkX3BhZ2Vz LHR1cGxlc19kZWxldGVkLHR1cGxlc19mcm96ZW4scmVjZW50bHlfZGVhZF90dXBsZXMsbWlz c2VkX2RlYWRfdHVwbGVzLHdyYXBhcm91bmRfZmFpbHNhZmUsaW5kZXhfdmFjdXVtX2NvdW50 LHdhbF9yZWNvcmRzLHdhbF9mcGksd2FsX2J5dGVzLGJsa19yZWFkX3RpbWUsYmxrX3dyaXRl X3RpbWUsZGVsYXlfdGltZSx0b3RhbF90aW1lfScsCisgIHByb3NyYyA9PiAncGdfc3RhdF9n ZXRfdmFjdXVtX3RhYmxlcycgfSwKKworICB7IG9pZCA9PiAnODAwMicsIGRlc2NyID0+ICdz dGF0aXN0aWNzOiBudW1iZXIgb2YgdGltZXMgdGhlIGFsbC12aXNpYmxlIHBhZ2VzIGluIHRo ZSB2aXNpYmlsaXR5IG1hcCB3YXMgcmVtb3ZlZCBmb3IgcGFnZXMgb2YgdGFibGUnLAorICBw cm9uYW1lID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX3Zpc2libGVfcGFnZXMnLCBwcm92b2xh dGlsZSA9PiAncycsCisgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50 OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3Jl dl9hbGxfdmlzaWJsZV9wYWdlcycgfSwKKyAgeyBvaWQgPT4gJzgwMDMnLCBkZXNjciA9PiAn c3RhdGlzdGljczogbnVtYmVyIG9mIHRpbWVzIHRoZSBhbGwtZnJvemVuIHBhZ2VzIGluIHRo ZSB2aXNpYmlsaXR5IG1hcCB3YXMgcmVtb3ZlZCBmb3IgcGFnZXMgb2YgdGFibGUnLAorICBw cm9uYW1lID0+ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycsIHByb3ZvbGF0 aWxlID0+ICdzJywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4 JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfcmV2 X2FsbF9mcm96ZW5fcGFnZXMnIH0sCiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21t YW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCmluZGV4IDE0 ZWVjY2JkNzE4Li40ZDA1ZTFhMGZhYyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFu ZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKQEAgLTMy Nyw2ICszMjcsNyBAQCBleHRlcm4gUEdETExJTVBPUlQgZG91YmxlIHZhY3V1bV9tYXhfZWFn ZXJfZnJlZXplX2ZhaWx1cmVfcmF0ZTsKIGV4dGVybiBQR0RMTElNUE9SVCBwZ19hdG9taWNf dWludDMyICpWYWN1dW1TaGFyZWRDb3N0QmFsYW5jZTsKIGV4dGVybiBQR0RMTElNUE9SVCBw Z19hdG9taWNfdWludDMyICpWYWN1dW1BY3RpdmVOV29ya2VyczsKIGV4dGVybiBQR0RMTElN UE9SVCBpbnQgVmFjdXVtQ29zdEJhbGFuY2VMb2NhbDsKK2V4dGVybiBQR0RMTElNUE9SVCBk b3VibGUgVmFjdXVtRGVsYXlUaW1lOwogCiBleHRlcm4gUEdETExJTVBPUlQgYm9vbCBWYWN1 dW1GYWlsc2FmZUFjdGl2ZTsKIGV4dGVybiBQR0RMTElNUE9SVCBkb3VibGUgdmFjdXVtX2Nv c3RfZGVsYXk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNs dWRlL3Bnc3RhdC5oCmluZGV4IGY0MDJiMTcyOTVjLi45ZTM3Yjk2ZGU5MiAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKQEAg LTExMSw2ICsxMTEsNTMgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0JhY2tlbmRTdWJFbnRy eQogCVBnU3RhdF9Db3VudGVyIGNvbmZsaWN0X2NvdW50W0NPTkZMSUNUX05VTV9UWVBFU107 CiB9IFBnU3RhdF9CYWNrZW5kU3ViRW50cnk7CiAKKy8qIC0tLS0tLS0tLS0KKyAqCisgKiBF eHRWYWNSZXBvcnQKKyAqCisgKiBBZGRpdGlvbmFsIHN0YXRpc3RpY3Mgb2YgdmFjdXVtIHBy b2Nlc3Npbmcgb3ZlciBhIGhlYXAgcmVsYXRpb24uCisgKiBwYWdlc19yZW1vdmVkIGlzIHRo ZSBhbW91bnQgYnkgd2hpY2ggdGhlIHBoeXNpY2FsbHkgc2hyYW5rLAorICogaWYgYW55IChp ZSB0aGUgY2hhbmdlIGluIGl0cyB0b3RhbCBzaXplIG9uIGRpc2spCisgKiBwYWdlc19kZWxl dGVkIHJlZmVyIHRvIGZyZWUgc3BhY2Ugd2l0aGluIHRoZSBpbmRleCBmaWxlCisgKiAtLS0t LS0tLS0tCisgKi8KK3R5cGVkZWYgc3RydWN0IEV4dFZhY1JlcG9ydAoreworCS8qIG51bWJl ciBvZiBibG9ja3MgbWlzc2VkLCBoaXQsIGRpcnRpZWQgYW5kIHdyaXR0ZW4gZHVyaW5nIGEg dmFjdXVtIG9mIHNwZWNpZmljIHJlbGF0aW9uICovCisJaW50NjQJCXRvdGFsX2Jsa3NfcmVh ZDsKKwlpbnQ2NAkJdG90YWxfYmxrc19oaXQ7CisJaW50NjQJCXRvdGFsX2Jsa3NfZGlydGll ZDsKKwlpbnQ2NAkJdG90YWxfYmxrc193cml0dGVuOworCisJLyogYmxvY2tzIG1pc3NlZCBh bmQgaGl0IGZvciBqdXN0IHRoZSBoZWFwIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVjaWZpYyBy ZWxhdGlvbiAqLworCWludDY0CQlibGtzX2ZldGNoZWQ7CisJaW50NjQJCWJsa3NfaGl0Owor CisJLyogVmFjdXVtIFdBTCB1c2FnZSBzdGF0cyAqLworCWludDY0CQl3YWxfcmVjb3JkczsJ Lyogd2FsIHVzYWdlOiBudW1iZXIgb2YgV0FMIHJlY29yZHMgKi8KKwlpbnQ2NAkJd2FsX2Zw aTsJCS8qIHdhbCB1c2FnZTogbnVtYmVyIG9mIFdBTCBmdWxsIHBhZ2UgaW1hZ2VzIHByb2R1 Y2VkICovCisJdWludDY0CQl3YWxfYnl0ZXM7CQkvKiB3YWwgdXNhZ2U6IHNpemUgb2YgV0FM IHJlY29yZHMgcHJvZHVjZWQgKi8KKworCS8qIFRpbWUgc3RhdHMuICovCisJZG91YmxlCQli bGtfcmVhZF90aW1lOwkvKiB0aW1lIHNwZW50IHJlYWRpbmcgcGFnZXMsIGluIG1zZWMgKi8K Kwlkb3VibGUJCWJsa193cml0ZV90aW1lOyAvKiB0aW1lIHNwZW50IHdyaXRpbmcgcGFnZXMs IGluIG1zZWMgKi8KKwlkb3VibGUJCWRlbGF5X3RpbWU7CQkvKiBob3cgbG9uZyB2YWN1dW0g c2xlcHQgaW4gdmFjdXVtIGRlbGF5IHBvaW50LCBpbiBtc2VjICovCisJZG91YmxlCQl0b3Rh bF90aW1lOwkJLyogdG90YWwgdGltZSBvZiBhIHZhY3V1bSBvcGVyYXRpb24sIGluIG1zZWMg Ki8KKworCWludDY0CQlwYWdlc19zY2FubmVkOwkJLyogaGVhcCBwYWdlcyBleGFtaW5lZCAo bm90IHNraXBwZWQgYnkgVk0pICovCisJaW50NjQJCXBhZ2VzX3JlbW92ZWQ7CQkvKiBoZWFw IHBhZ2VzIHJlbW92ZWQgYnkgdmFjdXVtICJ0cnVuY2F0aW9uIiAqLworCWludDY0CQl2bV9u ZXdfZnJvemVuX3BhZ2VzOwkJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGZyb3plbiAqLwor CWludDY0CQl2bV9uZXdfdmlzaWJsZV9wYWdlczsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFz IGFsbC12aXNpYmxlICovCisJaW50NjQJCXZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsJ LyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlIGFuZCBmcm96ZW4gKi8KKwlp bnQ2NAkJbWlzc2VkX2RlYWRfdHVwbGVzOwkJLyogdHVwbGVzIG5vdCBwcnVuZWQgYnkgdmFj dXVtIGR1ZSB0byBmYWlsdXJlIHRvIGdldCBhIGNsZWFudXAgbG9jayAqLworCWludDY0CQlt aXNzZWRfZGVhZF9wYWdlczsJCS8qIHBhZ2VzIHdpdGggbWlzc2VkIGRlYWQgdHVwbGVzICov CisJaW50NjQJCXR1cGxlc19kZWxldGVkOwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkgdmFjdXVt ICovCisJaW50NjQJCXR1cGxlc19mcm96ZW47CQkvKiB0dXBsZXMgZnJvemVuIHVwIGJ5IHZh Y3V1bSAqLworCWludDY0CQlyZWNlbnRseV9kZWFkX3R1cGxlczsJLyogZGVsZXRlZCB0dXBs ZXMgdGhhdCBhcmUgc3RpbGwgdmlzaWJsZSB0byBzb21lIHRyYW5zYWN0aW9uICovCisJaW50 NjQJCWluZGV4X3ZhY3V1bV9jb3VudDsJLyogdGhlIG51bWJlciBvZiBpbmRleCB2YWN1dW1p bmdzICovCisJaW50MzIJCXdyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CS8qIG51bWJlciBv ZiBlbWVyZ2VuY3kgdmFjdXVtcyB0byBwcmV2ZW50IGFudGktd3JhcGFyb3VuZCBzaHV0ZG93 biAqLworfSBFeHRWYWNSZXBvcnQ7CisKIC8qIC0tLS0tLS0tLS0KICAqIFBnU3RhdF9UYWJs ZUNvdW50cwkJCVRoZSBhY3R1YWwgcGVyLXRhYmxlIGNvdW50cyBrZXB0IGJ5IGEgYmFja2Vu ZAogICoKQEAgLTE1Myw2ICsyMDAsMTYgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1RhYmxl Q291bnRzCiAKIAlQZ1N0YXRfQ291bnRlciBibG9ja3NfZmV0Y2hlZDsKIAlQZ1N0YXRfQ291 bnRlciBibG9ja3NfaGl0OworCisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF92aXNpYmxlX3Bh Z2VzOworCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfZnJvemVuX3BhZ2VzOworCisJLyoKKwkg KiBBZGRpdGlvbmFsIGN1bXVsYXRpdmUgc3RhdCBvbiB2YWN1dW0gb3BlcmF0aW9ucy4KKwkg KiBVc2UgYW4gZXhwZW5zaXZlIHN0cnVjdHVyZSBhcyBhbiBhYnN0cmFjdGlvbiBmb3IgZGlm ZmVyZW50IHR5cGVzIG9mCisJICogcmVsYXRpb25zLgorCSAqLworCUV4dFZhY1JlcG9ydAl2 YWN1dW1fZXh0OwogfSBQZ1N0YXRfVGFibGVDb3VudHM7CiAKIC8qIC0tLS0tLS0tLS0KQEAg LTIxMSw3ICsyNjgsNyBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVYYWN0U3RhdHVz CiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KICAqLwogCi0jZGVmaW5lIFBHU1RBVF9GSUxFX0ZPUk1BVF9JRAkweDAx QTVCQ0I3CisjZGVmaW5lIFBHU1RBVF9GSUxFX0ZPUk1BVF9JRAkweDAxQTVCQ0I4CiAKIHR5 cGVkZWYgc3RydWN0IFBnU3RhdF9BcmNoaXZlclN0YXRzCiB7CkBAIC0zNzUsNiArNDMyLDgg QEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXREQkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIg cGFyYWxsZWxfd29ya2Vyc19sYXVuY2hlZDsKIAogCVRpbWVzdGFtcFR6IHN0YXRfcmVzZXRf dGltZXN0YW1wOworCisJRXh0VmFjUmVwb3J0IHZhY3V1bV9leHQ7CQkvKiBleHRlbmRlZCB2 YWN1dW0gc3RhdGlzdGljcyAqLwogfSBQZ1N0YXRfU3RhdERCRW50cnk7CiAKIHR5cGVkZWYg c3RydWN0IFBnU3RhdF9TdGF0RnVuY0VudHJ5CkBAIC00NTMsNiArNTEyLDExIEBAIHR5cGVk ZWYgc3RydWN0IFBnU3RhdF9TdGF0VGFiRW50cnkKIAlQZ1N0YXRfQ291bnRlciB0b3RhbF9h dXRvdmFjdXVtX3RpbWU7CiAJUGdTdGF0X0NvdW50ZXIgdG90YWxfYW5hbHl6ZV90aW1lOwog CVBnU3RhdF9Db3VudGVyIHRvdGFsX2F1dG9hbmFseXplX3RpbWU7CisKKwlQZ1N0YXRfQ291 bnRlciByZXZfYWxsX3Zpc2libGVfcGFnZXM7CisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF9m cm96ZW5fcGFnZXM7CisKKwlFeHRWYWNSZXBvcnQgdmFjdXVtX2V4dDsKIH0gUGdTdGF0X1N0 YXRUYWJFbnRyeTsKIAogLyogLS0tLS0tCkBAIC02NjAsNyArNzI0LDcgQEAgZXh0ZXJuIHZv aWQgcGdzdGF0X3VubGlua19yZWxhdGlvbihSZWxhdGlvbiByZWwpOwogCiBleHRlcm4gdm9p ZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCQkJ CQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1 cGxlcywKLQkJCQkJCQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSk7CisJCQkJCQkJCSBUaW1l c3RhbXBUeiBzdGFydHRpbWUsIEV4dFZhY1JlcG9ydCAqcGFyYW1zKTsKIGV4dGVybiB2b2lk IHBnc3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiByZWwsCiAJCQkJCQkJCSAgUGdTdGF0 X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKIAkJCQkJ CQkJICBib29sIHJlc2V0Y291bnRlciwgVGltZXN0YW1wVHogc3RhcnR0aW1lKTsKQEAgLTcx MSw2ICs3NzUsMTcgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9hbmFseXplKFJlbGF0 aW9uIHJlbCwKIAkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJ CQlcCiAJCQkocmVsKS0+cGdzdGF0X2luZm8tPmNvdW50cy5ibG9ja3NfaGl0Kys7CQkJCVwK IAl9IHdoaWxlICgwKQorLyogYWNjdW11bGF0ZSB1bmZyb3plbiBhbGwtdmlzaWJsZSBhbmQg YWxsLWZyb3plbiBwYWdlcyAqLworI2RlZmluZSBwZ3N0YXRfY291bnRfdm1fcmV2X2FsbF92 aXNpYmxlKHJlbCkJCQkJCQlcCisJZG8gewkJCQkJCQkJCQkJCQkJCVwKKwkJaWYgKHBnc3Rh dF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCisJCQkocmVsKS0+cGdzdGF0 X2luZm8tPmNvdW50cy5yZXZfYWxsX3Zpc2libGVfcGFnZXMrKzsJXAorCX0gd2hpbGUgKDAp CisjZGVmaW5lIHBnc3RhdF9jb3VudF92bV9yZXZfYWxsX2Zyb3plbihyZWwpCQkJCQkJXAor CWRvIHsJCQkJCQkJCQkJCQkJCQlcCisJCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0 aW9uKHJlbCkpCQkJCQkJXAorCQkJKHJlbCktPnBnc3RhdF9pbmZvLT5jb3VudHMucmV2X2Fs bF9mcm96ZW5fcGFnZXMrKzsJXAorCX0gd2hpbGUgKDApCiAKIGV4dGVybiB2b2lkIHBnc3Rh dF9jb3VudF9oZWFwX2luc2VydChSZWxhdGlvbiByZWwsIFBnU3RhdF9Db3VudGVyIG4pOwog ZXh0ZXJuIHZvaWQgcGdzdGF0X2NvdW50X2hlYXBfdXBkYXRlKFJlbGF0aW9uIHJlbCwgYm9v bCBob3QsIGJvb2wgbmV3cGFnZSk7CkBAIC03OTksNiArODc0LDcgQEAgZXh0ZXJuIFBnU3Rh dF9XYWxTdGF0cyAqcGdzdGF0X2ZldGNoX3N0YXRfd2FsKHZvaWQpOwogZXh0ZXJuIFBHRExM SU1QT1JUIGJvb2wgcGdzdGF0X3RyYWNrX2NvdW50czsKIGV4dGVybiBQR0RMTElNUE9SVCBp bnQgcGdzdGF0X3RyYWNrX2Z1bmN0aW9uczsKIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgcGdz dGF0X2ZldGNoX2NvbnNpc3RlbmN5OworZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgcGdzdGF0 X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwogCiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS91dGlscy9lbG9nLmggYi9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmgKaW5kZXggNjc1 ZjRmNWY0NjkuLjM1NmRhZGQ2YjBhIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9l bG9nLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oCkBAIC0yMzAsNiArMjMwLDcg QEAgZXh0ZXJuIGludAlnZXRlcnJjb2RlKHZvaWQpOwogZXh0ZXJuIGludAlnZXRlcnJwb3Np dGlvbih2b2lkKTsKIGV4dGVybiBpbnQJZ2V0aW50ZXJuYWxlcnJwb3NpdGlvbih2b2lkKTsK IAorZXh0ZXJuIGludAlnZXRlcnJlbGV2ZWwodm9pZCk7CiAKIC8qLS0tLS0tLS0tLQogICog T2xkLXN0eWxlIGVycm9yIHJlcG9ydGluZyBBUEk6IHRvIGJlIHVzZWQgaW4gdGhpcyB3YXk6 CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvdmFjdXVtLWV4dGVu ZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0 ZWQvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjg3ZjdlNDBiNGE2Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4t cmVwZXRhYmxlLXJlYWQub3V0CkBAIC0wLDAgKzEsNTMgQEAKK3VudXNlZCBzdGVwIG5hbWU6 IHMyX2RlbGV0ZQorUGFyc2VkIHRlc3Qgc3BlYyB3aXRoIDIgc2Vzc2lvbnMKKworc3RhcnRp bmcgcGVybXV0YXRpb246IHMyX2luc2VydCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUg czFfYmVnaW5fcmVwZWF0YWJsZV9yZWFkIHMyX3VwZGF0ZSBzMl9pbnNlcnRfaW50ZXJydXB0 IHMyX3ZhY3V1bSBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGUgczFfY29tbWl0IHMyX2No ZWNrcG9pbnQgczJfdmFjdXVtIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQorc3RlcCBz Ml9pbnNlcnQ6IElOU0VSVCBJTlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uKGlkLCBp dmFsKSBTRUxFQ1QgaXZhbCwgaXZhbCUxMCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDEwMDAp IEFzIGl2YWw7CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZTogCisgICAgU0VM RUNUCisgICAgdnQucmVsbmFtZSwgdnQudHVwbGVzX2RlbGV0ZWQsIHZ0LnJlY2VudGx5X2Rl YWRfdHVwbGVzLCB2dC5taXNzZWRfZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3BhZ2Vz LCB2dC50dXBsZXNfZnJvemVuCisgICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQs IHBnX2NsYXNzIGMKKyAgICBXSEVSRSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRf aXNvbGF0aW9uJyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKworcmVsbmFtZSAgICAgICAgICAg ICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8cmVjZW50bHlfZGVhZF90dXBsZXN8bWlzc2VkX2Rl YWRfdHVwbGVzfG1pc3NlZF9kZWFkX3BhZ2VzfHR1cGxlc19mcm96ZW4KKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCit0ZXN0 X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAg ICAgMHwgICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAg MAorKDEgcm93KQorCitzdGVwIHMxX2JlZ2luX3JlcGVhdGFibGVfcmVhZDogCisgIEJFR0lO IHRyYW5zYWN0aW9uIElTT0xBVElPTiBMRVZFTCBSRVBFQVRBQkxFIFJFQUQ7CisgIHNlbGVj dCBjb3VudChpdmFsKSBmcm9tIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlk PjkwMDsKKworY291bnQKKy0tLS0tCisgIDEwMAorKDEgcm93KQorCitzdGVwIHMyX3VwZGF0 ZTogVVBEQVRFIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIFNFVCBpdmFsID0gaXZhbCAr IDIgd2hlcmUgaWQgPiA5MDA7CitzdGVwIHMyX2luc2VydF9pbnRlcnJ1cHQ6IElOU0VSVCBJ TlRPIHRlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uIHZhbHVlcyAoMSwxKTsKK3N0ZXAgczJf dmFjdXVtOiBWQUNVVU0gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb247CitzdGVwIHMyX3By aW50X3ZhY3V1bV9zdGF0c190YWJsZTogCisgICAgU0VMRUNUCisgICAgdnQucmVsbmFtZSwg dnQudHVwbGVzX2RlbGV0ZWQsIHZ0LnJlY2VudGx5X2RlYWRfdHVwbGVzLCB2dC5taXNzZWRf ZGVhZF90dXBsZXMsIHZ0Lm1pc3NlZF9kZWFkX3BhZ2VzLCB2dC50dXBsZXNfZnJvemVuCisg ICAgRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKKyAgICBXSEVS RSB2dC5yZWxuYW1lID0gJ3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9uJyBBTkQgdnQucmVs aWQgPSBjLm9pZDsKKworcmVsbmFtZSAgICAgICAgICAgICAgICAgICB8dHVwbGVzX2RlbGV0 ZWR8cmVjZW50bHlfZGVhZF90dXBsZXN8bWlzc2VkX2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFk X3BhZ2VzfHR1cGxlc19mcm96ZW4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCit0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlv bnwgICAgICAgICAgICAgMHwgICAgICAgICAgICAgICAgIDEwMHwgICAgICAgICAgICAgICAg IDB8ICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgMAorKDEgcm93KQorCitzdGVwIHMx X2NvbW1pdDogQ09NTUlUOworc3RlcCBzMl9jaGVja3BvaW50OiBDSEVDS1BPSU5UOworc3Rl cCBzMl92YWN1dW06IFZBQ1VVTSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbjsKK3N0ZXAg czJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlOiAKKyAgICBTRUxFQ1QKKyAgICB2dC5yZWxu YW1lLCB2dC50dXBsZXNfZGVsZXRlZCwgdnQucmVjZW50bHlfZGVhZF90dXBsZXMsIHZ0Lm1p c3NlZF9kZWFkX3R1cGxlcywgdnQubWlzc2VkX2RlYWRfcGFnZXMsIHZ0LnR1cGxlc19mcm96 ZW4KKyAgICBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworICAg IFdIRVJFIHZ0LnJlbG5hbWUgPSAndGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24nIEFORCB2 dC5yZWxpZCA9IGMub2lkOworCityZWxuYW1lICAgICAgICAgICAgICAgICAgIHx0dXBsZXNf ZGVsZXRlZHxyZWNlbnRseV9kZWFkX3R1cGxlc3xtaXNzZWRfZGVhZF90dXBsZXN8bWlzc2Vk X2RlYWRfcGFnZXN8dHVwbGVzX2Zyb3plbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KK3Rlc3RfdmFjdXVtX3N0YXRfaXNv bGF0aW9ufCAgICAgICAgICAgMTAwfCAgICAgICAgICAgICAgICAgMTAwfCAgICAgICAgICAg ICAgICAgMHwgICAgICAgICAgICAgICAgMHwgICAgICAgICAgMTAxCisoMSByb3cpCisKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9pc29sYXRpb25fc2NoZWR1bGUgYi9zcmMv dGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCmluZGV4IDVhZmFlMzNkMzcwLi42 NDU5MDliMTk2OSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9z Y2hlZHVsZQorKysgYi9zcmMvdGVzdC9pc29sYXRpb24vaXNvbGF0aW9uX3NjaGVkdWxlCkBA IC05OSw2ICs5OSw3IEBAIHRlc3Q6IHRpbWVvdXRzCiB0ZXN0OiB2YWN1dW0tY29uY3VycmVu dC1kcm9wCiB0ZXN0OiB2YWN1dW0tY29uZmxpY3QKIHRlc3Q6IHZhY3V1bS1za2lwLWxvY2tl ZAordGVzdDogdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZAogdGVzdDogc3Rh dHMKIHRlc3Q6IGhvcml6b25zCiB0ZXN0OiBwcmVkaWNhdGUtaGFzaApkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxl LXJlYWQuc3BlYyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5n LWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjU4OTNkODk1NzNkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvaXNv bGF0aW9uL3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYwpA QCAtMCwwICsxLDUzIEBACisjIFRlc3QgZm9yIGNoZWNraW5nIHJlY2VudGx5X2RlYWRfdHVw bGVzLCB0dXBsZXNfZGVsZXRlZCBhbmQgZnJvemVuIHR1cGxlcyBpbiBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMuCisjIHJlY2VudGx5X2RlYWRfdHVwbGVzIHZhbHVlcyBhcmUgY291bnRlZCB3 aGVuIHZhY3V1bSBoYXNuJ3QgY2xlYXJlZCB0dXBsZXMgYmVjYXVzZSB0aGV5IHdlcmUgZGVs ZXRlZCByZWNlbnRseS4KKyMgcmVjZW50bHlfZGVhZF90dXBsZXMgYXJlbid0IGluY3JlYXNl ZCBhZnRlciByZWxlYXNpbmcgbG9jayBjb21wYXJlZCB3aXRoIHR1cGxlc19kZWxldGVkLCB3 aGljaCBpbmNyZWFzZWQKKyMgYnkgdGhlIHZhbHVlIG9mIHRoZSBjbGVhcmVkIHR1cGxlcyB0 aGF0IHRoZSB2YWN1dW0gbWFuYWdlZCB0byBjbGVhci4KKworc2V0dXAKK3sKKyAgICBDUkVB VEUgVEFCTEUgdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24oaWQgaW50LCBpdmFsIGludCkg V0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmKTsKKyAgICBTRVQgdHJhY2tfaW9fdGlt aW5nID0gb247CisgICAgU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvbic7Cit9 CisKK3RlYXJkb3duCit7CisgICAgRFJPUCBUQUJMRSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xh dGlvbiBDQVNDQURFOworICAgIFJFU0VUIHRyYWNrX2lvX3RpbWluZzsKKyAgICBSRVNFVCB0 cmFja192YWN1dW1fc3RhdGlzdGljczsKK30KKworc2Vzc2lvbiBzMQorc3RlcCBzMV9iZWdp bl9yZXBlYXRhYmxlX3JlYWQgICB7CisgIEJFR0lOIHRyYW5zYWN0aW9uIElTT0xBVElPTiBM RVZFTCBSRVBFQVRBQkxFIFJFQUQ7CisgIHNlbGVjdCBjb3VudChpdmFsKSBmcm9tIHRlc3Rf dmFjdXVtX3N0YXRfaXNvbGF0aW9uIHdoZXJlIGlkPjkwMDsKKyAgfQorc3RlcCBzMV9jb21t aXQgICAgICAgICAgICAgICAgICB7IENPTU1JVDsgfQorCitzZXNzaW9uIHMyCitzdGVwIHMy X2luc2VydCAgICAgICAgICAgICAgICAgIHsgSU5TRVJUIElOVE8gdGVzdF92YWN1dW1fc3Rh dF9pc29sYXRpb24oaWQsIGl2YWwpIFNFTEVDVCBpdmFsLCBpdmFsJTEwIEZST00gZ2VuZXJh dGVfc2VyaWVzKDEsMTAwMCkgQXMgaXZhbDsgfQorc3RlcCBzMl91cGRhdGUgICAgICAgICAg ICAgICAgICB7IFVQREFURSB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiBTRVQgaXZhbCA9 IGl2YWwgKyAyIHdoZXJlIGlkID4gOTAwOyB9CitzdGVwIHMyX2RlbGV0ZSAgICAgICAgICAg ICAgICAgIHsgREVMRVRFIEZST00gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24gd2hlcmUg aWQgPiA5MDA7IH0KK3N0ZXAgczJfaW5zZXJ0X2ludGVycnVwdCAgICAgICAgeyBJTlNFUlQg SU5UTyB0ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbiB2YWx1ZXMgKDEsMSk7IH0KK3N0ZXAg czJfdmFjdXVtICAgICAgICAgICAgICAgICAgeyBWQUNVVU0gdGVzdF92YWN1dW1fc3RhdF9p c29sYXRpb247IH0KK3N0ZXAgczJfY2hlY2twb2ludCAgICAgICAgICAgICAgeyBDSEVDS1BP SU5UOyB9CitzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQoreworICAgIFNFTEVD VAorICAgIHZ0LnJlbG5hbWUsIHZ0LnR1cGxlc19kZWxldGVkLCB2dC5yZWNlbnRseV9kZWFk X3R1cGxlcywgdnQubWlzc2VkX2RlYWRfdHVwbGVzLCB2dC5taXNzZWRfZGVhZF9wYWdlcywg dnQudHVwbGVzX2Zyb3plbgorICAgIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBw Z19jbGFzcyBjCisgICAgV0hFUkUgdnQucmVsbmFtZSA9ICd0ZXN0X3ZhY3V1bV9zdGF0X2lz b2xhdGlvbicgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7Cit9CisKK3Blcm11dGF0aW9uCisgICAg czJfaW5zZXJ0CisgICAgczJfcHJpbnRfdmFjdXVtX3N0YXRzX3RhYmxlCisgICAgczFfYmVn aW5fcmVwZWF0YWJsZV9yZWFkCisgICAgczJfdXBkYXRlCisgICAgczJfaW5zZXJ0X2ludGVy cnVwdAorICAgIHMyX3ZhY3V1bQorICAgIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZQor ICAgIHMxX2NvbW1pdAorICAgIHMyX2NoZWNrcG9pbnQKKyAgICBzMl92YWN1dW0KKyAgICBz Ml9wcmludF92YWN1dW1fc3RhdHNfdGFibGUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IDM1ZThhYWQ3NzAxLi4z NDllN2RlYmEwMSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxl cy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTE4 MzMsNyArMTgzMyw5IEBAIHBnX3N0YXRfYWxsX3RhYmxlc3wgU0VMRUNUIGMub2lkIEFTIHJl bGlkLAogICAgIHBnX3N0YXRfZ2V0X3RvdGFsX3ZhY3V1bV90aW1lKGMub2lkKSBBUyB0b3Rh bF92YWN1dW1fdGltZSwKICAgICBwZ19zdGF0X2dldF90b3RhbF9hdXRvdmFjdXVtX3RpbWUo Yy5vaWQpIEFTIHRvdGFsX2F1dG92YWN1dW1fdGltZSwKICAgICBwZ19zdGF0X2dldF90b3Rh bF9hbmFseXplX3RpbWUoYy5vaWQpIEFTIHRvdGFsX2FuYWx5emVfdGltZSwKLSAgICBwZ19z dGF0X2dldF90b3RhbF9hdXRvYW5hbHl6ZV90aW1lKGMub2lkKSBBUyB0b3RhbF9hdXRvYW5h bHl6ZV90aW1lCisgICAgcGdfc3RhdF9nZXRfdG90YWxfYXV0b2FuYWx5emVfdGltZShjLm9p ZCkgQVMgdG90YWxfYXV0b2FuYWx5emVfdGltZSwKKyAgICBwZ19zdGF0X2dldF9yZXZfYWxs X2Zyb3plbl9wYWdlcyhjLm9pZCkgQVMgcmV2X2FsbF9mcm96ZW5fcGFnZXMsCisgICAgcGdf c3RhdF9nZXRfcmV2X2FsbF92aXNpYmxlX3BhZ2VzKGMub2lkKSBBUyByZXZfYWxsX3Zpc2li bGVfcGFnZXMKICAgIEZST00gKChwZ19jbGFzcyBjCiAgICAgIExFRlQgSk9JTiBwZ19pbmRl eCBpIE9OICgoYy5vaWQgPSBpLmluZHJlbGlkKSkpCiAgICAgIExFRlQgSk9JTiBwZ19uYW1l c3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSkKQEAgLTIyMzIsNyArMjIz NCw5IEBAIHBnX3N0YXRfc3lzX3RhYmxlc3wgU0VMRUNUIHJlbGlkLAogICAgIHRvdGFsX3Zh Y3V1bV90aW1lLAogICAgIHRvdGFsX2F1dG92YWN1dW1fdGltZSwKICAgICB0b3RhbF9hbmFs eXplX3RpbWUsCi0gICAgdG90YWxfYXV0b2FuYWx5emVfdGltZQorICAgIHRvdGFsX2F1dG9h bmFseXplX3RpbWUsCisgICAgcmV2X2FsbF9mcm96ZW5fcGFnZXMsCisgICAgcmV2X2FsbF92 aXNpYmxlX3BhZ2VzCiAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNj aGVtYW5hbWUgPSBBTlkgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9u X3NjaGVtYSc6Om5hbWVdKSkgT1IgKHNjaGVtYW5hbWUgfiAnXnBnX3RvYXN0Jzo6dGV4dCkp OwogcGdfc3RhdF91c2VyX2Z1bmN0aW9uc3wgU0VMRUNUIHAub2lkIEFTIGZ1bmNpZCwKQEAg LTIyODQsOSArMjI4OCw0MyBAQCBwZ19zdGF0X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQs CiAgICAgdG90YWxfdmFjdXVtX3RpbWUsCiAgICAgdG90YWxfYXV0b3ZhY3V1bV90aW1lLAog ICAgIHRvdGFsX2FuYWx5emVfdGltZSwKLSAgICB0b3RhbF9hdXRvYW5hbHl6ZV90aW1lCisg ICAgdG90YWxfYXV0b2FuYWx5emVfdGltZSwKKyAgICByZXZfYWxsX2Zyb3plbl9wYWdlcywK KyAgICByZXZfYWxsX3Zpc2libGVfcGFnZXMKICAgIEZST00gcGdfc3RhdF9hbGxfdGFibGVz CiAgIFdIRVJFICgoc2NoZW1hbmFtZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFt ZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6Om5hbWVdKSkgQU5EIChzY2hlbWFuYW1lICF+ICde cGdfdG9hc3QnOjp0ZXh0KSk7CitwZ19zdGF0X3ZhY3V1bV90YWJsZXN8IFNFTEVDVCBucy5u c3BuYW1lIEFTIHNjaGVtYW5hbWUsCisgICAgcmVsLnJlbG5hbWUsCisgICAgc3RhdHMucmVs aWQsCisgICAgc3RhdHMudG90YWxfYmxrc19yZWFkLAorICAgIHN0YXRzLnRvdGFsX2Jsa3Nf aGl0LAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICBzdGF0cy50b3RhbF9i bGtzX3dyaXR0ZW4sCisgICAgc3RhdHMucmVsX2Jsa3NfcmVhZCwKKyAgICBzdGF0cy5yZWxf Ymxrc19oaXQsCisgICAgc3RhdHMucGFnZXNfc2Nhbm5lZCwKKyAgICBzdGF0cy5wYWdlc19y ZW1vdmVkLAorICAgIHN0YXRzLnZtX25ld19mcm96ZW5fcGFnZXMsCisgICAgc3RhdHMudm1f bmV3X3Zpc2libGVfcGFnZXMsCisgICAgc3RhdHMudm1fbmV3X3Zpc2libGVfZnJvemVuX3Bh Z2VzLAorICAgIHN0YXRzLm1pc3NlZF9kZWFkX3BhZ2VzLAorICAgIHN0YXRzLnR1cGxlc19k ZWxldGVkLAorICAgIHN0YXRzLnR1cGxlc19mcm96ZW4sCisgICAgc3RhdHMucmVjZW50bHlf ZGVhZF90dXBsZXMsCisgICAgc3RhdHMubWlzc2VkX2RlYWRfdHVwbGVzLAorICAgIHN0YXRz LndyYXBhcm91bmRfZmFpbHNhZmUsCisgICAgc3RhdHMuaW5kZXhfdmFjdXVtX2NvdW50LAor ICAgIHN0YXRzLndhbF9yZWNvcmRzLAorICAgIHN0YXRzLndhbF9mcGksCisgICAgc3RhdHMu d2FsX2J5dGVzLAorICAgIHN0YXRzLmJsa19yZWFkX3RpbWUsCisgICAgc3RhdHMuYmxrX3dy aXRlX3RpbWUsCisgICAgc3RhdHMuZGVsYXlfdGltZSwKKyAgICBzdGF0cy50b3RhbF90aW1l CisgICBGUk9NIChwZ19jbGFzcyByZWwKKyAgICAgSk9JTiBwZ19uYW1lc3BhY2UgbnMgT04g KChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlKSkpLAorICAgIExBVEVSQUwgcGdfc3RhdF9n ZXRfdmFjdXVtX3RhYmxlcyhyZWwub2lkKSBzdGF0cyhyZWxpZCwgdG90YWxfYmxrc19yZWFk LCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0 ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfc2Nhbm5lZCwgcGFnZXNf cmVtb3ZlZCwgdm1fbmV3X2Zyb3plbl9wYWdlcywgdm1fbmV3X3Zpc2libGVfcGFnZXMsIHZt X25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywgbWlzc2VkX2RlYWRfcGFnZXMsIHR1cGxlc19k ZWxldGVkLCB0dXBsZXNfZnJvemVuLCByZWNlbnRseV9kZWFkX3R1cGxlcywgbWlzc2VkX2Rl YWRfdHVwbGVzLCB3cmFwYXJvdW5kX2ZhaWxzYWZlLCBpbmRleF92YWN1dW1fY291bnQsIHdh bF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0 ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQorICBXSEVSRSAocmVsLnJlbGtpbmQg PSAncic6OiJjaGFyIik7CiBwZ19zdGF0X3dhbHwgU0VMRUNUIHdhbF9yZWNvcmRzLAogICAg IHdhbF9mcGksCiAgICAgd2FsX2J5dGVzLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0IGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0Cm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iNWVhOWM5YWIxZQotLS0gL2Rldi9udWxs CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX3RhYmxlc19zdGF0aXN0 aWNzLm91dApAQCAtMCwwICsxLDIyNyBAQAorLS0KKy0tIFRlc3QgY3VtdWxhdGl2ZSB2YWN1 dW0gc3RhdHMgc3lzdGVtCistLQorLS0gQ2hlY2sgdGhlIHdhbGwgc3RhdGlzdGljcyBjb2xs ZWN0ZWQgZHVyaW5nIHZhY3V1bSBvcGVyYXRpb246CistLSBudW1iZXIgb2YgZnJvemVuIGFu ZCB2aXNpYmxlIHBhZ2VzIHNldCBieSB2YWN1dW07CistLSBudW1iZXIgb2YgZnJvemVuIGFu ZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFja2VuZC4KKy0tIFN0YXRpc3RpYyB3YWxf ZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0ZXN0IGJlY2F1c2UgaXRzIGJlaGF2aW9y IGlzIHVuc3RhYmxlLgorLS0KKy0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgorU0hPVyB0cmFj a19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCisgdHJhY2tfY291bnRzIAorLS0tLS0tLS0tLS0t LS0KKyBvbgorKDEgcm93KQorCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCistLSBub3QgZW5h YmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tf ZnVuY3Rpb25zIFRPICdhbGwnOworLS0gVGVzdCB0aGF0IHZhY3V1bSBzdGF0aXN0aWNzIHdp bGwgYmUgZW1wdHkgd2hlbiBwYXJhbWV0ZXIgaXMgb2ZmLgorU0VUIHRyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzIFRPICdvZmYnOworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEgg KGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJ TlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6 ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHgg JSAyID0gMDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkg dmVzdGF0OworLS0gTXVzdCBiZSBlbXB0eS4KK1NFTEVDVCByZWxuYW1lLHRvdGFsX2Jsa3Nf cmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGllZCwgdG90YWxfYmxrc193 cml0dGVuLHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwKK3BhZ2VzX3NjYW5uZWQsIHBh Z2VzX3JlbW92ZWQsIHZtX25ld19mcm96ZW5fcGFnZXMsIHZtX25ld192aXNpYmxlX3BhZ2Vz LCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIG1pc3NlZF9kZWFkX3BhZ2VzLAordHVw bGVzX2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4sIHJlY2VudGx5X2RlYWRfdHVwbGVzLCBtaXNz ZWRfZGVhZF90dXBsZXMsIGluZGV4X3ZhY3V1bV9jb3VudCwKK3dhbF9yZWNvcmRzLCB3YWxf ZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLGRlbGF5X3Rp bWUsIHRvdGFsX3RpbWUKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0CitXSEVSRSB2 dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CisgcmVsbmFtZSB8IHRvdGFsX2Jsa3NfcmVhZCB8IHRv dGFsX2Jsa3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVkIHwgdG90YWxfYmxrc193cml0dGVu IHwgcmVsX2Jsa3NfcmVhZCB8IHJlbF9ibGtzX2hpdCB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdl c19yZW1vdmVkIHwgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHZtX25ld192aXNpYmxlX3BhZ2Vz IHwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIHwgbWlzc2VkX2RlYWRfcGFnZXMgfCB0 dXBsZXNfZGVsZXRlZCB8IHR1cGxlc19mcm96ZW4gfCByZWNlbnRseV9kZWFkX3R1cGxlcyB8 IG1pc3NlZF9kZWFkX3R1cGxlcyB8IGluZGV4X3ZhY3V1bV9jb3VudCB8IHdhbF9yZWNvcmRz IHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyB8IGJsa19yZWFkX3RpbWUgfCBibGtfd3JpdGVfdGlt ZSB8IGRlbGF5X3RpbWUgfCB0b3RhbF90aW1lIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyB2ZXN0YXQgIHwgICAgICAg ICAgICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgIDAgfCAgICAg ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAwIHwgICAgICAgICAgICAwIHwgICAgICAg ICAgICAgMCB8ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAwIHwgICAgICAg ICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAg ICAgICAgICAgMCB8ICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgMCB8ICAgICAgICAg ICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAw IHwgICAgICAgICAgIDAgfCAgICAgICAwIHwgICAgICAgICAwIHwgICAgICAgICAgICAgMCB8 ICAgICAgICAgICAgICAwIHwgICAgICAgICAgMCB8ICAgICAgICAgIDAKKygxIHJvdykKKwor UkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7CitEUk9QIFRBQkxFIHZlc3RhdCBDQVND QURFOworU0hPVyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KKyB0 cmFja192YWN1dW1fc3RhdGlzdGljcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBv bgorKDEgcm93KQorCistLSBlbnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VM RUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9m bHVzaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKKy0tU0VU IHN0YXRzX2ZldGNoX2NvbnNpc3RlbmN5ID0gc25hcHNob3Q7CitDUkVBVEUgVEFCTEUgdmVz dGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9y ID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2Vy aWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CitTRUxFQ1Qgb2lk IEFTIHJvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQK K0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBCZWZvcmUgdGhlIGZp cnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMgdmlldyBpcyBlbXB0eS4KK1NF TEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMsdHVwbGVzX2RlbGV0ZWQscmVs cGFnZXMscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFO RCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCB2bV9uZXdfZnJvemVuX3BhZ2VzIHwg dHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1v dmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAg fCAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAgfCAgICAgIDQ1NSB8ICAg ICAgICAgICAgIDAgfCAgICAgICAgICAgICAwCisoMSByb3cpCisKK1NFTEVDVCByZWxwYWdl cyBBUyBycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdz ZXQKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhf Q0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUg d2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4 dGVuZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKKy0tIHZhY3V1 bSBmcm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBz dGF5ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVh bmVkIHVwCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzID4gMCBBUyB2 bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVsZXRl ZCxyZWxwYWdlcy06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQgPiAwIEFTIHBh Z2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZCA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUg PSAndmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKKyByZWxuYW1lIHwgdm1fbmV3X2Zy b3plbl9wYWdlcyB8IHR1cGxlc19kZWxldGVkIHwgcmVscGFnZXMgfCBwYWdlc19zY2FubmVk IHwgcGFnZXNfcmVtb3ZlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0KKyB2ZXN0YXQgIHwgZiAgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgIHwg dCAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1Qgdm1fbmV3 X2Zyb3plbl9wYWdlcyBBUyBmcCx0dXBsZXNfZGVsZXRlZCBBUyB0ZCxyZWxwYWdlcyBBUyBy cCwgcGFnZXNfc2Nhbm5lZCBBUyBwcywgcGFnZXNfcmVtb3ZlZCBBUyBwcgorRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAn dmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFu Y2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRl cyBBUyBod2Isd2FsX2ZwaSBBUyBoZnBpIEZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdI RVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorLS0gTG9vayBpbnRvIFdBTCByZWNvcmRz IGRlbHRhcy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZFdSLCB3YWxfYnl0ZXMgPiAw IEFTIGRXQgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2 ZXN0YXQnOworIGR3ciB8IGR3YiAKKy0tLS0tKy0tLS0tCisgdCAgIHwgdAorKDEgcm93KQor CitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNB R0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMgbmVj ZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKy0tIHBh Z2VzX3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25l d19mcm96ZW5fcGFnZXMtOmZwID4gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19k ZWxldGVkLTp0ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA9IDAgQVMg cmVscGFnZXMscGFnZXNfc2Nhbm5lZC06cHMgPiAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNf cmVtb3ZlZC06cHIgPiAwIEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5E IHZ0LnJlbGlkID0gYy5vaWQ7CisgcmVsbmFtZSB8IHZtX25ld19mcm96ZW5fcGFnZXMgfCB0 dXBsZXNfZGVsZXRlZCB8IHJlbHBhZ2VzIHwgcGFnZXNfc2Nhbm5lZCB8IHBhZ2VzX3JlbW92 ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0ICB8 IGYgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IGYgICAgICAgIHwgdCAg ICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMg QVMgZnAsdHVwbGVzX2RlbGV0ZWQgQVMgdGQscmVscGFnZXMgQVMgcnAsIHBhZ2VzX3NjYW5u ZWQgQVMgcHMsIHBhZ2VzX3JlbW92ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFi bGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0 LnJlbGlkID0gYy5vaWQgXGdzZXQKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlh YmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyLCB3YWxfYnl0ZXMtOmh3YiBB UyBkd2IsIHdhbF9mcGktOmhmcGkgQVMgZGZwaQorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CistLSBXQUwgYWR2YW5jZSBzaG91 bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmR3ciA+IDAgQVMgZFdSLCA6ZHdiID4gMCBBUyBk V0I7CisgZHdyIHwgZHdiIAorLS0tLS0rLS0tLS0KKyB0ICAgfCB0CisoMSByb3cpCisKKy0t IFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRz IEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRf dmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKK0lOU0VSVCBJ TlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6 ZSkgYXMgeDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBWQUNV VU0gRlVMTCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5vIGFueSBh ZHZhbmNlbWVudHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUuCitWQUNV VU0gRlVMTCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBz dGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFy aWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3IyLCB3YWxfYnl0ZXMtOmh3 YiBBUyBkd2IyLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkyCitGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKy0tIFdBTCBhbmQgb3Ro ZXIgc3RhdGlzdGljcyBhZHZhbmNlIHNob3VsZCBub3QgYmUgZGV0ZWN0ZWQuCitTRUxFQ1Qg OmR3cjI9MCBBUyBkV1IsIDpkZnBpMj0wIEFTIGRGUEksIDpkd2IyPTAgQVMgZFdCOworIGR3 ciB8IGRmcGkgfCBkd2IgCistLS0tLSstLS0tLS0rLS0tLS0KKyB0ICAgfCB0ICAgIHwgdAor KDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzLTpmcCA9 IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVsZXRlZC06dGQgPSAwIEFTIHR1 cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPCAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5u ZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92ZWQtOnByID0gMCBBUyBw YWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOwor IHJlbG5hbWUgfCB2bV9uZXdfZnJvemVuX3BhZ2VzIHwgdHVwbGVzX2RlbGV0ZWQgfCByZWxw YWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1vdmVkIAorLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAgfCB0ICAgICAgICAgICAgICAgICAg IHwgdCAgICAgICAgICAgICAgfCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMSBy b3cpCisKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFTIGZwLHR1cGxlc19kZWxldGVk IEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVkIEFTIHBzLHBhZ2VzX3JlbW92 ZWQgQVMgcHIKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19jbGFzcyBjCitX SEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQK Ky0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNv cmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKK0RFTEVU RSBGUk9NIHZlc3RhdDsKK1RSVU5DQVRFIHZlc3RhdDsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwg QlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPRkYpIHZlc3RhdDsKKy0t IGl0IGlzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9J TlQ7CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVtb3Zp bmcgYWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTpod3Ig QVMgZHdyMywgd2FsX2J5dGVzLTpod2IgQVMgZHdiMywgd2FsX2ZwaS06aGZwaSBBUyBkZnBp MworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQn IFxnc2V0CistLVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZHdyMz4wIEFT IGRXUiwgOmRmcGkzPTAgQVMgZEZQSSwgOmR3YjM+MCBBUyBkV0I7CisgZHdyIHwgZGZwaSB8 IGR3YiAKKy0tLS0tKy0tLS0tLSstLS0tLQorIHQgICB8IHQgICAgfCB0CisoMSByb3cpCisK Ky0tCistLSBOb3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHpl cm8gbnVtYmVyIG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0 YXRpc3RpY3MuCistLSBUaGUgdm1fbmV3X2Zyb3plbl9wYWdlcywgcGFnZXNfc2Nhbm5lZCB2 YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9u ZXdfZnJvemVuX3BhZ2VzLTpmcCA9IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNf ZGVsZXRlZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFT IHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2Vz X3JlbW92ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFO RCB2dC5yZWxpZCA9IGMub2lkOworIHJlbG5hbWUgfCB2bV9uZXdfZnJvemVuX3BhZ2VzIHwg dHVwbGVzX2RlbGV0ZWQgfCByZWxwYWdlcyB8IHBhZ2VzX3NjYW5uZWQgfCBwYWdlc19yZW1v dmVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdCAg fCB0ICAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgfCBmICAgICAgICB8IHQg ICAgICAgICAgICAgfCB0CisoMSByb3cpCisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7 CitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVk ID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4 IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2 ZXN0YXQ7CistLSBtdXN0IGJlIGVtcHR5CitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcywg dm1fbmV3X3Zpc2libGVfcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlz aWJsZV9wYWdlcyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMKK0ZST00gcGdfc3RhdF92 YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1f dGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJl bGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworIHZtX25ld19mcm96ZW5fcGFnZXMg fCB2bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2Fs bF92aXNpYmxlX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorICAgICAgICAgICAgICAgICAgIDAgfCAgICAgICAgICAgICAgICAgICAgMCB8 ICAgICAgICAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgICAgICAgICAwIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAwCisoMSByb3cpCisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwg QlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworLS0gYmFja2VuZCBkZWZyZWV6ZWQg cGFnZXMKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID4gMCBBUyB2bV9uZXdfZnJvemVu X3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID4gMCBBUyB2bV9uZXdfdmlzaWJsZV9wYWdl cyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPiAwIEFTIHZtX25ld192aXNpYmxlX2Zy b3plbl9wYWdlcyxyZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDAgQVMgcmV2X2FsbF9mcm96ZW5f cGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gMCBBUyByZXZfYWxsX3Zpc2libGVfcGFn ZXMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hF UkUgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3Rh dF92YWN1dW1fdGFibGVzLnJlbGlkID0gcGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworIHZt X25ld19mcm96ZW5fcGFnZXMgfCB2bV9uZXdfdmlzaWJsZV9wYWdlcyB8IHZtX25ld192aXNp YmxlX2Zyb3plbl9wYWdlcyB8IHJldl9hbGxfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF92aXNp YmxlX3BhZ2VzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGYgICAgICAgICAgICAgICAgICAgfCB0ICAg ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHQgICAg ICAgICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9w YWdlcyBBUyBwZiwgdm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgcHYsdm1fbmV3X3Zpc2libGVf ZnJvemVuX3BhZ2VzIEFTIHB2ZiwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgQVMgaGFmcCxyZXZf YWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMs IHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFt ZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0 X2FsbF90YWJsZXMucmVsaWQgXGdzZXQKK1VQREFURSB2ZXN0YXQgU0VUIHggPSB4ICsgMTAw MTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0 OworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgPiA6cGYgQVMgdm1fbmV3X2Zyb3plbl9w YWdlcyx2bV9uZXdfdmlzaWJsZV9wYWdlcyA+IDpwdiBBUyB2bV9uZXdfdmlzaWJsZV9wYWdl cyx2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPiA6cHZmIEFTIHZtX25ld192aXNpYmxl X2Zyb3plbl9wYWdlcyxyZXZfYWxsX2Zyb3plbl9wYWdlcyA+IDpoYWZwIEFTIHJldl9hbGxf ZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA+IDpoYXZwIEFTIHJldl9hbGxf dmlzaWJsZV9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxs X3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQn IGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMu cmVsaWQ7Cisgdm1fbmV3X2Zyb3plbl9wYWdlcyB8IHZtX25ld192aXNpYmxlX3BhZ2VzIHwg dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIHwgcmV2X2FsbF9mcm96ZW5fcGFnZXMgfCBy ZXZfYWxsX3Zpc2libGVfcGFnZXMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZiAgICAgICAgICAgICAg ICAgICB8IHQgICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICAgICAgICAgfCBmCisoMSByb3cpCisKK1NFTEVDVCB2bV9u ZXdfZnJvemVuX3BhZ2VzIEFTIHBmLCB2bV9uZXdfdmlzaWJsZV9wYWdlcyBBUyBwdiwgdm1f bmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHB2ZiwgcmV2X2FsbF9mcm96ZW5fcGFnZXMg QVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVs aWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdzZXQKK1ZBQ1VVTSAoUEFSQUxMRUwg MCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworLS0gdmFjdXVtIGZyZWV6ZWQg cGFnZXMKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID0gOnBmIEFTIHZtX25ld19mcm96 ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPSA6cHYgQVMgdm1fbmV3X3Zpc2libGVf cGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID0gOnB2ZiBBUyB2bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAgQVMgcmV2 X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAgQVMgcmV2 X2FsbF92aXNpYmxlX3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3Rh dF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zl c3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3Rh Ymxlcy5yZWxpZDsKKyB2bV9uZXdfZnJvemVuX3BhZ2VzIHwgdm1fbmV3X3Zpc2libGVfcGFn ZXMgfCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgfCByZXZfYWxsX2Zyb3plbl9wYWdl cyB8IHJldl9hbGxfdmlzaWJsZV9wYWdlcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0ICAgICAgICAg ICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCB0ICAgICAgICAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworRFJPUCBU QUJMRSB2ZXN0YXQgQ0FTQ0FERTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFy YWxsZWxfc2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCmlu ZGV4IGZiZmZjNjdhZTYwLi5jZDc3OWFiOGVjYSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVn cmVzcy9wYXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVs X3NjaGVkdWxlCkBAIC0xNDAsMyArMTQwLDggQEAgdGVzdDogZmFzdF9kZWZhdWx0CiAjIHJ1 biB0YWJsZXNwYWNlIHRlc3QgYXQgdGhlIGVuZCBiZWNhdXNlIGl0IGRyb3BzIHRoZSB0YWJs ZXNwYWNlIGNyZWF0ZWQgZHVyaW5nCiAjIHNldHVwIHRoYXQgb3RoZXIgdGVzdHMgbWF5IHVz ZS4KIHRlc3Q6IHRhYmxlc3BhY2UKKworIyAtLS0tLS0tLS0tCisjIENoZWNrIHZhY3V1bSBz dGF0aXN0aWNzCisjIC0tLS0tLS0tLS0KK3Rlc3Q6IHZhY3V1bV90YWJsZXNfc3RhdGlzdGlj cwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwgYi9zcmMvdGVzdC9yZWdy ZXNzL3NxbC92YWN1dW1fdGFibGVzX3N0YXRpc3RpY3Muc3FsCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41YmMzNGJlYzY0YgotLS0gL2Rldi9udWxsCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKQEAg LTAsMCArMSwxODMgQEAKKy0tCistLSBUZXN0IGN1bXVsYXRpdmUgdmFjdXVtIHN0YXRzIHN5 c3RlbQorLS0KKy0tIENoZWNrIHRoZSB3YWxsIHN0YXRpc3RpY3MgY29sbGVjdGVkIGR1cmlu ZyB2YWN1dW0gb3BlcmF0aW9uOgorLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBw YWdlcyBzZXQgYnkgdmFjdXVtOworLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBw YWdlcyByZW1vdmVkIGJ5IGJhY2tlbmQuCistLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3Qg ZGlzcGxheWVkIGluIHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJs ZS4KKy0tCisKKy0tIGNvbmRpdGlvIHNpbmUgcXVhIG5vbgorU0hPVyB0cmFja19jb3VudHM7 ICAtLSBtdXN0IGJlIG9uCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCisKKy0tIG5vdCBlbmFi bGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRlc3QgaXQuLi4KK1NFVCB0cmFja19m dW5jdGlvbnMgVE8gJ2FsbCc7CisKKy0tIFRlc3QgdGhhdCB2YWN1dW0gc3RhdGlzdGljcyB3 aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9mZi4KK1NFVCB0cmFja192YWN1dW1f c3RhdGlzdGljcyBUTyAnb2ZmJzsKKworQ1JFQVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJ VEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VS VCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVf c2l6ZSkgYXMgeDsKK0FOQUxZWkUgdmVzdGF0OworCitERUxFVEUgRlJPTSB2ZXN0YXQgV0hF UkUgeCAlIDIgPSAwOworCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1J VCAxMjgpIHZlc3RhdDsKKworLS0gTXVzdCBiZSBlbXB0eS4KK1NFTEVDVCByZWxuYW1lLHRv dGFsX2Jsa3NfcmVhZCwgdG90YWxfYmxrc19oaXQsIHRvdGFsX2Jsa3NfZGlydGllZCwgdG90 YWxfYmxrc193cml0dGVuLHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwKK3BhZ2VzX3Nj YW5uZWQsIHBhZ2VzX3JlbW92ZWQsIHZtX25ld19mcm96ZW5fcGFnZXMsIHZtX25ld192aXNp YmxlX3BhZ2VzLCB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMsIG1pc3NlZF9kZWFkX3Bh Z2VzLAordHVwbGVzX2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4sIHJlY2VudGx5X2RlYWRfdHVw bGVzLCBtaXNzZWRfZGVhZF90dXBsZXMsIGluZGV4X3ZhY3V1bV9jb3VudCwKK3dhbF9yZWNv cmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1l LGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0 CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CisKK1JFU0VUIHRyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzOworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKKworU0hPVyB0cmFja192 YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KKworLS0gZW5zdXJlIHBlbmRpbmcg c3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsK KworLS1TRVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NSRUFURSBU QUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZp bGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKKwor U0VMRUNUIG9pZCBBUyByb2lkIGZyb20gcGdfY2xhc3Mgd2hlcmUgcmVsbmFtZSA9ICd2ZXN0 YXQnIFxnc2V0CisKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBC ZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0ZW5kZWQgc3RhdHMgdmlldyBp cyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMsdHVwbGVz X2RlbGV0ZWQscmVscGFnZXMscGFnZXNfc2Nhbm5lZCxwYWdlc19yZW1vdmVkCitGUk9NIHBn X3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9 ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkOworU0VMRUNUIHJlbHBhZ2VzIEFTIHJw CitGUk9NIHBnX2NsYXNzIGMKK1dIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3NldAorCitW QUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgsIElOREVYX0NMRUFO VVAgT0ZGKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBz dGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4dGVu ZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKKy0tIHZhY3V1bSBm cm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBzdGF5 ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVhbmVk IHVwCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJvemVuX3BhZ2VzID4gMCBBUyB2bV9u ZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVsZXRlZCxy ZWxwYWdlcy06cnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX3NjYW5uZWQgPiAwIEFTIHBhZ2Vz X3NjYW5uZWQscGFnZXNfcmVtb3ZlZCA9IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19z dGF0X3ZhY3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAn dmVzdGF0JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3Bh Z2VzIEFTIGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19z Y2FubmVkIEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVt X3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFO RCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRv IHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdi LHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxu YW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRh cy4KK1NFTEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZFdSLCB3YWxfYnl0ZXMgPiAwIEFTIGRX QgorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQn OworCitERUxFVEUgRlJPTSB2ZXN0YXQ7OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJf VVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0OworLS0gaXQgaXMg bmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKwor LS0gcGFnZXNfcmVtb3ZlZCBtdXN0IGJlIGluY3JlYXNlZAorU0VMRUNUIHZ0LnJlbG5hbWUs dm1fbmV3X2Zyb3plbl9wYWdlcy06ZnAgPiAwIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdHVw bGVzX2RlbGV0ZWQtOnRkID4gMCBBUyB0dXBsZXNfZGVsZXRlZCxyZWxwYWdlcyAtOnJwID0g MCBBUyByZWxwYWdlcyxwYWdlc19zY2FubmVkLTpwcyA+IDAgQVMgcGFnZXNfc2Nhbm5lZCxw YWdlc19yZW1vdmVkLTpwciA+IDAgQVMgcGFnZXNfcmVtb3ZlZAorRlJPTSBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0 JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzIEFT IGZwLHR1cGxlc19kZWxldGVkIEFTIHRkLHJlbHBhZ2VzIEFTIHJwLCBwYWdlc19zY2FubmVk IEFTIHBzLCBwYWdlc19yZW1vdmVkIEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxl cyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5y ZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlh YmxlcworU0VMRUNUIHdhbF9yZWNvcmRzLTpod3IgQVMgZHdyLCB3YWxfYnl0ZXMtOmh3YiBB UyBkd2IsIHdhbF9mcGktOmhmcGkgQVMgZGZwaQorRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJs ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXQnIFxnc2V0CisKKy0tIFdBTCBhZHZhbmNlIHNo b3VsZCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZHdyID4gMCBBUyBkV1IsIDpkd2IgPiAwIEFT IGRXQjsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qg d2FsX3JlY29yZHMgQVMgaHdyLHdhbF9ieXRlcyBBUyBod2Isd2FsX2ZwaSBBUyBoZnBpIEZS T00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0JyBcZ3Nl dAorCitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMo MSw6c2FtcGxlX3NpemUpIGFzIHg7CitERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAlIDIg PSAwOworLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQgdG8gc3RhdCBjb2xsZWN0b3Iu IFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MKKy0tIGFyZSBkZXRlY3Rl ZCBoZXJlLgorVkFDVVVNIEZVTEwgdmVzdGF0OworLS0gSXQgaXMgbmVjZXNzYXJ5IHRvIGNo ZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQT0lOVDsKKworLS0gU3RvcmUgV0FMIGFk dmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMtOmh3ciBBUyBkd3Iy LCB3YWxfYnl0ZXMtOmh3YiBBUyBkd2IyLCB3YWxfZnBpLTpoZnBpIEFTIGRmcGkyCitGUk9N IHBnX3N0YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQK KworLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFkdmFuY2Ugc2hvdWxkIG5vdCBiZSBk ZXRlY3RlZC4KK1NFTEVDVCA6ZHdyMj0wIEFTIGRXUiwgOmRmcGkyPTAgQVMgZEZQSSwgOmR3 YjI9MCBBUyBkV0I7CisKK1NFTEVDVCB2dC5yZWxuYW1lLHZtX25ld19mcm96ZW5fcGFnZXMt OmZwID0gMCBBUyB2bV9uZXdfZnJvemVuX3BhZ2VzLHR1cGxlc19kZWxldGVkLTp0ZCA9IDAg QVMgdHVwbGVzX2RlbGV0ZWQscmVscGFnZXMgLTpycCA8IDAgQVMgcmVscGFnZXMscGFnZXNf c2Nhbm5lZC06cHMgPSAwIEFTIHBhZ2VzX3NjYW5uZWQscGFnZXNfcmVtb3ZlZC06cHIgPSAw IEFTIHBhZ2VzX3JlbW92ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIHZ0LCBwZ19j bGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCcgQU5EIHZ0LnJlbGlkID0gYy5v aWQ7CitTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBmcCx0dXBsZXNfZGVsZXRlZCBB UyB0ZCxyZWxwYWdlcyBBUyBycCwgcGFnZXNfc2Nhbm5lZCBBUyBwcyxwYWdlc19yZW1vdmVk IEFTIHByCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcyB2dCwgcGdfY2xhc3MgYworV0hF UkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisK Ky0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNv cmRzIEFTIGh3cix3YWxfYnl0ZXMgQVMgaHdiLHdhbF9mcGkgQVMgaGZwaSBGUk9NIHBnX3N0 YXRfdmFjdXVtX3RhYmxlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdCcgXGdzZXQKKworREVM RVRFIEZST00gdmVzdGF0OworVFJVTkNBVEUgdmVzdGF0OworVkFDVVVNIChQQVJBTExFTCAw LCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9GRikgdmVzdGF0Owor LS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcworQ0hFQ0tQ T0lOVDsKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzIGFmdGVyIHJl bW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKK1NFTEVDVCB3YWxfcmVjb3Jkcy06 aHdyIEFTIGR3cjMsIHdhbF9ieXRlcy06aHdiIEFTIGR3YjMsIHdhbF9mcGktOmhmcGkgQVMg ZGZwaTMKK0ZST00gcGdfc3RhdF92YWN1dW1fdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndmVz dGF0JyBcZ3NldAorCistLVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZHdy Mz4wIEFTIGRXUiwgOmRmcGkzPTAgQVMgZEZQSSwgOmR3YjM+MCBBUyBkV0I7CisKKy0tCist LSBOb3csIHRoZSB0YWJsZSBhbmQgaW5kZXggaXMgY29tcHJlc3NlZCBpbnRvIHplcm8gbnVt YmVyIG9mIHBhZ2VzLiBDaGVjayBpdAorLS0gaW4gdmFjdXVtIGV4dGVuZGVkIHN0YXRpc3Rp Y3MuCistLSBUaGUgdm1fbmV3X2Zyb3plbl9wYWdlcywgcGFnZXNfc2Nhbm5lZCB2YWx1ZXMg c2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSx2bV9uZXdfZnJv emVuX3BhZ2VzLTpmcCA9IDAgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcyx0dXBsZXNfZGVsZXRl ZC06dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkLHJlbHBhZ2VzIC06cnAgPSAwIEFTIHJlbHBh Z2VzLHBhZ2VzX3NjYW5uZWQtOnBzID0gMCBBUyBwYWdlc19zY2FubmVkLHBhZ2VzX3JlbW92 ZWQtOnByID0gMCBBUyBwYWdlc19yZW1vdmVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxl cyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnIEFORCB2dC5y ZWxpZCA9IGMub2lkOworCitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworQ1JFQVRFIFRB QkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9mZiwgZmls bGZhY3RvciA9IDEwKTsKKworSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2Vu ZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OworQU5BTFlaRSB2ZXN0YXQ7CisK Ky0tIG11c3QgYmUgZW1wdHkKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzLCB2bV9uZXdf dmlzaWJsZV9wYWdlcywgcmV2X2FsbF9mcm96ZW5fcGFnZXMscmV2X2FsbF92aXNpYmxlX3Bh Z2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcworRlJPTSBwZ19zdGF0X3ZhY3V1bV90 YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMu cmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBw Z19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CisKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVS X1VTQUdFX0xJTUlUIDEyOCkgdmVzdGF0OworCistLSBiYWNrZW5kIGRlZnJlZXplZCBwYWdl cworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMgPiAwIEFTIHZtX25ld19mcm96ZW5fcGFn ZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPiAwIEFTIHZtX25ld192aXNpYmxlX3BhZ2VzLHZt X25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA+IDAgQVMgdm1fbmV3X3Zpc2libGVfZnJvemVu X3BhZ2VzLHJldl9hbGxfZnJvemVuX3BhZ2VzID0gMCBBUyByZXZfYWxsX2Zyb3plbl9wYWdl cyxyZXZfYWxsX3Zpc2libGVfcGFnZXMgPSAwIEFTIHJldl9hbGxfdmlzaWJsZV9wYWdlcwor RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3Zh Y3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQ7CitTRUxFQ1Qg dm1fbmV3X2Zyb3plbl9wYWdlcyBBUyBwZiwgdm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgcHYs dm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHB2ZiwgcmV2X2FsbF9mcm96ZW5fcGFn ZXMgQVMgaGFmcCxyZXZfYWxsX3Zpc2libGVfcGFnZXMgQVMgaGF2cAorRlJPTSBwZ19zdGF0 X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1 bV90YWJsZXMucmVsbmFtZSA9ICd2ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMu cmVsaWQgPSBwZ19zdGF0X2FsbF90YWJsZXMucmVsaWQgXGdzZXQKKworVVBEQVRFIHZlc3Rh dCBTRVQgeCA9IHggKyAxMDAxOworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0Vf TElNSVQgMTI4KSB2ZXN0YXQ7CisKK1NFTEVDVCB2bV9uZXdfZnJvemVuX3BhZ2VzID4gOnBm IEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1fbmV3X3Zpc2libGVfcGFnZXMgPiA6cHYgQVMg dm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzID4gOnB2 ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMscmV2X2FsbF9mcm96ZW5fcGFnZXMg PiA6aGFmcCBBUyByZXZfYWxsX2Zyb3plbl9wYWdlcyxyZXZfYWxsX3Zpc2libGVfcGFnZXMg PiA6aGF2cCBBUyByZXZfYWxsX3Zpc2libGVfcGFnZXMKK0ZST00gcGdfc3RhdF92YWN1dW1f dGFibGVzLCBwZ19zdGF0X2FsbF90YWJsZXMgV0hFUkUgcGdfc3RhdF92YWN1dW1fdGFibGVz LnJlbG5hbWUgPSAndmVzdGF0JyBhbmQgcGdfc3RhdF92YWN1dW1fdGFibGVzLnJlbGlkID0g cGdfc3RhdF9hbGxfdGFibGVzLnJlbGlkOworU0VMRUNUIHZtX25ld19mcm96ZW5fcGFnZXMg QVMgcGYsIHZtX25ld192aXNpYmxlX3BhZ2VzIEFTIHB2LCB2bV9uZXdfdmlzaWJsZV9mcm96 ZW5fcGFnZXMgQVMgcHZmLCByZXZfYWxsX2Zyb3plbl9wYWdlcyBBUyBoYWZwLHJldl9hbGxf dmlzaWJsZV9wYWdlcyBBUyBoYXZwCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdf c3RhdF9hbGxfdGFibGVzIFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0g J3Zlc3RhdCcgYW5kIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxs X3RhYmxlcy5yZWxpZCBcZ3NldAorCitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FH RV9MSU1JVCAxMjgpIHZlc3RhdDsKKworLS0gdmFjdXVtIGZyZWV6ZWQgcGFnZXMKK1NFTEVD VCB2bV9uZXdfZnJvemVuX3BhZ2VzID0gOnBmIEFTIHZtX25ld19mcm96ZW5fcGFnZXMsdm1f bmV3X3Zpc2libGVfcGFnZXMgPSA6cHYgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsdm1fbmV3 X3Zpc2libGVfZnJvemVuX3BhZ2VzID0gOnB2ZiBBUyB2bV9uZXdfdmlzaWJsZV9mcm96ZW5f cGFnZXMsIHJldl9hbGxfZnJvemVuX3BhZ2VzID0gOmhhZnAgQVMgcmV2X2FsbF9mcm96ZW5f cGFnZXMscmV2X2FsbF92aXNpYmxlX3BhZ2VzID0gOmhhdnAgQVMgcmV2X2FsbF92aXNpYmxl X3BhZ2VzCitGUk9NIHBnX3N0YXRfdmFjdXVtX3RhYmxlcywgcGdfc3RhdF9hbGxfdGFibGVz IFdIRVJFIHBnX3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxuYW1lID0gJ3Zlc3RhdCcgYW5kIHBn X3N0YXRfdmFjdXVtX3RhYmxlcy5yZWxpZCA9IHBnX3N0YXRfYWxsX3RhYmxlcy5yZWxpZDsK KworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCi0tIAoyLjM0LjEKCg== --------------0PfjJh6R8CncLnHAydjM2Cj3 Content-Type: text/x-patch; charset=UTF-8; name="v25-0002-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v25-0002-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA2MDRlODUyOTI5ZDdiOWMxYmY3ZmUzZDU4YjhiYmMwZGIzZTEyY2FhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAyNSBTZXAgMjAyNSAxNjoyMjozOCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMi81XSBNYWNoaW5lcnkgZm9yIGdyYWJiaW5nIGFuIGV4dGVuZGVkIHZh 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 ICB8IDI2OCArKysrKysrKysrKysrKy0tLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVt X3ZpZXdzLnNxbCAgICAgICAgICB8ICAzMiArKysKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Zh Y3V1bXBhcmFsbGVsLmMgICAgICAgICB8ICAxNCArCiBzcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXQuYyAgICAgICAgICAgfCAgIDQgKwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0 aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgIHwgIDQ4ICsrKy0KIHNyYy9iYWNrZW5kL3V0aWxz L2FkdC9wZ3N0YXRmdW5jcy5jICAgICAgICAgICB8IDEzMyArKysrKysrKy0KIHNyYy9pbmNs dWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAgICB8ICAgOSArCiBzcmMvaW5j bHVkZS9jb21tYW5kcy92YWN1dW0uaCAgICAgICAgICAgICAgICAgfCAgMjUgKysKIHNyYy9p bmNsdWRlL3Bnc3RhdC5oICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1OCArKystCiAu Li4vdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVhZC5vdXQgICAgfCAgIDQgKy0K IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0ICAgICAgICAgICB8ICAyMiAr KwogLi4uL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dCAgICAgIHwgMTgz ICsrKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAg ICAgICAgIHwgICAxICsKIC4uLi9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGlj cy5zcWwgICB8IDE1MSArKysrKysrKysrCiAxNCBmaWxlcyBjaGFuZ2VkLCA4NjMgaW5zZXJ0 aW9ucygrKSwgODkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGlj cy5zcWwKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5 LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5kZXggNDM3ZTVm NTgxYWUuLjA3YWQzMzdkYzgyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVh cC92YWN1dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6 eS5jCkBAIC0yOTAsNiArMjkwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCWNo YXIJICAgKmRibmFtZTsKIAljaGFyCSAgICpyZWxuYW1lc3BhY2U7CiAJT2lkCQkJcmVsb2lk OworCU9pZAkJCWluZG9pZDsKIAljaGFyCSAgICpyZWxuYW1lOwogCWNoYXIJICAgKmluZG5h bWU7CQkvKiBDdXJyZW50IGluZGV4IG5hbWUgKi8KIAlCbG9ja051bWJlciBibGtubzsJCQkv KiB1c2VkIG9ubHkgZm9yIGhlYXAgb3BlcmF0aW9ucyAqLwpAQCAtNDEwLDYgKzQxMSw4IEBA IHR5cGVkZWYgc3RydWN0IExWUmVsU3RhdGUKIAlCbG9ja051bWJlciBlYWdlcl9zY2FuX3Jl bWFpbmluZ19mYWlsczsKIAogCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OyAv KiBudW1iZXIgb2YgZW1lcmdlbmN5IHZhY3V1bXMgdG8gcHJldmVudCBhbnRpLXdyYXBhcm91 bmQgc2h1dGRvd24gKi8KKworCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnRJZHg7CiB9IExW UmVsU3RhdGU7CiAKIApAQCAtNDIxLDE5ICs0MjQsNiBAQCB0eXBlZGVmIHN0cnVjdCBMVlNh dmVkRXJySW5mbwogCVZhY0VyclBoYXNlIHBoYXNlOwogfSBMVlNhdmVkRXJySW5mbzsKIAot LyoKLSAqIENvdW50ZXJzIGFuZCB1c2FnZSBkYXRhIGZvciBleHRlbmRlZCBzdGF0cyB0cmFj a2luZy4KLSAqLwotdHlwZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291bnRlcnMKLXsKLQlUaW1l c3RhbXBUeiBzdGFydHRpbWU7Ci0JV2FsVXNhZ2UJd2FsdXNhZ2U7Ci0JQnVmZmVyVXNhZ2Ug YnVmdXNhZ2U7Ci0JZG91YmxlCQlWYWN1dW1EZWxheVRpbWU7Ci0JUGdTdGF0X0NvdW50ZXIg YmxvY2tzX2ZldGNoZWQ7Ci0JUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2hpdDsKLX0gTFZFeHRT dGF0Q291bnRlcnM7Ci0KIC8qIG5vbi1leHBvcnQgZnVuY3Rpb24gcHJvdG90eXBlcyAqLwog c3RhdGljIHZvaWQgbGF6eV9zY2FuX2hlYXAoTFZSZWxTdGF0ZSAqdmFjcmVsKTsKIHN0YXRp YyB2b2lkIGhlYXBfdmFjdXVtX2VhZ2VyX3NjYW5fc2V0dXAoTFZSZWxTdGF0ZSAqdmFjcmVs LApAQCAtNTU1LDI3ICs1NDUsMjUgQEAgZXh0dmFjX3N0YXRzX2VuZChSZWxhdGlvbiByZWws IExWRXh0U3RhdENvdW50ZXJzICpjb3VudGVycywKIAllbmR0aW1lID0gR2V0Q3VycmVudFRp bWVzdGFtcCgpOwogCVRpbWVzdGFtcERpZmZlcmVuY2UoY291bnRlcnMtPnN0YXJ0dGltZSwg ZW5kdGltZSwgJnNlY3MsICZ1c2Vjcyk7CiAKLQltZW1zZXQocmVwb3J0LCAwLCBzaXplb2Yo RXh0VmFjUmVwb3J0KSk7Ci0KIAkvKgogCSAqIEZpbGwgYWRkaXRpb25hbCBzdGF0aXN0aWNz IG9uIGEgdmFjdXVtIHByb2Nlc3Npbmcgb3BlcmF0aW9uLgogCSAqLwotCXJlcG9ydC0+dG90 YWxfYmxrc19yZWFkID0gYnVmdXNhZ2UubG9jYWxfYmxrc19yZWFkICsgYnVmdXNhZ2Uuc2hh cmVkX2Jsa3NfcmVhZDsKLQlyZXBvcnQtPnRvdGFsX2Jsa3NfaGl0ID0gYnVmdXNhZ2UubG9j YWxfYmxrc19oaXQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19oaXQ7Ci0JcmVwb3J0LT50b3Rh bF9ibGtzX2RpcnRpZWQgPSBidWZ1c2FnZS5sb2NhbF9ibGtzX2RpcnRpZWQgKyBidWZ1c2Fn ZS5zaGFyZWRfYmxrc19kaXJ0aWVkOwotCXJlcG9ydC0+dG90YWxfYmxrc193cml0dGVuID0g YnVmdXNhZ2Uuc2hhcmVkX2Jsa3Nfd3JpdHRlbjsKKwlyZXBvcnQtPnRvdGFsX2Jsa3NfcmVh ZCArPSBidWZ1c2FnZS5sb2NhbF9ibGtzX3JlYWQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19y ZWFkOworCXJlcG9ydC0+dG90YWxfYmxrc19oaXQgKz0gYnVmdXNhZ2UubG9jYWxfYmxrc19o aXQgKyBidWZ1c2FnZS5zaGFyZWRfYmxrc19oaXQ7CisJcmVwb3J0LT50b3RhbF9ibGtzX2Rp cnRpZWQgKz0gYnVmdXNhZ2UubG9jYWxfYmxrc19kaXJ0aWVkICsgYnVmdXNhZ2Uuc2hhcmVk X2Jsa3NfZGlydGllZDsKKwlyZXBvcnQtPnRvdGFsX2Jsa3Nfd3JpdHRlbiArPSBidWZ1c2Fn ZS5zaGFyZWRfYmxrc193cml0dGVuOwogCi0JcmVwb3J0LT53YWxfcmVjb3JkcyA9IHdhbHVz YWdlLndhbF9yZWNvcmRzOwotCXJlcG9ydC0+d2FsX2ZwaSA9IHdhbHVzYWdlLndhbF9mcGk7 Ci0JcmVwb3J0LT53YWxfYnl0ZXMgPSB3YWx1c2FnZS53YWxfYnl0ZXM7CisJcmVwb3J0LT53 YWxfcmVjb3JkcyArPSB3YWx1c2FnZS53YWxfcmVjb3JkczsKKwlyZXBvcnQtPndhbF9mcGkg Kz0gd2FsdXNhZ2Uud2FsX2ZwaTsKKwlyZXBvcnQtPndhbF9ieXRlcyArPSB3YWx1c2FnZS53 YWxfYnl0ZXM7CiAKLQlyZXBvcnQtPmJsa19yZWFkX3RpbWUgPSBJTlNUUl9USU1FX0dFVF9N SUxMSVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfcmVhZF90aW1lKTsKKwlyZXBvcnQtPmJsa19y ZWFkX3RpbWUgKz0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2UubG9jYWxfYmxr X3JlYWRfdGltZSk7CiAJcmVwb3J0LT5ibGtfcmVhZF90aW1lICs9IElOU1RSX1RJTUVfR0VU X01JTExJU0VDKGJ1ZnVzYWdlLnNoYXJlZF9ibGtfcmVhZF90aW1lKTsKLQlyZXBvcnQtPmJs a193cml0ZV90aW1lID0gSU5TVFJfVElNRV9HRVRfTUlMTElTRUMoYnVmdXNhZ2UubG9jYWxf YmxrX3dyaXRlX3RpbWUpOwotCXJlcG9ydC0+YmxrX3dyaXRlX3RpbWUgPSBJTlNUUl9USU1F X0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxrX3dyaXRlX3RpbWUpOwotCXJlcG9y dC0+ZGVsYXlfdGltZSA9IFZhY3V1bURlbGF5VGltZSAtIGNvdW50ZXJzLT5WYWN1dW1EZWxh eVRpbWU7CisJcmVwb3J0LT5ibGtfd3JpdGVfdGltZSArPSBJTlNUUl9USU1FX0dFVF9NSUxM SVNFQyhidWZ1c2FnZS5sb2NhbF9ibGtfd3JpdGVfdGltZSk7CisJcmVwb3J0LT5ibGtfd3Jp dGVfdGltZSArPSBJTlNUUl9USU1FX0dFVF9NSUxMSVNFQyhidWZ1c2FnZS5zaGFyZWRfYmxr X3dyaXRlX3RpbWUpOworCXJlcG9ydC0+ZGVsYXlfdGltZSArPSBWYWN1dW1EZWxheVRpbWUg LSBjb3VudGVycy0+VmFjdXVtRGVsYXlUaW1lOwogCi0JcmVwb3J0LT50b3RhbF90aW1lID0g c2VjcyAqIDEwMDAuICsgdXNlY3MgLyAxMDAwLjsKKwlyZXBvcnQtPnRvdGFsX3RpbWUgKz0g c2VjcyAqIDEwMDAuICsgdXNlY3MgLyAxMDAwLjsKIAogCWlmICghcmVsLT5wZ3N0YXRfaW5m byB8fCAhcGdzdGF0X3RyYWNrX2NvdW50cykKIAkJLyoKQEAgLTU4NCwxMiArNTcyLDEzMSBA QCBleHR2YWNfc3RhdHNfZW5kKFJlbGF0aW9uIHJlbCwgTFZFeHRTdGF0Q291bnRlcnMgKmNv dW50ZXJzLAogCQkgKi8KIAkJcmV0dXJuOwogCi0JcmVwb3J0LT5ibGtzX2ZldGNoZWQgPQor CXJlcG9ydC0+Ymxrc19mZXRjaGVkICs9CiAJCXJlbC0+cGdzdGF0X2luZm8tPmNvdW50cy5i bG9ja3NfZmV0Y2hlZCAtIGNvdW50ZXJzLT5ibG9ja3NfZmV0Y2hlZDsKLQlyZXBvcnQtPmJs a3NfaGl0ID0KKwlyZXBvcnQtPmJsa3NfaGl0ICs9CiAJCXJlbC0+cGdzdGF0X2luZm8tPmNv dW50cy5ibG9ja3NfaGl0IC0gY291bnRlcnMtPmJsb2Nrc19oaXQ7CiB9CiAKK3ZvaWQKK2V4 dHZhY19zdGF0c19zdGFydF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1 bHQgKnN0YXRzLAorCQkJCQkgICBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMpCit7 CisJaWYoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCisJ LyogU2V0IGluaXRpYWwgdmFsdWVzIGZvciBjb21tb24gaGVhcCBhbmQgaW5kZXggc3RhdGlz dGljcyovCisJZXh0dmFjX3N0YXRzX3N0YXJ0KHJlbCwgJmNvdW50ZXJzLT5jb21tb24pOwor CWNvdW50ZXJzLT5wYWdlc19kZWxldGVkID0gY291bnRlcnMtPnR1cGxlc19yZW1vdmVkID0g MDsKKworCWlmIChzdGF0cyAhPSBOVUxMKQorCXsKKwkJLyoKKwkJICogWFhYOiBXaHkgZG8g d2UgbmVlZCB0aGlzIGNvZGUgaGVyZT8gSWYgaXQgaXMgbmVlZGVkLCBJIGZlZWwgbGFjayBv ZgorCQkgKiBjb21tZW50cywgZGVzY3JpYmluZyB0aGUgcmVhc29uLgorCQkgKi8KKwkJY291 bnRlcnMtPnR1cGxlc19yZW1vdmVkID0gc3RhdHMtPnR1cGxlc19yZW1vdmVkOworCQljb3Vu dGVycy0+cGFnZXNfZGVsZXRlZCA9IHN0YXRzLT5wYWdlc19kZWxldGVkOworCX0KK30KKwor dm9pZAorZXh0dmFjX3N0YXRzX2VuZF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxl dGVSZXN1bHQgKnN0YXRzLAorCQkJCQkgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50ZXJz LCBFeHRWYWNSZXBvcnQgKnJlcG9ydCkKK3sKKwltZW1zZXQocmVwb3J0LCAwLCBzaXplb2Yo RXh0VmFjUmVwb3J0KSk7CisKKwlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmNvdW50ZXJzLT5j b21tb24sIHJlcG9ydCk7CisJcmVwb3J0LT50eXBlID0gUEdTVEFUX0VYVFZBQ19JTkRFWDsK KworCWlmIChzdGF0cyAhPSBOVUxMKQorCXsKKwkJLyoKKwkJICogaWYgc29tZXRoaW5nIGdv ZXMgd3Jvbmcgb3IgYW4gdXNlciBkb2Vzbid0IHdhbnQgdG8gdHJhY2sgYSBkYXRhYmFzZQor CQkgKiBhY3Rpdml0eSAtIGp1c3Qgc3VwcHJlc3MgaXQuCisJCSAqLworCisJCS8qIEZpbGwg aW5kZXgtc3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzICovCisJCXJlcG9ydC0+dHVw bGVzX2RlbGV0ZWQgPQorCQkJCQkJCXN0YXRzLT50dXBsZXNfcmVtb3ZlZCAtIGNvdW50ZXJz LT50dXBsZXNfcmVtb3ZlZDsKKwkJcmVwb3J0LT5pbmRleC5wYWdlc19kZWxldGVkID0KKwkJ CQkJCQlzdGF0cy0+cGFnZXNfZGVsZXRlZCAtIGNvdW50ZXJzLT5wYWdlc19kZWxldGVkOwor CX0KK30KKworLyogQWNjdW11bGF0ZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgaGVhcC4KKyAq CisgICogQmVjYXVzZSBvZiBjb21wbGV4aXR5IG9mIHZhY3V1bSBwcm9jZXNzaW5nOiBpdCBz d2l0Y2ggcHJvY2VzaW5nIGJldHdlZW4KKyAgKiB0aGUgaGVhcCByZWxhdGlvbiB0byBpbmRl eCByZWxhdGlvbnMgYW5kIHZpc2EgdmVyc2EsIHdlIG5lZWQgdG8gc3RvcmUKKyAgKiBnYXRo ZXJlZCBzdGF0aXN0aWNzIGluZm9ybWF0aW9uIGZvciBoZWFwIHJlbGF0aW9ucyBzZXZlcmFs IHRpbWVzIGJlZm9yZQorICAqIHRoZSB2YWN1dW0gc3RhcnRzIHByb2Nlc3NpbmcgdGhlIGlu ZGV4ZXMgYWdhaW4uCisgICoKKyAgKiBJdCBpcyBuZWNlc3NhcnkgdG8gZ2F0aGVyIGNvcnJl Y3Qgc3RhdGlzdGljcyBpbmZvcm1hdGlvbiBmb3IgaGVhcCBhbmQgaW5kZXhlcworICAqIG90 aGVyd2ljZSB0aGUgaW5kZXggc3RhdGlzdGljcyBpbmZvcm1hdGlvbiB3b3VsZCBiZSBhZGRl ZCB0byBoaXMgcGFyZW50IGhlYXAKKyAgKiBzdGF0aXN0aWNzIGluZm9ybWF0aW9uIGFuZCBp dCB3b3VsZCBiZSBkaWZmaWN1bHQgdG8gYW5hbHl6ZSBpdCBsYXRlci4KKyAgKgorICAqIFdl IGNhbid0IHN1YnRyYWN0IHVuaW9uIHZhY3V1bSBzdGF0aXN0aWNzIGluZm9ybWF0aW9uIGZv ciBpbmRleCBmcm9tIHRoZSBoZWFwIHJlbGF0aW9ucworICAqIGJlY2F1c2Ugb2YgdG90YWwg YW5kIGRlbGF5IHRpbWUgdGltZSBzdGF0aXN0aWNzIGNvbGxlY3RpbmcgZHVyaW5nIHBhcmFs bGVsIHZhY3V1bQorICAqIHByb2N1ZHVyZS4KKyovCitzdGF0aWMgdm9pZAorYWNjdW11bGF0 ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKExWUmVsU3RhdGUgKnZhY3JlbCwgRXh0VmFjUmVw b3J0ICpleHRWYWNTdGF0cykKK3sKKwlpZiAoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlz dGljcykKKwkJcmV0dXJuOworCisJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0 YXRzIGZpZWxkcyAqLworCWV4dFZhY1N0YXRzLT50eXBlID0gUEdTVEFUX0VYVFZBQ19UQUJM RTsKKwlleHRWYWNTdGF0cy0+dGFibGUucGFnZXNfc2Nhbm5lZCA9IHZhY3JlbC0+c2Nhbm5l ZF9wYWdlczsKKwlleHRWYWNTdGF0cy0+dGFibGUucGFnZXNfcmVtb3ZlZCA9IHZhY3JlbC0+ cmVtb3ZlZF9wYWdlczsKKwlleHRWYWNTdGF0cy0+dGFibGUudm1fbmV3X2Zyb3plbl9wYWdl cyA9IHZhY3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdlczsKKwlleHRWYWNTdGF0cy0+dGFibGUu dm1fbmV3X3Zpc2libGVfcGFnZXMgPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX3BhZ2VzOwor CWV4dFZhY1N0YXRzLT50YWJsZS52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgPSB2YWNy ZWwtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsKKwlleHRWYWNTdGF0cy0+dHVwbGVz X2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxldGVkOworCWV4dFZhY1N0YXRzLT50YWJs ZS50dXBsZXNfZnJvemVuID0gdmFjcmVsLT50dXBsZXNfZnJvemVuOworCWV4dFZhY1N0YXRz LT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlcyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90 dXBsZXM7CisJZXh0VmFjU3RhdHMtPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzID0gdmFj cmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlczsKKwlleHRWYWNTdGF0cy0+dGFibGUubWlzc2Vk X2RlYWRfdHVwbGVzID0gdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXM7CisJZXh0VmFjU3Rh dHMtPnRhYmxlLm1pc3NlZF9kZWFkX3BhZ2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdl czsKKwlleHRWYWNTdGF0cy0+dGFibGUuaW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5u dW1faW5kZXhfc2NhbnM7CisJZXh0VmFjU3RhdHMtPnRhYmxlLndyYXBhcm91bmRfZmFpbHNh ZmVfY291bnQgPSB2YWNyZWwtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CisKKwlleHRW YWNTdGF0cy0+YmxrX3JlYWRfdGltZSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5ibGtf cmVhZF90aW1lOworCWV4dFZhY1N0YXRzLT5ibGtfd3JpdGVfdGltZSAtPSB2YWNyZWwtPmV4 dFZhY1JlcG9ydElkeC5ibGtfd3JpdGVfdGltZTsKKwlleHRWYWNTdGF0cy0+dG90YWxfYmxr c19kaXJ0aWVkIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LnRvdGFsX2Jsa3NfZGlydGll ZDsKKwlleHRWYWNTdGF0cy0+dG90YWxfYmxrc19oaXQgLT0gdmFjcmVsLT5leHRWYWNSZXBv cnRJZHgudG90YWxfYmxrc19oaXQ7CisJZXh0VmFjU3RhdHMtPnRvdGFsX2Jsa3NfcmVhZCAt PSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9ibGtzX3JlYWQ7CisJZXh0VmFjU3Rh dHMtPnRvdGFsX2Jsa3Nfd3JpdHRlbiAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3Rh bF9ibGtzX3dyaXR0ZW47CisJZXh0VmFjU3RhdHMtPndhbF9ieXRlcyAtPSB2YWNyZWwtPmV4 dFZhY1JlcG9ydElkeC53YWxfYnl0ZXM7CisJZXh0VmFjU3RhdHMtPndhbF9mcGkgLT0gdmFj cmVsLT5leHRWYWNSZXBvcnRJZHgud2FsX2ZwaTsKKwlleHRWYWNTdGF0cy0+d2FsX3JlY29y ZHMgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgud2FsX3JlY29yZHM7CisKKwlleHRWYWNT dGF0cy0+dG90YWxfdGltZSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF90aW1l OworCWV4dFZhY1N0YXRzLT5kZWxheV90aW1lIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4 LmRlbGF5X3RpbWU7CisKK30KKworc3RhdGljIHZvaWQKK2FjY3VtdWxhdGVfaWR4c192YWN1 dW1fc3RhdGlzdGljcyhMVlJlbFN0YXRlICp2YWNyZWwsIEV4dFZhY1JlcG9ydCAqZXh0VmFj SWR4U3RhdHMpCit7CisJaWYgKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJ CXJldHVybjsKKworCS8qIEZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBzdGF0cyBmaWVs ZHMgKi8KKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5ibGtfcmVhZF90aW1lICs9IGV4dFZh Y0lkeFN0YXRzLT5ibGtfcmVhZF90aW1lOworCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmJs a193cml0ZV90aW1lICs9IGV4dFZhY0lkeFN0YXRzLT5ibGtfd3JpdGVfdGltZTsKKwl2YWNy ZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9ibGtzX2RpcnRpZWQgKz0gZXh0VmFjSWR4U3Rh dHMtPnRvdGFsX2Jsa3NfZGlydGllZDsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3Rh bF9ibGtzX2hpdCArPSBleHRWYWNJZHhTdGF0cy0+dG90YWxfYmxrc19oaXQ7CisJdmFjcmVs LT5leHRWYWNSZXBvcnRJZHgudG90YWxfYmxrc19yZWFkICs9IGV4dFZhY0lkeFN0YXRzLT50 b3RhbF9ibGtzX3JlYWQ7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgudG90YWxfYmxrc193 cml0dGVuICs9IGV4dFZhY0lkeFN0YXRzLT50b3RhbF9ibGtzX3dyaXR0ZW47CisJdmFjcmVs LT5leHRWYWNSZXBvcnRJZHgud2FsX2J5dGVzICs9IGV4dFZhY0lkeFN0YXRzLT53YWxfYnl0 ZXM7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgud2FsX2ZwaSArPSBleHRWYWNJZHhTdGF0 cy0+d2FsX2ZwaTsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC53YWxfcmVjb3JkcyArPSBl eHRWYWNJZHhTdGF0cy0+d2FsX3JlY29yZHM7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgu ZGVsYXlfdGltZSArPSBleHRWYWNJZHhTdGF0cy0+ZGVsYXlfdGltZTsKKworCXZhY3JlbC0+ ZXh0VmFjUmVwb3J0SWR4LnRvdGFsX3RpbWUgKz0gZXh0VmFjSWR4U3RhdHMtPnRvdGFsX3Rp bWU7Cit9CisKIAogLyoKICAqIEhlbHBlciB0byBzZXQgdXAgdGhlIGVhZ2VyIHNjYW5uaW5n IHN0YXRlIGZvciB2YWN1dW1pbmcgYSBzaW5nbGUgcmVsYXRpb24uCkBAIC03NTIsNyArODU5 LDcgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgY29uc3QgVmFjdXVtUGFyYW1z IHBhcmFtcywKIAlFeHRWYWNSZXBvcnQgYWxsemVybzsKIAogCS8qIEluaXRpYWxpemUgdmFj dXVtIHN0YXRpc3RpY3MgKi8KLQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRWYWNS ZXBvcnQpKTsKKwltZW1zZXQoJmV4dFZhY1JlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9y dCkpOwogCWV4dFZhY1JlcG9ydCA9IGFsbHplcm87CiAKIAl2ZXJib3NlID0gKHBhcmFtcy5v cHRpb25zICYgVkFDT1BUX1ZFUkJPU0UpICE9IDA7CkBAIC03OTksNiArOTA2LDggQEAgaGVh cF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgY29uc3QgVmFjdXVtUGFyYW1zIHBhcmFtcywK IAllcnJjYWxsYmFjay5wcmV2aW91cyA9IGVycm9yX2NvbnRleHRfc3RhY2s7CiAJZXJyb3Jf Y29udGV4dF9zdGFjayA9ICZlcnJjYWxsYmFjazsKIAorCW1lbXNldCgmdmFjcmVsLT5leHRW YWNSZXBvcnRJZHgsIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwogCS8qIFNldCB1cCBo aWdoIGxldmVsIHN0dWZmIGFib3V0IHJlbCBhbmQgaXRzIGluZGV4ZXMgKi8KIAl2YWNyZWwt PnJlbCA9IHJlbDsKIAl2YWNfb3Blbl9pbmRleGVzKHZhY3JlbC0+cmVsLCBSb3dFeGNsdXNp dmVMb2NrLCAmdmFjcmVsLT5uaW5kZXhlcywKQEAgLTEwNTEsMjMgKzExNjAsNiBAQCBoZWFw X3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBjb25zdCBWYWN1dW1QYXJhbXMgcGFyYW1zLAog CS8qIE1ha2UgZ2VuZXJpYyBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0ICovCiAJZXh0 dmFjX3N0YXRzX2VuZChyZWwsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CiAK LQlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JewotCQkvKiBGaWxsIGhl YXAtc3BlY2lmaWMgZXh0ZW5kZWQgc3RhdHMgZmllbGRzICovCi0JCWV4dFZhY1JlcG9ydC5w YWdlc19zY2FubmVkID0gdmFjcmVsLT5zY2FubmVkX3BhZ2VzOwotCQlleHRWYWNSZXBvcnQu cGFnZXNfcmVtb3ZlZCA9IHZhY3JlbC0+cmVtb3ZlZF9wYWdlczsKLQkJZXh0VmFjUmVwb3J0 LnZtX25ld19mcm96ZW5fcGFnZXMgPSB2YWNyZWwtPnZtX25ld19mcm96ZW5fcGFnZXM7Ci0J CWV4dFZhY1JlcG9ydC52bV9uZXdfdmlzaWJsZV9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X3Zp c2libGVfcGFnZXM7Ci0JCWV4dFZhY1JlcG9ydC52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFn ZXMgPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsKLQkJZXh0VmFjUmVw b3J0LnR1cGxlc19kZWxldGVkID0gdmFjcmVsLT50dXBsZXNfZGVsZXRlZDsKLQkJZXh0VmFj UmVwb3J0LnR1cGxlc19mcm96ZW4gPSB2YWNyZWwtPnR1cGxlc19mcm96ZW47Ci0JCWV4dFZh Y1JlcG9ydC5yZWNlbnRseV9kZWFkX3R1cGxlcyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90 dXBsZXM7Ci0JCWV4dFZhY1JlcG9ydC5taXNzZWRfZGVhZF90dXBsZXMgPSB2YWNyZWwtPm1p c3NlZF9kZWFkX3R1cGxlczsKLQkJZXh0VmFjUmVwb3J0Lm1pc3NlZF9kZWFkX3BhZ2VzID0g dmFjcmVsLT5taXNzZWRfZGVhZF9wYWdlczsKLQkJZXh0VmFjUmVwb3J0LmluZGV4X3ZhY3V1 bV9jb3VudCA9IHZhY3JlbC0+bnVtX2luZGV4X3NjYW5zOwotCQlleHRWYWNSZXBvcnQud3Jh cGFyb3VuZF9mYWlsc2FmZV9jb3VudCA9IHZhY3JlbC0+d3JhcGFyb3VuZF9mYWlsc2FmZV9j b3VudDsKLQl9Ci0KIAkvKgogCSAqIFJlcG9ydCByZXN1bHRzIHRvIHRoZSBjdW11bGF0aXZl IHN0YXRzIHN5c3RlbSwgdG9vLgogCSAqCkBAIC0xMDc4LDEzICsxMTcwLDM0IEBAIGhlYXBf dmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyBwYXJhbXMsCiAJ ICogc29vbiBpbiBjYXNlcyB3aGVyZSB0aGUgZmFpbHNhZmUgcHJldmVudGVkIHNpZ25pZmlj YW50IGFtb3VudHMgb2YgaGVhcAogCSAqIHZhY3V1bWluZy4KIAkgKi8KLQlwZ3N0YXRfcmVw b3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKHJlbCksCisJaWYocGdzdGF0X3RyYWNrX3Zh Y3V1bV9zdGF0aXN0aWNzKQorCXsKKwkJLyogTWFrZSBnZW5lcmljIGV4dGVuZGVkIHZhY3V1 bSBzdGF0cyByZXBvcnQgYW5kCisJCSAqIGZpbGwgaGVhcC1zcGVjaWZpYyBleHRlbmRlZCBz dGF0cyBmaWVsZHMuCisJCSAqLworCQlleHR2YWNfc3RhdHNfZW5kKHZhY3JlbC0+cmVsLCAm ZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCQlhY2N1bXVsYXRlX2hlYXBfdmFj dXVtX3N0YXRpc3RpY3ModmFjcmVsLCAmZXh0VmFjUmVwb3J0KTsKKworCQlwZ3N0YXRfcmVw b3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKHJlbCksCiAJCQkJCQkgcmVsLT5yZF9yZWwt PnJlbGlzc2hhcmVkLAogCQkJCQkJIE1heCh2YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCks CiAJCQkJCQkgdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1cGxlcyArCi0JCQkJCQkgdmFjcmVs LT5taXNzZWRfZGVhZF90dXBsZXMsCisgCQkJCQkJIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVw bGVzLAogCQkJCQkJIHN0YXJ0dGltZSwKIAkJCQkJCSAmZXh0VmFjUmVwb3J0KTsKKworCX0K KwllbHNlCisJeworCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlkKHJl bCksCisJCQkJCQkJIHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKKwkJCQkJCQkgTWF4KHZh Y3JlbC0+bmV3X2xpdmVfdHVwbGVzLCAwKSwKKwkJCQkJCQkgdmFjcmVsLT5yZWNlbnRseV9k ZWFkX3R1cGxlcyArCisJCQkJCQkJIHZhY3JlbC0+bWlzc2VkX2RlYWRfdHVwbGVzLAorCQkJ CQkJCSBzdGFydHRpbWUsCisJCQkJCQkJIE5VTEwpOworCX0KKwogCXBnc3RhdF9wcm9ncmVz c19lbmRfY29tbWFuZCgpOwogCiAJaWYgKGluc3RydW1lbnQpCkBAIC0yNzgyLDEwICsyODk1 LDIwIEBAIGxhenlfdmFjdXVtX2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKIAl9 CiAJZWxzZQogCXsKKwkJTFZFeHRTdGF0Q291bnRlcnMgY291bnRlcnM7CisJCUV4dFZhY1Jl cG9ydCBleHRWYWNSZXBvcnQ7CisKKwkJbWVtc2V0KCZleHRWYWNSZXBvcnQsIDAsIHNpemVv ZihFeHRWYWNSZXBvcnQpKTsKKworCQlleHR2YWNfc3RhdHNfc3RhcnQodmFjcmVsLT5yZWws ICZjb3VudGVycyk7CisKIAkJLyogT3V0c291cmNlIGV2ZXJ5dGhpbmcgdG8gcGFyYWxsZWwg dmFyaWFudCAqLwogCQlwYXJhbGxlbF92YWN1dW1fYnVsa2RlbF9hbGxfaW5kZXhlcyh2YWNy ZWwtPnB2cywgb2xkX2xpdmVfdHVwbGVzLAogCQkJCQkJCQkJCQl2YWNyZWwtPm51bV9pbmRl eF9zY2Fucyk7CiAKKwkJZXh0dmFjX3N0YXRzX2VuZCh2YWNyZWwtPnJlbCwgJmNvdW50ZXJz LCAmZXh0VmFjUmVwb3J0KTsKKwkJYWNjdW11bGF0ZV9pZHhzX3ZhY3V1bV9zdGF0aXN0aWNz KHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7CisKIAkJLyoKIAkJICogRG8gYSBwb3N0Y2hlY2sg dG8gY29uc2lkZXIgYXBwbHlpbmcgd3JhcGFyb3VuZCBmYWlsc2FmZSBub3cuICBOb3RlCiAJ CSAqIHRoYXQgcGFyYWxsZWwgVkFDVVVNIG9ubHkgZ2V0cyB0aGUgcHJlY2hlY2sgYW5kIHRo aXMgcG9zdGNoZWNrLgpAQCAtMzE5NSwxMCArMzMxOCwyMCBAQCBsYXp5X2NsZWFudXBfYWxs X2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCX0KIAllbHNlCiAJeworCQlMVkV4dFN0 YXRDb3VudGVycyBjb3VudGVyczsKKwkJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKKwor CQltZW1zZXQoJmV4dFZhY1JlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCisJ CWV4dHZhY19zdGF0c19zdGFydCh2YWNyZWwtPnJlbCwgJmNvdW50ZXJzKTsKKwogCQkvKiBP dXRzb3VyY2UgZXZlcnl0aGluZyB0byBwYXJhbGxlbCB2YXJpYW50ICovCiAJCXBhcmFsbGVs X3ZhY3V1bV9jbGVhbnVwX2FsbF9pbmRleGVzKHZhY3JlbC0+cHZzLCByZWx0dXBsZXMsCiAJ CQkJCQkJCQkJCXZhY3JlbC0+bnVtX2luZGV4X3NjYW5zLAogCQkJCQkJCQkJCQllc3RpbWF0 ZWRfY291bnQpOworCisJCWV4dHZhY19zdGF0c19lbmQodmFjcmVsLT5yZWwsICZjb3VudGVy cywgJmV4dFZhY1JlcG9ydCk7CisJCWFjY3VtdWxhdGVfaWR4c192YWN1dW1fc3RhdGlzdGlj cyh2YWNyZWwsICZleHRWYWNSZXBvcnQpOwogCX0KIAogCS8qIFJlc2V0IHRoZSBwcm9ncmVz cyBjb3VudGVycyAqLwpAQCAtMzIyNCw2ICszMzU3LDExIEBAIGxhenlfdmFjdXVtX29uZV9p bmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiB7 CiAJSW5kZXhWYWN1dW1JbmZvIGl2aW5mbzsKIAlMVlNhdmVkRXJySW5mbyBzYXZlZF9lcnJf aW5mbzsKKwlMVkV4dFN0YXRDb3VudGVyc0lkeCBleHRWYWNDb3VudGVyczsKKwlFeHRWYWNS ZXBvcnQgZXh0VmFjUmVwb3J0OworCisJLyogU2V0IGluaXRpYWwgc3RhdGlzdGljcyB2YWx1 ZXMgdG8gZ2F0aGVyIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaW5kZXggKi8KKwlleHR2 YWNfc3RhdHNfc3RhcnRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycyk7CiAK IAlpdmluZm8uaW5kZXggPSBpbmRyZWw7CiAJaXZpbmZvLmhlYXByZWwgPSB2YWNyZWwtPnJl bDsKQEAgLTMyNDIsNiArMzM4MCw3IEBAIGxhenlfdmFjdXVtX29uZV9pbmRleChSZWxhdGlv biBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJICovCiAJQXNzZXJ0 KHZhY3JlbC0+aW5kbmFtZSA9PSBOVUxMKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBwc3RyZHVw KFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGluZHJlbCkpOworCXZhY3JlbC0+aW5kb2lkID0g UmVsYXRpb25HZXRSZWxpZChpbmRyZWwpOwogCXVwZGF0ZV92YWN1dW1fZXJyb3JfaW5mbyh2 YWNyZWwsICZzYXZlZF9lcnJfaW5mbywKIAkJCQkJCQkgVkFDVVVNX0VSUkNCX1BIQVNFX1ZB Q1VVTV9JTkRFWCwKIAkJCQkJCQkgSW52YWxpZEJsb2NrTnVtYmVyLCBJbnZhbGlkT2Zmc2V0 TnVtYmVyKTsKQEAgLTMyNTAsNiArMzM4OSwxOSBAQCBsYXp5X3ZhY3V1bV9vbmVfaW5kZXgo UmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAogCWlzdGF0 ID0gdmFjX2J1bGtkZWxfb25lX2luZGV4KCZpdmluZm8sIGlzdGF0LCB2YWNyZWwtPmRlYWRf aXRlbXMsCiAJCQkJCQkJCSAgdmFjcmVsLT5kZWFkX2l0ZW1zX2luZm8pOwogCisJaWYocGdz dGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCXsKKwkJLyogTWFrZSBleHRlbmRlZCB2 YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLworCQlleHR2YWNfc3RhdHNfZW5kX2lk eChpbmRyZWwsIGlzdGF0LCAmZXh0VmFjQ291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCisJ CWlmICghUGFyYWxsZWxWYWN1dW1Jc0FjdGl2ZSh2YWNyZWwpKQorCQkJYWNjdW11bGF0ZV9p ZHhzX3ZhY3V1bV9zdGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7CisKKwkJcGdz dGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAorCQkJCQkJCQlp bmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCisJCQkJCQkJCTAsIDAsIDAsICZleHRWYWNS ZXBvcnQpOworCX0KKwogCS8qIFJldmVydCB0byB0aGUgcHJldmlvdXMgcGhhc2UgaW5mb3Jt YXRpb24gZm9yIGVycm9yIHRyYWNlYmFjayAqLwogCXJlc3RvcmVfdmFjdXVtX2Vycm9yX2lu Zm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8pOwogCXBmcmVlKHZhY3JlbC0+aW5kbmFtZSk7 CkBAIC0zMjc0LDYgKzM0MjYsMTEgQEAgbGF6eV9jbGVhbnVwX29uZV9pbmRleChSZWxhdGlv biBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiB7CiAJSW5kZXhWYWN1 dW1JbmZvIGl2aW5mbzsKIAlMVlNhdmVkRXJySW5mbyBzYXZlZF9lcnJfaW5mbzsKKwlMVkV4 dFN0YXRDb3VudGVyc0lkeCBleHRWYWNDb3VudGVyczsKKwlFeHRWYWNSZXBvcnQgZXh0VmFj UmVwb3J0OworCisJLyogU2V0IGluaXRpYWwgc3RhdGlzdGljcyB2YWx1ZXMgdG8gZ2F0aGVy IHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaW5kZXggKi8KKwlleHR2YWNfc3RhdHNfc3Rh cnRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycyk7CiAKIAlpdmluZm8uaW5k ZXggPSBpbmRyZWw7CiAJaXZpbmZvLmhlYXByZWwgPSB2YWNyZWwtPnJlbDsKQEAgLTMyOTMs MTIgKzM0NTAsMjUgQEAgbGF6eV9jbGVhbnVwX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWws IEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJICovCiAJQXNzZXJ0KHZhY3JlbC0+ aW5kbmFtZSA9PSBOVUxMKTsKIAl2YWNyZWwtPmluZG5hbWUgPSBwc3RyZHVwKFJlbGF0aW9u R2V0UmVsYXRpb25OYW1lKGluZHJlbCkpOworCXZhY3JlbC0+aW5kb2lkID0gUmVsYXRpb25H ZXRSZWxpZChpbmRyZWwpOwogCXVwZGF0ZV92YWN1dW1fZXJyb3JfaW5mbyh2YWNyZWwsICZz YXZlZF9lcnJfaW5mbywKIAkJCQkJCQkgVkFDVVVNX0VSUkNCX1BIQVNFX0lOREVYX0NMRUFO VVAsCiAJCQkJCQkJIEludmFsaWRCbG9ja051bWJlciwgSW52YWxpZE9mZnNldE51bWJlcik7 CiAKIAlpc3RhdCA9IHZhY19jbGVhbnVwX29uZV9pbmRleCgmaXZpbmZvLCBpc3RhdCk7CiAK KwlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJeworCQkvKiBNYWtlIGV4 dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4ICovCisJCWV4dHZhY19zdGF0 c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9y dCk7CisJCWlmICghUGFyYWxsZWxWYWN1dW1Jc0FjdGl2ZSh2YWNyZWwpKQorCQkJYWNjdW11 bGF0ZV9pZHhzX3ZhY3V1bV9zdGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7CisK KwkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAorCQkJ CQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCisJCQkJCQkJCTAsIDAsIDAsICZl eHRWYWNSZXBvcnQpOworCX0KKwogCS8qIFJldmVydCB0byB0aGUgcHJldmlvdXMgcGhhc2Ug aW5mb3JtYXRpb24gZm9yIGVycm9yIHRyYWNlYmFjayAqLwogCXJlc3RvcmVfdmFjdXVtX2Vy cm9yX2luZm8odmFjcmVsLCAmc2F2ZWRfZXJyX2luZm8pOwogCXBmcmVlKHZhY3JlbC0+aW5k bmFtZSk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5z cWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggNDQ5Mzdj YTM3ZmMuLjRiYmQxNDk5YmI4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5 c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Mu c3FsCkBAIC0xNDcwLDMgKzE0NzAsMzUgQEAgRlJPTSBwZ19jbGFzcyByZWwKICAgSk9JTiBw Z19uYW1lc3BhY2UgbnMgT04gbnMub2lkID0gcmVsLnJlbG5hbWVzcGFjZSwKICAgTEFURVJB TCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKHJlbC5vaWQpIHN0YXRzCiBXSEVSRSByZWwu cmVsa2luZCA9ICdyJzsKKworQ1JFQVRFIFZJRVcgcGdfc3RhdF92YWN1dW1faW5kZXhlcyBB UworU0VMRUNUCisgIHJlbC5vaWQgYXMgcmVsaWQsCisgIG5zLm5zcG5hbWUgQVMgc2NoZW1h bmFtZSwKKyAgcmVsLnJlbG5hbWUgQVMgcmVsbmFtZSwKKworICB0b3RhbF9ibGtzX3JlYWQg QVMgdG90YWxfYmxrc19yZWFkLAorICB0b3RhbF9ibGtzX2hpdCBBUyB0b3RhbF9ibGtzX2hp dCwKKyAgdG90YWxfYmxrc19kaXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgdG90 YWxfYmxrc193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKworICByZWxfYmxrc19y ZWFkIEFTIHJlbF9ibGtzX3JlYWQsCisgIHJlbF9ibGtzX2hpdCBBUyByZWxfYmxrc19oaXQs CisKKyAgcGFnZXNfZGVsZXRlZCBBUyBwYWdlc19kZWxldGVkLAorICB0dXBsZXNfZGVsZXRl ZCBBUyB0dXBsZXNfZGVsZXRlZCwKKworICB3YWxfcmVjb3JkcyBBUyB3YWxfcmVjb3JkcywK KyAgd2FsX2ZwaSBBUyB3YWxfZnBpLAorICB3YWxfYnl0ZXMgQVMgd2FsX2J5dGVzLAorCisg IGJsa19yZWFkX3RpbWUgQVMgYmxrX3JlYWRfdGltZSwKKyAgYmxrX3dyaXRlX3RpbWUgQVMg YmxrX3dyaXRlX3RpbWUsCisKKyAgZGVsYXlfdGltZSBBUyBkZWxheV90aW1lLAorICB0b3Rh bF90aW1lIEFTIHRvdGFsX3RpbWUKK0ZST00KKyAgcGdfY2xhc3MgcmVsCisgIEpPSU4gcGdf bmFtZXNwYWNlIG5zIE9OIG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UsCisgIExBVEVSQUwg cGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMocmVsLm9pZCkgc3RhdHMKK1dIRVJFIHJlbC5y ZWxraW5kID0gJ2knOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgYi9zcmMvYmFja2VuZC9j b21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCmluZGV4IDJiNTVkOWI3YzBlLi42NWRlNDVhNDQ0 NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwor KysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCkBAIC04NjgsNiAr ODY4LDggQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVsVmFj dXVtU3RhdGUgKnB2cywgUmVsYXRpb24gaW5kcmVsLAogCUluZGV4QnVsa0RlbGV0ZVJlc3Vs dCAqaXN0YXQgPSBOVUxMOwogCUluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXRfcmVzOwog CUluZGV4VmFjdXVtSW5mbyBpdmluZm87CisJTFZFeHRTdGF0Q291bnRlcnNJZHggZXh0VmFj Q291bnRlcnM7CisJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9ydDsKIAogCS8qCiAJICogVXBk YXRlIHRoZSBwb2ludGVyIHRvIHRoZSBjb3JyZXNwb25kaW5nIGJ1bGstZGVsZXRpb24gcmVz dWx0IGlmIHNvbWVvbmUKQEAgLTg3Niw2ICs4NzgsOSBAQCBwYXJhbGxlbF92YWN1dW1fcHJv Y2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRy ZWwsCiAJaWYgKGluZHN0YXRzLT5pc3RhdF91cGRhdGVkKQogCQlpc3RhdCA9ICYoaW5kc3Rh dHMtPmlzdGF0KTsKIAorCS8qIFNldCBpbml0aWFsIHN0YXRpc3RpY3MgdmFsdWVzIHRvIGdh dGhlciB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGluZGV4ICovCisJZXh0dmFjX3N0YXRz X3N0YXJ0X2lkeChpbmRyZWwsICYoaW5kc3RhdHMtPmlzdGF0KSwgJmV4dFZhY0NvdW50ZXJz KTsKKwogCWl2aW5mby5pbmRleCA9IGluZHJlbDsKIAlpdmluZm8uaGVhcHJlbCA9IHB2cy0+ aGVhcHJlbDsKIAlpdmluZm8uYW5hbHl6ZV9vbmx5ID0gZmFsc2U7CkBAIC05MDQsNiArOTA5 LDE1IEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX29uZV9pbmRleChQYXJhbGxlbFZhY3V1 bVN0YXRlICpwdnMsIFJlbGF0aW9uIGluZHJlbCwKIAkJCQkgUmVsYXRpb25HZXRSZWxhdGlv bk5hbWUoaW5kcmVsKSk7CiAJfQogCisJaWYocGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0 aWNzKQorCXsKKwkJLyogTWFrZSBleHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBp bmRleCAqLworCQlleHR2YWNfc3RhdHNfZW5kX2lkeChpbmRyZWwsIGlzdGF0X3JlcywgJmV4 dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwkJcGdzdGF0X3JlcG9ydF92YWN1dW0o UmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAorCQkJCQkJCQlpbmRyZWwtPnJkX3JlbC0+cmVs aXNzaGFyZWQsCisJCQkJCQkJCTAsIDAsIDAsICZleHRWYWNSZXBvcnQpOworCX0KKwogCS8q CiAJICogQ29weSB0aGUgaW5kZXggYnVsay1kZWxldGlvbiByZXN1bHQgcmV0dXJuZWQgZnJv bSBhbWJ1bGtkZWxldGUgYW5kCiAJICogYW12YWN1dW1jbGVhbnVwIHRvIHRoZSBEU00gc2Vn bWVudCBpZiBpdCdzIHRoZSBmaXJzdCBjeWNsZSBiZWNhdXNlIHRoZXkKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0LmMKaW5kZXggNDAwZmFmZTkyMWIuLmZkMmM1ZTE1MzY5IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYworKysgYi9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwpAQCAtMTE1OSw2ICsxMTU5LDEw IEBAIHBnc3RhdF9idWlsZF9zbmFwc2hvdChQZ1N0YXRfS2luZCBzdGF0S2luZCkKIAkJaWYg KHAtPmRyb3BwZWQpCiAJCQljb250aW51ZTsKIAorCQlpZiAoc3RhdEtpbmQgIT0gUEdTVEFU X0tJTkRfSU5WQUxJRCAmJiBzdGF0S2luZCAhPSBwLT5rZXkua2luZCkKKwkJCS8qIExvYWQg c3RhdCBvZiBzcGVjaWZpYyB0eXBlLCBpZiBkZWZpbmVkICovCisJCQljb250aW51ZTsKKwog CQlBc3NlcnQocGdfYXRvbWljX3JlYWRfdTMyKCZwLT5yZWZjb3VudCkgPiAwKTsKIAogCQlz dGF0c19kYXRhID0gZHNhX2dldF9hZGRyZXNzKHBnU3RhdExvY2FsLmRzYSwgcC0+Ym9keSk7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRp b24uYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jCmlu ZGV4IGUwMjM5MjZmZjA1Li5jNjE5NDU4NGIzNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKQEAgLTEwMTYsNiArMTAxNiw5IEBAIHN0 YXRpYyB2b2lkCiBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0 ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAogCQkJCQkJCSAgIGJvb2wgYWNjdW11bGF0ZV9y ZWx0eXBlX3NwZWNpZmljX2luZm8pCiB7CisJaWYoIXBnc3RhdF90cmFja192YWN1dW1fc3Rh dGlzdGljcykKKwkJcmV0dXJuOworCiAJZHN0LT50b3RhbF9ibGtzX3JlYWQgKz0gc3JjLT50 b3RhbF9ibGtzX3JlYWQ7CiAJZHN0LT50b3RhbF9ibGtzX2hpdCArPSBzcmMtPnRvdGFsX2Js a3NfaGl0OwogCWRzdC0+dG90YWxfYmxrc19kaXJ0aWVkICs9IHNyYy0+dG90YWxfYmxrc19k aXJ0aWVkOwpAQCAtMTAzMSwyMCArMTAzNCwzNSBAQCBwZ3N0YXRfYWNjdW11bGF0ZV9leHR2 YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpkc3QsIEV4dFZhY1JlcG9ydCAqc3JjLAogCWlmICgh YWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8pCiAJCXJldHVybjsKIAotCWRzdC0+ Ymxrc19mZXRjaGVkICs9IHNyYy0+Ymxrc19mZXRjaGVkOwotCWRzdC0+Ymxrc19oaXQgKz0g c3JjLT5ibGtzX2hpdDsKLQotCWRzdC0+cGFnZXNfc2Nhbm5lZCArPSBzcmMtPnBhZ2VzX3Nj YW5uZWQ7Ci0JZHN0LT5wYWdlc19yZW1vdmVkICs9IHNyYy0+cGFnZXNfcmVtb3ZlZDsKLQlk c3QtPnZtX25ld19mcm96ZW5fcGFnZXMgKz0gc3JjLT52bV9uZXdfZnJvemVuX3BhZ2VzOwot CWRzdC0+dm1fbmV3X3Zpc2libGVfcGFnZXMgKz0gc3JjLT52bV9uZXdfdmlzaWJsZV9wYWdl czsKLQlkc3QtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyArPSBzcmMtPnZtX25ld192 aXNpYmxlX2Zyb3plbl9wYWdlczsKLQlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVw bGVzX2RlbGV0ZWQ7Ci0JZHN0LT50dXBsZXNfZnJvemVuICs9IHNyYy0+dHVwbGVzX2Zyb3pl bjsKLQlkc3QtPnJlY2VudGx5X2RlYWRfdHVwbGVzICs9IHNyYy0+cmVjZW50bHlfZGVhZF90 dXBsZXM7Ci0JZHN0LT5pbmRleF92YWN1dW1fY291bnQgKz0gc3JjLT5pbmRleF92YWN1dW1f Y291bnQ7Ci0JZHN0LT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50ICs9IHNyYy0+d3JhcGFy b3VuZF9mYWlsc2FmZV9jb3VudDsKLQlkc3QtPm1pc3NlZF9kZWFkX3BhZ2VzICs9IHNyYy0+ bWlzc2VkX2RlYWRfcGFnZXM7Ci0JZHN0LT5taXNzZWRfZGVhZF90dXBsZXMgKz0gc3JjLT5t aXNzZWRfZGVhZF90dXBsZXM7CisJaWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lO VkFMSUQpCisJCWRzdC0+dHlwZSA9IHNyYy0+dHlwZTsKKworCUFzc2VydChzcmMtPnR5cGUg PT0gUEdTVEFUX0VYVFZBQ19JTlZBTElEIHx8IHNyYy0+dHlwZSA9PSBkc3QtPnR5cGUpOwor CisJaWYgKGRzdC0+dHlwZSA9PSBzcmMtPnR5cGUpCisJeworCQlkc3QtPmJsa3NfZmV0Y2hl ZCArPSBzcmMtPmJsa3NfZmV0Y2hlZDsKKwkJZHN0LT5ibGtzX2hpdCArPSBzcmMtPmJsa3Nf aGl0OwogCisJCWlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19UQUJMRSkKKwkJewor CQkJZHN0LT50YWJsZS5wYWdlc19zY2FubmVkICs9IHNyYy0+dGFibGUucGFnZXNfc2Nhbm5l ZDsKKwkJCWRzdC0+dGFibGUucGFnZXNfcmVtb3ZlZCArPSBzcmMtPnRhYmxlLnBhZ2VzX3Jl bW92ZWQ7CisJCQlkc3QtPnRhYmxlLnZtX25ld19mcm96ZW5fcGFnZXMgKz0gc3JjLT50YWJs ZS52bV9uZXdfZnJvemVuX3BhZ2VzOworCQkJZHN0LT50YWJsZS52bV9uZXdfdmlzaWJsZV9w YWdlcyArPSBzcmMtPnRhYmxlLnZtX25ld192aXNpYmxlX3BhZ2VzOworCQkJZHN0LT50YWJs ZS52bV9uZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMgKz0gc3JjLT50YWJsZS52bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXM7CisJCQlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVw bGVzX2RlbGV0ZWQ7CisJCQlkc3QtPnRhYmxlLnR1cGxlc19mcm96ZW4gKz0gc3JjLT50YWJs ZS50dXBsZXNfZnJvemVuOworCQkJZHN0LT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlcyAr PSBzcmMtPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzOworCQkJZHN0LT50YWJsZS5pbmRl eF92YWN1dW1fY291bnQgKz0gc3JjLT50YWJsZS5pbmRleF92YWN1dW1fY291bnQ7CisJCQlk c3QtPnRhYmxlLm1pc3NlZF9kZWFkX3BhZ2VzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRf cGFnZXM7CisJCQlkc3QtPnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxlcyArPSBzcmMtPnRhYmxl Lm1pc3NlZF9kZWFkX3R1cGxlczsKKwkJCWRzdC0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2Fm ZV9jb3VudCArPSBzcmMtPnRhYmxlLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CisJCX0K KwkJZWxzZSBpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfSU5ERVgpCisJCXsKKwkJ CWRzdC0+aW5kZXgucGFnZXNfZGVsZXRlZCArPSBzcmMtPmluZGV4LnBhZ2VzX2RlbGV0ZWQ7 CisJCQlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+dHVwbGVzX2RlbGV0ZWQ7CisJCX0K Kwl9CiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQv cGdzdGF0ZnVuY3MuYwppbmRleCBlZTQ2MWVhMzc4ZC4uZGVmZTE5OTBlMTEgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yMzc0LDE4ICsyMzc0LDE5IEBAIHBn X3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoUEdfRlVOQ1RJT05fQVJHUykKIAkJCQkJCQkJCWV4 dHZhY3V1bS0+Ymxrc19oaXQpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPmJsa3NfaGl0KTsKIAotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnBhZ2VzX3NjYW5uZWQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnBhZ2VzX3JlbW92ZWQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPnZtX25ld19mcm96ZW5fcGFnZXMpOwotCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bShleHR2YWN1dW0tPnZtX25ld192aXNpYmxlX3BhZ2VzKTsKLQl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT52bV9uZXdfdmlzaWJsZV9mcm96ZW5f cGFnZXMpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPm1pc3Nl ZF9kZWFkX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVt LT50YWJsZS5wYWdlc19zY2FubmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT50YWJsZS5wYWdlc19yZW1vdmVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS52bV9uZXdfZnJvemVuX3BhZ2VzKTsKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS52bV9uZXdfdmlzaWJs ZV9wYWdlcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFi bGUudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0 R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5taXNzZWRfZGVhZF9wYWdlcyk7CiAJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dHVwbGVzX2RlbGV0ZWQpOwotCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxlc19mcm96ZW4pOwot CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnJlY2VudGx5X2RlYWRf dHVwbGVzKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5taXNz ZWRfZGVhZF90dXBsZXMpOwotCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1 dW0tPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOwotCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPmluZGV4X3ZhY3V1bV9jb3VudCk7CisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUudHVwbGVzX2Zyb3plbik7CisJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUucmVjZW50bHlfZGVh ZF90dXBsZXMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRh YmxlLm1pc3NlZF9kZWFkX3R1cGxlcyk7CisKKwl2YWx1ZXNbaSsrXSA9IEludDMyR2V0RGF0 dW0oZXh0dmFjdXVtLT50YWJsZS53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKKwl2YWx1 ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5pbmRleF92YWN1dW1f Y291bnQpOwogCiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2Fs X3JlY29yZHMpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndh bF9mcGkpOwpAQCAtMjQwNCw2ICsyNDA1LDExNiBAQCBwZ19zdGF0X2dldF92YWN1dW1fdGFi bGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNV VU1fVEFCTEVTX1NUQVRTX0NPTFMpOwogCisJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERh dHVtICovCisJUEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90 dXBsZSh0dXBkZXNjLCB2YWx1ZXMsIG51bGxzKSkpOworfQorCisvKgorICogR2V0IHRoZSB2 YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGhlYXAgdGFibGVzLgorICovCitEYXR1bQorcGdf c3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwkjZGVmaW5l IFBHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTCTE2CisKKwlPaWQJCQkJCQly ZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJUGdTdGF0X1N0YXRUYWJFbnRyeSAgICAgKnRh YmVudHJ5OworCUV4dFZhY1JlcG9ydCAJCQkqZXh0dmFjdXVtOworCVR1cGxlRGVzYwkJCQkg dHVwZGVzYzsKKwlEYXR1bQkJCQkJIHZhbHVlc1tQR19TVEFUX0dFVF9WQUNVVU1fSU5ERVhf U1RBVFNfQ09MU10gPSB7MH07CisJYm9vbAkJCQkJIG51bGxzW1BHX1NUQVRfR0VUX1ZBQ1VV TV9JTkRFWF9TVEFUU19DT0xTXSA9IHswfTsKKwljaGFyCQkJCQkgYnVmWzI1Nl07CisJaW50 CQkJCQkJIGkgPSAwOworCUV4dFZhY1JlcG9ydCBhbGx6ZXJvOworCisJLyogSW5pdGlhbGlz ZSBhdHRyaWJ1dGVzIGluZm9ybWF0aW9uIGluIHRoZSB0dXBsZSBkZXNjcmlwdG9yICovCisJ dHVwZGVzYyA9IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNjKFBHX1NUQVRfR0VUX1ZBQ1VVTV9J TkRFWF9TVEFUU19DT0xTKTsKKworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0 ck51bWJlcikgKytpLCAicmVsaWQiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisJVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF8gYmxr c19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc19oaXQiLAorCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2RpcnRpZWQiLAorCQkJCQkgICBJTlQ4T0lELCAt MSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJ0b3RhbF9ibGtzX3dyaXR0ZW4iLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJyZWxfYmxrc19y ZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0 dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicmVsX2Jsa3NfaGl0IiwKKwkJCQkJICAgSU5U OE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgKytpLCAicGFnZXNfZGVsZXRlZCIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInR1cGxlc19k ZWxldGVkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX3JlY29yZHMiLAorCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ3YWxfZnBpIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2J5dGVzIiwK KwkJCQkJICAgTlVNRVJJQ09JRCwgLTEsIDApOworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfcmVhZF90aW1lIiwKKwkJCQkJICAgRkxP QVQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJibGtfd3JpdGVfdGltZSIsCisJCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDAp OworCisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJk ZWxheV90aW1lIiwKKwkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF90aW1lIiwKKwkJCQkJ ICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNV VU1fSU5ERVhfU1RBVFNfQ09MUyk7CisKKwlCbGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsKKwor CXRhYmVudHJ5ID0gcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnkocmVsaWQpOworCisJaWYg KHRhYmVudHJ5ID09IE5VTEwpCisJeworCQkvKiBJZiB0aGUgc3Vic2NyaXB0aW9uIGlzIG5v dCBmb3VuZCwgaW5pdGlhbGlzZSBpdHMgc3RhdHMgKi8KKwkJbWVtc2V0KCZhbGx6ZXJvLCAw LCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisJCWV4dHZhY3V1bSA9ICZhbGx6ZXJvOworCX0K KwllbHNlCisJeworCQlleHR2YWN1dW0gPSAmKHRhYmVudHJ5LT52YWN1dW1fZXh0KTsKKwl9 CisKKwlpID0gMDsKKworCXZhbHVlc1tpKytdID0gT2JqZWN0SWRHZXREYXR1bShyZWxpZCk7 CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtz X3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFs X2Jsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50 b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2 YWN1dW0tPnRvdGFsX2Jsa3Nfd3JpdHRlbik7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0 RGF0dW0oZXh0dmFjdXVtLT5ibGtzX2ZldGNoZWQgLQorCQkJCQkJCQkJZXh0dmFjdXVtLT5i bGtzX2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Ymxr c19oaXQpOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+aW5k ZXgucGFnZXNfZGVsZXRlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZh Y3V1bS0+dHVwbGVzX2RlbGV0ZWQpOworCisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVt KGV4dHZhY3V1bS0+d2FsX3JlY29yZHMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1 bShleHR2YWN1dW0tPndhbF9mcGkpOworCisJLyogQ29udmVydCB0byBudW1lcmljLCBsaWtl IHBnX3N0YXRfc3RhdGVtZW50cyAqLworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgVUlO VDY0X0ZPUk1BVCwgZXh0dmFjdXVtLT53YWxfYnl0ZXMpOworCXZhbHVlc1tpKytdID0gRGly ZWN0RnVuY3Rpb25DYWxsMyhudW1lcmljX2luLAorCQkJCQkJCQkJICBDU3RyaW5nR2V0RGF0 dW0oYnVmKSwKKwkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bSgwKSwKKwkJCQkJCQkJCSAg SW50MzJHZXREYXR1bSgtMSkpOworCisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShl eHR2YWN1dW0tPmJsa19yZWFkX3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0 dW0oZXh0dmFjdXVtLT5ibGtfd3JpdGVfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhH ZXREYXR1bShleHR2YWN1dW0tPmRlbGF5X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4 R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF90aW1lKTsKKworCUFzc2VydChpID09IFBHX1NU QVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKKwogCS8qIFJldHVybnMgdGhlIHJl Y29yZCBhcyBEYXR1bSAqLwogCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXREYXR1bSho ZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKIH0KXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCAwZjQx ZjlkMDY1OC4uMmE4YjZiMmMxYjggMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAt MTI2MDYsNCArMTI2MDYsMTMgQEAKICAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfcmV2X2Fs bF9mcm96ZW5fcGFnZXMnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBw cm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3Jldl9hbGxfZnJvemVuX3BhZ2VzJyB9LAoreyBvaWQg PT4gJzgwMDQnLAorICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgcmV0 dXJuIHN0YXRzIHZhbHVlcycsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9p bmRleGVzJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5 cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4gJ2YnLAorICBwcm9yZXRzZXQgPT4gJ3Qn LAorICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAgcHJvYWxsYXJndHlwZXMgPT4gJ3tvaWQs b2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGludDgs bnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDh9JywKKyAgcHJvYXJnbW9kZXMg PT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFt ZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxfYmxrc19yZWFkLHRvdGFsX2Jsa3NfaGl0LHRv dGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4scmVsX2Jsa3NfcmVhZCxyZWxf Ymxrc19oaXQscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZCx3YWxfcmVjb3Jkcyx3YWxf ZnBpLHdhbF9ieXRlcyxibGtfcmVhZF90aW1lLGJsa193cml0ZV90aW1lLGRlbGF5X3RpbWUs dG90YWxfdGltZX0nLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVz JyB9CiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCBiL3Ny Yy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCmluZGV4IDRkMDVlMWEwZmFjLi5kY2M1NDI3 NTBiOCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKKysrIGIv c3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNs dWRlICJzdG9yYWdlL2J1Zi5oIgogI2luY2x1ZGUgInN0b3JhZ2UvbG9jay5oIgogI2luY2x1 ZGUgInV0aWxzL3JlbGNhY2hlLmgiCisjaW5jbHVkZSAicGdzdGF0LmgiCiAKIC8qCiAgKiBG bGFncyBmb3IgYW1wYXJhbGxlbHZhY3V1bW9wdGlvbnMgdG8gY29udHJvbCB0aGUgcGFydGlj aXBhdGlvbiBvZiBidWxrZGVsZXRlCkBAIC0yOTUsNiArMjk2LDI2IEBAIHR5cGVkZWYgc3Ry dWN0IFZhY0RlYWRJdGVtc0luZm8KIAlpbnQ2NAkJbnVtX2l0ZW1zOwkJLyogY3VycmVudCAj IG9mIGVudHJpZXMgKi8KIH0gVmFjRGVhZEl0ZW1zSW5mbzsKIAorLyoKKyAqIENvdW50ZXJz IGFuZCB1c2FnZSBkYXRhIGZvciBleHRlbmRlZCBzdGF0cyB0cmFja2luZy4KKyAqLwordHlw ZWRlZiBzdHJ1Y3QgTFZFeHRTdGF0Q291bnRlcnMKK3sKKwlUaW1lc3RhbXBUeiBzdGFydHRp bWU7CisJV2FsVXNhZ2UJd2FsdXNhZ2U7CisJQnVmZmVyVXNhZ2UgYnVmdXNhZ2U7CisJZG91 YmxlCQlWYWN1dW1EZWxheVRpbWU7CisJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2ZldGNoZWQ7 CisJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2hpdDsKK30gTFZFeHRTdGF0Q291bnRlcnM7CisK K3R5cGVkZWYgc3RydWN0IExWRXh0U3RhdENvdW50ZXJzSWR4Cit7CisJTFZFeHRTdGF0Q291 bnRlcnMgY29tbW9uOworCWludDY0CQlwYWdlc19kZWxldGVkOworCWludDY0CQl0dXBsZXNf cmVtb3ZlZDsKK30gTFZFeHRTdGF0Q291bnRlcnNJZHg7CisKIC8qIEdVQyBwYXJhbWV0ZXJz ICovCiBleHRlcm4gUEdETExJTVBPUlQgaW50IGRlZmF1bHRfc3RhdGlzdGljc190YXJnZXQ7 CS8qIFBHRExMSU1QT1JUIGZvciBQb3N0R0lTICovCiBleHRlcm4gUEdETExJTVBPUlQgaW50 IHZhY3V1bV9mcmVlemVfbWluX2FnZTsKQEAgLTQwOCw0ICs0MjksOCBAQCBleHRlcm4gZG91 YmxlIGFubF9yYW5kb21fZnJhY3Qodm9pZCk7CiBleHRlcm4gZG91YmxlIGFubF9pbml0X3Nl bGVjdGlvbl9zdGF0ZShpbnQgbik7CiBleHRlcm4gZG91YmxlIGFubF9nZXRfbmV4dF9TKGRv dWJsZSB0LCBpbnQgbiwgZG91YmxlICpzdGF0ZXB0cik7CiAKK2V4dGVybiB2b2lkIGV4dHZh Y19zdGF0c19zdGFydF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQg KnN0YXRzLAorCQkJCQkgICBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMpOworZXh0 ZXJuIHZvaWQgZXh0dmFjX3N0YXRzX2VuZF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtE ZWxldGVSZXN1bHQgKnN0YXRzLAorCQkJCQkgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50 ZXJzLCBFeHRWYWNSZXBvcnQgKnJlcG9ydCk7CiAjZW5kaWYJCQkJCQkJLyogVkFDVVVNX0gg Ki8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdz dGF0LmgKaW5kZXggOWUzN2I5NmRlOTIuLjFmMTQwMmQ0MTc5IDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMTExLDEx ICsxMTEsMTkgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0JhY2tlbmRTdWJFbnRyeQogCVBn U3RhdF9Db3VudGVyIGNvbmZsaWN0X2NvdW50W0NPTkZMSUNUX05VTV9UWVBFU107CiB9IFBn U3RhdF9CYWNrZW5kU3ViRW50cnk7CiAKKy8qIFR5cGUgb2YgRXh0VmFjUmVwb3J0ICovCit0 eXBlZGVmIGVudW0gRXh0VmFjUmVwb3J0VHlwZQoreworCVBHU1RBVF9FWFRWQUNfSU5WQUxJ RCA9IDAsCisJUEdTVEFUX0VYVFZBQ19UQUJMRSA9IDEsCisJUEdTVEFUX0VYVFZBQ19JTkRF WCA9IDIKK30gRXh0VmFjUmVwb3J0VHlwZTsKKwogLyogLS0tLS0tLS0tLQogICoKICAqIEV4 dFZhY1JlcG9ydAogICoKLSAqIEFkZGl0aW9uYWwgc3RhdGlzdGljcyBvZiB2YWN1dW0gcHJv Y2Vzc2luZyBvdmVyIGEgaGVhcCByZWxhdGlvbi4KKyAqIEFkZGl0aW9uYWwgc3RhdGlzdGlj cyBvZiB2YWN1dW0gcHJvY2Vzc2luZyBvdmVyIGEgcmVsYXRpb24uCiAgKiBwYWdlc19yZW1v dmVkIGlzIHRoZSBhbW91bnQgYnkgd2hpY2ggdGhlIHBoeXNpY2FsbHkgc2hyYW5rLAogICog aWYgYW55IChpZSB0aGUgY2hhbmdlIGluIGl0cyB0b3RhbCBzaXplIG9uIGRpc2spCiAgKiBw YWdlc19kZWxldGVkIHJlZmVyIHRvIGZyZWUgc3BhY2Ugd2l0aGluIHRoZSBpbmRleCBmaWxl CkBAIC0xNDQsMTggKzE1Miw0NCBAQCB0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKIAlk b3VibGUJCWRlbGF5X3RpbWU7CQkvKiBob3cgbG9uZyB2YWN1dW0gc2xlcHQgaW4gdmFjdXVt IGRlbGF5IHBvaW50LCBpbiBtc2VjICovCiAJZG91YmxlCQl0b3RhbF90aW1lOwkJLyogdG90 YWwgdGltZSBvZiBhIHZhY3V1bSBvcGVyYXRpb24sIGluIG1zZWMgKi8KIAotCWludDY0CQlw YWdlc19zY2FubmVkOwkJLyogaGVhcCBwYWdlcyBleGFtaW5lZCAobm90IHNraXBwZWQgYnkg Vk0pICovCi0JaW50NjQJCXBhZ2VzX3JlbW92ZWQ7CQkvKiBoZWFwIHBhZ2VzIHJlbW92ZWQg YnkgdmFjdXVtICJ0cnVuY2F0aW9uIiAqLwotCWludDY0CQl2bV9uZXdfZnJvemVuX3BhZ2Vz OwkJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGZyb3plbiAqLwotCWludDY0CQl2bV9uZXdf dmlzaWJsZV9wYWdlczsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICov Ci0JaW50NjQJCXZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlczsJLyogcGFnZXMgbWFya2Vk IGluIFZNIGFzIGFsbC12aXNpYmxlIGFuZCBmcm96ZW4gKi8KLQlpbnQ2NAkJbWlzc2VkX2Rl YWRfdHVwbGVzOwkJLyogdHVwbGVzIG5vdCBwcnVuZWQgYnkgdmFjdXVtIGR1ZSB0byBmYWls dXJlIHRvIGdldCBhIGNsZWFudXAgbG9jayAqLwotCWludDY0CQltaXNzZWRfZGVhZF9wYWdl czsJCS8qIHBhZ2VzIHdpdGggbWlzc2VkIGRlYWQgdHVwbGVzICovCiAJaW50NjQJCXR1cGxl c19kZWxldGVkOwkJLyogdHVwbGVzIGRlbGV0ZWQgYnkgdmFjdXVtICovCi0JaW50NjQJCXR1 cGxlc19mcm96ZW47CQkvKiB0dXBsZXMgZnJvemVuIHVwIGJ5IHZhY3V1bSAqLwotCWludDY0 CQlyZWNlbnRseV9kZWFkX3R1cGxlczsJLyogZGVsZXRlZCB0dXBsZXMgdGhhdCBhcmUgc3Rp bGwgdmlzaWJsZSB0byBzb21lIHRyYW5zYWN0aW9uICovCi0JaW50NjQJCWluZGV4X3ZhY3V1 bV9jb3VudDsJLyogdGhlIG51bWJlciBvZiBpbmRleCB2YWN1dW1pbmdzICovCi0JaW50MzIJ CXdyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CS8qIG51bWJlciBvZiBlbWVyZ2VuY3kgdmFj dXVtcyB0byBwcmV2ZW50IGFudGktd3JhcGFyb3VuZCBzaHV0ZG93biAqLworCisJRXh0VmFj UmVwb3J0VHlwZSB0eXBlOwkJLyogaGVhcCwgaW5kZXgsIGV0Yy4gKi8KKworCS8qIC0tLS0t LS0tLS0KKwkgKgorCSAqIFRoZXJlIGFyZSBzZXBhcmF0ZSBtZXRyaWNzIG9mIHN0YXRpc3Rp YyBmb3IgdGFibGVzIGFuZCBpbmRleGVzLAorCSAqIHdoaWNoIGNvbGxlY3QgZHVyaW5nIHZh Y3V1bS4KKwkgKiBUaGUgdW5pb24gb3BlcmF0b3IgYWxsb3dzIHRvIGNvbWJpbmUgdGhlc2Ug c3RhdGlzdGljcworCSAqIHNvIHRoYXQgZWFjaCBtZXRyaWMgaXMgYXNzaWduZWQgdG8gYSBz cGVjaWZpYyBjbGFzcyBvZiBjb2xsZWN0ZWQgc3RhdGlzdGljcy4KKwkgKiBTdWNoIGEgY29t YmluZWQgc3RydWN0dXJlIHdhcyBjYWxsZWQgcGVyX3R5cGVfc3RhdHMuCisJICogVGhlIG5h bWUgb2YgdGhlIHN0cnVjdHVyZSBpdHNlbGYgaXMgbm90IHVzZWQgYW55d2hlcmUsCisJICog aXQgZXhpc3RzIG9ubHkgZm9yIHVuZGVyc3RhbmRpbmcgdGhlIGNvZGUuCisJICogLS0tLS0t LS0tLQorCSovCisJdW5pb24KKwl7CisJCXN0cnVjdAorCQl7CisJCQlpbnQ2NAkJcGFnZXNf c2Nhbm5lZDsJCS8qIGhlYXAgcGFnZXMgZXhhbWluZWQgKG5vdCBza2lwcGVkIGJ5IFZNKSAq LworCQkJaW50NjQJCXBhZ2VzX3JlbW92ZWQ7CQkvKiBoZWFwIHBhZ2VzIHJlbW92ZWQgYnkg dmFjdXVtICJ0cnVuY2F0aW9uIiAqLworCQkJaW50NjQJCXBhZ2VzX2Zyb3plbjsJCS8qIHBh Z2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96ZW4gKi8KKwkJCWludDY0CQlwYWdlc19hbGxfdmlz aWJsZTsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICovCisJCQlpbnQ2 NAkJdHVwbGVzX2Zyb3plbjsJCS8qIHR1cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJ CQlpbnQ2NAkJcmVjZW50bHlfZGVhZF90dXBsZXM7CS8qIGRlbGV0ZWQgdHVwbGVzIHRoYXQg YXJlIHN0aWxsIHZpc2libGUgdG8gc29tZSB0cmFuc2FjdGlvbiAqLworCQkJaW50NjQJCXZt X25ld19mcm96ZW5fcGFnZXM7CQkvKiBwYWdlcyBtYXJrZWQgaW4gVk0gYXMgZnJvemVuICov CisJCQlpbnQ2NAkJdm1fbmV3X3Zpc2libGVfcGFnZXM7CS8qIHBhZ2VzIG1hcmtlZCBpbiBW TSBhcyBhbGwtdmlzaWJsZSAqLworCQkJaW50NjQJCXZtX25ld192aXNpYmxlX2Zyb3plbl9w YWdlczsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlIGFuZCBmcm96ZW4g Ki8KKwkJCWludDY0CQltaXNzZWRfZGVhZF90dXBsZXM7CQkvKiB0dXBsZXMgbm90IHBydW5l ZCBieSB2YWN1dW0gZHVlIHRvIGZhaWx1cmUgdG8gZ2V0IGEgY2xlYW51cCBsb2NrICovCisJ CQlpbnQ2NAkJbWlzc2VkX2RlYWRfcGFnZXM7CQkvKiBwYWdlcyB3aXRoIG1pc3NlZCBkZWFk IHR1cGxlcyAqLworCQkJaW50NjQJCWluZGV4X3ZhY3V1bV9jb3VudDsJLyogbnVtYmVyIG9m IGluZGV4IHZhY3V1bWluZ3MgKi8KKwkJCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2Nv dW50OwkvKiBudW1iZXIgb2YgZW1lcmdlbmN5IHZhY3V1bXMgdG8gcHJldmVudCBhbnRpLXdy YXBhcm91bmQgc2h1dGRvd24gKi8KKwkJfQkJCXRhYmxlOworCQlzdHJ1Y3QKKwkJeworCQkJ aW50NjQJCXBhZ2VzX2RlbGV0ZWQ7CQkvKiBudW1iZXIgb2YgcGFnZXMgZGVsZXRlZCBieSB2 YWN1dW0gKi8KKwkJfQkJCWluZGV4OworCX0gLyogcGVyX3R5cGVfc3RhdHMgKi87CiB9IEV4 dFZhY1JlcG9ydDsKIAogLyogLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNv bGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQub3V0 IGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVw ZXRhYmxlLXJlYWQub3V0CmluZGV4IDg3ZjdlNDBiNGE2Li42ZDk2MDQyMzkxMiAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3ZhY3V1bS1leHRlbmRpbmctaW4t cmVwZXRhYmxlLXJlYWQub3V0CisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC92 YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFkLm91dApAQCAtMzQsNyArMzQsNyBA QCBzdGVwIHMyX3ByaW50X3ZhY3V1bV9zdGF0c190YWJsZToKIAogcmVsbmFtZSAgICAgICAg ICAgICAgICAgICB8dHVwbGVzX2RlbGV0ZWR8cmVjZW50bHlfZGVhZF90dXBsZXN8bWlzc2Vk X2RlYWRfdHVwbGVzfG1pc3NlZF9kZWFkX3BhZ2VzfHR1cGxlc19mcm96ZW4KIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi10 ZXN0X3ZhY3V1bV9zdGF0X2lzb2xhdGlvbnwgICAgICAgICAgICAgMHwgICAgICAgICAgICAg ICAgIDEwMHwgICAgICAgICAgICAgICAgIDB8ICAgICAgICAgICAgICAgIDB8ICAgICAgICAg ICAgMAordGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAgICAgIDB8ICAgICAg ICAgICAgICAgICA2MDB8ICAgICAgICAgICAgICAgICAwfCAgICAgICAgICAgICAgICAwfCAg ICAgICAgICAgIDAKICgxIHJvdykKIAogc3RlcCBzMV9jb21taXQ6IENPTU1JVDsKQEAgLTQ4 LDYgKzQ4LDYgQEAgc3RlcCBzMl9wcmludF92YWN1dW1fc3RhdHNfdGFibGU6CiAKIHJlbG5h bWUgICAgICAgICAgICAgICAgICAgfHR1cGxlc19kZWxldGVkfHJlY2VudGx5X2RlYWRfdHVw bGVzfG1pc3NlZF9kZWFkX3R1cGxlc3xtaXNzZWRfZGVhZF9wYWdlc3x0dXBsZXNfZnJvemVu CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLQotdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb258ICAgICAgICAgICAxMDB8ICAg ICAgICAgICAgICAgICAxMDB8ICAgICAgICAgICAgICAgICAwfCAgICAgICAgICAgICAgICAw fCAgICAgICAgICAxMDEKK3Rlc3RfdmFjdXVtX3N0YXRfaXNvbGF0aW9ufCAgICAgICAgICAg MzAwfCAgICAgICAgICAgICAgICAgNjAwfCAgICAgICAgICAgICAgICAgMHwgICAgICAgICAg ICAgICAgMHwgICAgICAgICAgMzAzCiAoMSByb3cpCiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9ydWxlcy5vdXQKaW5kZXggMzQ5ZTdkZWJhMDEuLmZkZDUzNDFiZGZjIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMjI5Myw2ICsyMjkzLDI4IEBAIHBnX3N0 YXRfdXNlcl90YWJsZXN8IFNFTEVDVCByZWxpZCwKICAgICByZXZfYWxsX3Zpc2libGVfcGFn ZXMKICAgIEZST00gcGdfc3RhdF9hbGxfdGFibGVzCiAgIFdIRVJFICgoc2NoZW1hbmFtZSA8 PiBBTEwgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9uX3NjaGVtYSc6 Om5hbWVdKSkgQU5EIChzY2hlbWFuYW1lICF+ICdecGdfdG9hc3QnOjp0ZXh0KSk7CitwZ19z dGF0X3ZhY3V1bV9pbmRleGVzfCBTRUxFQ1QgcmVsLm9pZCBBUyByZWxpZCwKKyAgICBucy5u c3BuYW1lIEFTIHNjaGVtYW5hbWUsCisgICAgcmVsLnJlbG5hbWUsCisgICAgc3RhdHMudG90 YWxfYmxrc19yZWFkLAorICAgIHN0YXRzLnRvdGFsX2Jsa3NfaGl0LAorICAgIHN0YXRzLnRv dGFsX2Jsa3NfZGlydGllZCwKKyAgICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAg c3RhdHMucmVsX2Jsa3NfcmVhZCwKKyAgICBzdGF0cy5yZWxfYmxrc19oaXQsCisgICAgc3Rh dHMucGFnZXNfZGVsZXRlZCwKKyAgICBzdGF0cy50dXBsZXNfZGVsZXRlZCwKKyAgICBzdGF0 cy53YWxfcmVjb3JkcywKKyAgICBzdGF0cy53YWxfZnBpLAorICAgIHN0YXRzLndhbF9ieXRl cywKKyAgICBzdGF0cy5ibGtfcmVhZF90aW1lLAorICAgIHN0YXRzLmJsa193cml0ZV90aW1l LAorICAgIHN0YXRzLmRlbGF5X3RpbWUsCisgICAgc3RhdHMudG90YWxfdGltZQorICAgRlJP TSAocGdfY2xhc3MgcmVsCisgICAgIEpPSU4gcGdfbmFtZXNwYWNlIG5zIE9OICgobnMub2lk ID0gcmVsLnJlbG5hbWVzcGFjZSkpKSwKKyAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1 bV9pbmRleGVzKHJlbC5vaWQpIHN0YXRzKHJlbGlkLCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFs X2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwgcmVs X2Jsa3NfcmVhZCwgcmVsX2Jsa3NfaGl0LCBwYWdlc19kZWxldGVkLCB0dXBsZXNfZGVsZXRl ZCwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxr X3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUpCisgIFdIRVJFIChyZWwucmVs a2luZCA9ICdpJzo6ImNoYXIiKTsKIHBnX3N0YXRfdmFjdXVtX3RhYmxlc3wgU0VMRUNUIG5z Lm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKICAgICByZWwucmVsbmFtZSwKICAgICBzdGF0cy5y ZWxpZCwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2lu ZGV4X3N0YXRpc3RpY3Mub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1f aW5kZXhfc3RhdGlzdGljcy5vdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLmUwMGEwZmM2ODNjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKQEAgLTAsMCArMSwxODMg QEAKKy0tCistLSBUZXN0IGN1bXVsYXRpdmUgdmFjdXVtIHN0YXRzIHN5c3RlbQorLS0KKy0t IENoZWNrIHRoZSB3YWxsIHN0YXRpc3RpY3MgY29sbGVjdGVkIGR1cmluZyB2YWN1dW0gb3Bl cmF0aW9uOgorLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyBzZXQgYnkg dmFjdXVtOworLS0gbnVtYmVyIG9mIGZyb3plbiBhbmQgdmlzaWJsZSBwYWdlcyByZW1vdmVk IGJ5IGJhY2tlbmQuCistLSBTdGF0aXN0aWMgd2FsX2ZwaSBpcyBub3QgZGlzcGxheWVkIGlu IHRoaXMgdGVzdCBiZWNhdXNlIGl0cyBiZWhhdmlvciBpcyB1bnN0YWJsZS4KKy0tCistLSBj b25kaXRpbyBzaW5lIHF1YSBub24KK1NIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBv bgorIHRyYWNrX2NvdW50cyAKKy0tLS0tLS0tLS0tLS0tCisgb24KKygxIHJvdykKKworXHNl dCBzYW1wbGVfc2l6ZSAxMDAwMAorLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdl IHdhbnQgdG8gdGVzdCBpdC4uLgorU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKKy0t IFRlc3QgdGhhdCB2YWN1dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1l dGVyIGlzIG9mZi4KK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKK0NS RUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBv ZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJP TSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3Rh dDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CitWQUNVVU0gKFBBUkFM TEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKy0tIE11c3QgYmUgZW1w dHkuCitTRUxFQ1QgKgorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0CitXSEVSRSB2 dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CisgcmVsaWQgfCBzY2hlbWFuYW1lIHwgcmVsbmFtZSB8 IHRvdGFsX2Jsa3NfcmVhZCB8IHRvdGFsX2Jsa3NfaGl0IHwgdG90YWxfYmxrc19kaXJ0aWVk IHwgdG90YWxfYmxrc193cml0dGVuIHwgcmVsX2Jsa3NfcmVhZCB8IHJlbF9ibGtzX2hpdCB8 IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCB8IHdhbF9yZWNvcmRzIHwgd2FsX2Zw aSB8IHdhbF9ieXRlcyB8IGJsa19yZWFkX3RpbWUgfCBibGtfd3JpdGVfdGltZSB8IGRlbGF5 X3RpbWUgfCB0b3RhbF90aW1lIAorLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0 aXN0aWNzOworRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKK1NIT1cgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCisgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3Mg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgb24KKygxIHJvdykKKworLS0gZW5zdXJl IHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRf Zmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIAorKDEgcm93KQorCitcc2V0IHNhbXBsZV9zaXplIDEwMDAwCitTRVQg dmFjdXVtX2ZyZWV6ZV9taW5fYWdlID0gMDsKK1NFVCB2YWN1dW1fZnJlZXplX3RhYmxlX2Fn ZSA9IDA7CistLVNFVCBzdGF0c19mZXRjaF9jb25zaXN0ZW5jeSA9IHNuYXBzaG90OworQ1JF QVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQgcHJpbWFyeSBrZXkpIFdJVEggKGF1dG92YWN1dW1f ZW5hYmxlZCA9IG9mZiwgZmlsbGZhY3RvciA9IDEwKTsKK0lOU0VSVCBJTlRPIHZlc3RhdCBT RUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKK0FO QUxZWkUgdmVzdGF0OworU0VMRUNUIG9pZCBBUyBpb2lkIGZyb20gcGdfY2xhc3Mgd2hlcmUg cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVS RSB4ICUgMiA9IDA7CistLSBCZWZvcmUgdGhlIGZpcnN0IHZhY3V1bSBleGVjdXRpb24gZXh0 ZW5kZWQgc3RhdHMgdmlldyBpcyBlbXB0eS4KK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2Vz LHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg QU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2Vz X2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5IHwgICAgICAg MzAgfCAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAKKygxIHJvdykKKworU0VMRUNU IHJlbHBhZ2VzIEFTIGlycAorRlJPTSBwZ19jbGFzcyBjCitXSEVSRSByZWxuYW1lID0gJ3Zl c3RhdF9wa2V5JyBcZ3NldAorVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElN SVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3Nhcnkg dG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gVGhlIHRhYmxl IGFuZCBpbmRleCBleHRlbmRlZCB2YWN1dW0gc3RhdGlzdGljcyBzaG91bGQgc2hvdyB1cyB0 aGF0CistLSB2YWN1dW0gZnJvemVkIHBhZ2VzIGFuZCBjbGVhbiB1cCBwYWdlcywgYnV0IHBh Z2VzX3JlbW92ZWQgc3RheWVkIHRoZSBzYW1lCistLSBiZWNhdXNlIG9mIG5vdCBmdWxsIHRh YmxlIGhhdmUgY2xlYW5lZCB1cAorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9 IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBs ZXNfZGVsZXRlZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBh Z2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5IHwgdCAg ICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFt ZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQg QVMgaXRkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dI RVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxn c2V0CistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxf cmVjb3JkcyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxn c2V0CistLSBMb29rIGludG8gV0FMIHJlY29yZHMgZGVsdGFzLgorU0VMRUNUIHdhbF9yZWNv cmRzID4gMCBBUyBkaVdSLCB3YWxfYnl0ZXMgPiAwIEFTIGRpV0IKK0ZST00gcGdfc3RhdF92 YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JzsKKyBkaXdyIHwg ZGl3YiAKKy0tLS0tLSstLS0tLS0KKyB0ICAgIHwgdAorKDEgcm93KQorCitERUxFVEUgRlJP TSB2ZXN0YXQ7OworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4 LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hl Y2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BPSU5UOworLS0gcGFnZXNfcmVtb3ZlZCBt dXN0IGJlIGluY3JlYXNlZAorU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAg QVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID4gMCBBUyBwYWdlc19kZWxldGVkLHR1 cGxlc19kZWxldGVkLTppdGQgPiAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRf dmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVz dGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOworICAgcmVsbmFtZSAgIHwgcmVscGFn ZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtl eSB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworU0VMRUNUIHZ0 LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19k ZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFz cyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBj Lm9pZCBcZ3NldAorLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxF Q1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiLCB3 YWxfZnBpLTppZnBpIEFTIGRpZnBpCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hF UkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKy0tIFdBTCBhZHZhbmNlIHNob3Vs ZCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3ciA+IDAgQVMgZGlXUiwgOmRpd2IgPiAwIEFT IGRpV0I7CisgZGl3ciB8IGRpd2IgCistLS0tLS0rLS0tLS0tCisgdCAgICB8IHQKKygxIHJv dykKKworLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2Fs X3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00g cGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBc Z3NldAorSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVz KDEsOnNhbXBsZV9zaXplKSBhcyB4OworREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAy ID0gMDsKKy0tIFZBQ1VVTSBGVUxMIGRvZXNuJ3QgcmVwb3J0IHRvIHN0YXQgY29sbGVjdG9y LiBTbywgbm8gYW55IGFkdmFuY2VtZW50cyBvZiBzdGF0aXN0aWNzCistLSBhcmUgZGV0ZWN0 ZWQgaGVyZS4KK1ZBQ1VVTSBGVUxMIHZlc3RhdDsKKy0tIEl0IGlzIG5lY2Vzc2FyeSB0byBj aGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3Iy LCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiMiwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTIKK0ZS T00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBcZ3NldAorLS0gV0FMIGFuZCBvdGhlciBzdGF0aXN0aWNzIGFkdmFuY2Ugc2hvdWxkIG5v dCBiZSBkZXRlY3RlZC4KK1NFTEVDVCA6ZGl3cjI9MCBBUyBkaVdSLCA6ZGlmcGkyPTAgQVMg aUZQSSwgOmRpd2IyPTAgQVMgZGlXQjsKKyBkaXdyIHwgaWZwaSB8IGRpd2IgCistLS0tLS0r LS0tLS0tKy0tLS0tLQorIHQgICAgfCB0ICAgIHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQu cmVsbmFtZSxyZWxwYWdlcy06aXJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTpp cGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVw bGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3Mg YworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5v aWQ7CisgICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNf ZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5IHwgdCAgICAgICAgfCB0ICAgICAgICAgICAg IHwgdAorKDEgcm93KQorCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFn ZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9NIHBnX3N0YXRf dmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVz dGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5 dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitERUxFVEUgRlJPTSB2ZXN0 YXQ7CitUUlVOQ0FURSB2ZXN0YXQ7CitWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FH RV9MSU1JVCAxMjgsIElOREVYX0NMRUFOVVAgT04pIHZlc3RhdDsKKy0tIGl0IGlzIG5lY2Vz c2FyeSB0byBjaGVjayB0aGUgd2FsIHN0YXRpc3RpY3MKK0NIRUNLUE9JTlQ7CistLSBTdG9y ZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHR1cGxl cyBmcm9tIHRoZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3cjMsIHdh bF9ieXRlcy06aXdiIEFTIGRpd2IzLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpMworRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxn c2V0CistLVRoZXJlIGFyZSBub3RoaW5nIGNoYW5nZWQKK1NFTEVDVCA6ZGl3cjM9MCBBUyBk aVdSLCA6ZGlmcGkzPTAgQVMgaUZQSSwgOmRpd2IzPTAgQVMgZGlXQjsKKyBkaXdyIHwgaWZw aSB8IGRpd2IgCistLS0tLS0rLS0tLS0tKy0tLS0tLQorIHQgICAgfCB0ICAgIHwgdAorKDEg cm93KQorCistLQorLS0gTm93LCB0aGUgdGFibGUgYW5kIGluZGV4IGlzIGNvbXByZXNzZWQg aW50byB6ZXJvIG51bWJlciBvZiBwYWdlcy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1bSBleHRl bmRlZCBzdGF0aXN0aWNzLgorLS0gVGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2 YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxw YWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBh Z2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQK K0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisgICByZWxu YW1lICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LQorIHZlc3RhdF9wa2V5IHwgZiAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAorKDEgcm93 KQorCitEUk9QIFRBQkxFIHZlc3RhdDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv cGFyYWxsZWxfc2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxl CmluZGV4IGNkNzc5YWI4ZWNhLi40ZWIwMzM1MzEwNCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3BhcmFs bGVsX3NjaGVkdWxlCkBAIC0xNDQsNCArMTQ0LDUgQEAgdGVzdDogdGFibGVzcGFjZQogIyAt LS0tLS0tLS0tCiAjIENoZWNrIHZhY3V1bSBzdGF0aXN0aWNzCiAjIC0tLS0tLS0tLS0KK3Rl c3Q6IHZhY3V1bV9pbmRleF9zdGF0aXN0aWNzCiB0ZXN0OiB2YWN1dW1fdGFibGVzX3N0YXRp c3RpY3MKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwgYi9zcmMvdGVzdC9y ZWdyZXNzL3NxbC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5zcWwKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmFlMTQ2ZTFkMjNmCi0tLSAvZGV2L251bGwKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCkBA IC0wLDAgKzEsMTUxIEBACistLQorLS0gVGVzdCBjdW11bGF0aXZlIHZhY3V1bSBzdGF0cyBz eXN0ZW0KKy0tCistLSBDaGVjayB0aGUgd2FsbCBzdGF0aXN0aWNzIGNvbGxlY3RlZCBkdXJp bmcgdmFjdXVtIG9wZXJhdGlvbjoKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUg cGFnZXMgc2V0IGJ5IHZhY3V1bTsKKy0tIG51bWJlciBvZiBmcm96ZW4gYW5kIHZpc2libGUg cGFnZXMgcmVtb3ZlZCBieSBiYWNrZW5kLgorLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90 IGRpc3BsYXllZCBpbiB0aGlzIHRlc3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFi bGUuCistLQorLS0gY29uZGl0aW8gc2luZSBxdWEgbm9uCitTSE9XIHRyYWNrX2NvdW50czsg IC0tIG11c3QgYmUgb24KKworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorCistLSBub3QgZW5h YmxlZCBieSBkZWZhdWx0LCBidXQgd2Ugd2FudCB0byB0ZXN0IGl0Li4uCitTRVQgdHJhY2tf ZnVuY3Rpb25zIFRPICdhbGwnOworCistLSBUZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mg d2lsbCBiZSBlbXB0eSB3aGVuIHBhcmFtZXRlciBpcyBvZmYuCitTRVQgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3MgVE8gJ29mZic7CisKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHggaW50KSBX SVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNF UlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxl X3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKKworREVMRVRFIEZST00gdmVzdGF0IFdI RVJFIHggJSAyID0gMDsKKworVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElN SVQgMTI4KSB2ZXN0YXQ7CisKKy0tIE11c3QgYmUgZW1wdHkuCitTRUxFQ1QgKgorRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0CitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7 CisKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOworRFJPUCBUQUJMRSB2ZXN0YXQg Q0FTQ0FERTsKKworU0hPVyB0cmFja192YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUg b24KKworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19z dGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKworXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAorU0VU IHZhY3V1bV9mcmVlemVfbWluX2FnZSA9IDA7CitTRVQgdmFjdXVtX2ZyZWV6ZV90YWJsZV9h Z2UgPSAwOworLS1TRVQgc3RhdHNfZmV0Y2hfY29uc2lzdGVuY3kgPSBzbmFwc2hvdDsKK0NS RUFURSBUQUJMRSB2ZXN0YXQgKHggaW50IHByaW1hcnkga2V5KSBXSVRIIChhdXRvdmFjdXVt X2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7CitJTlNFUlQgSU5UTyB2ZXN0YXQg U0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CitB TkFMWVpFIHZlc3RhdDsKKworU0VMRUNUIG9pZCBBUyBpb2lkIGZyb20gcGdfY2xhc3Mgd2hl cmUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworREVMRVRFIEZST00gdmVzdGF0 IFdIRVJFIHggJSAyID0gMDsKKy0tIEJlZm9yZSB0aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlv biBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5LgorU0VMRUNUIHZ0LnJlbG5hbWUscmVs cGFnZXMscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1 bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9w a2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZDsKK1NFTEVDVCByZWxwYWdlcyBBUyBpcnAKK0ZS T00gcGdfY2xhc3MgYworV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKwor VkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVB TlVQIE9OKSB2ZXN0YXQ7CistLSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBz dGF0aXN0aWNzCitDSEVDS1BPSU5UOworCistLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4dGVu ZGVkIHZhY3V1bSBzdGF0aXN0aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKKy0tIHZhY3V1bSBm cm96ZWQgcGFnZXMgYW5kIGNsZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBzdGF5 ZWQgdGhlIHNhbWUKKy0tIGJlY2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVhbmVk IHVwCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxw YWdlc19kZWxldGVkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkID4gMCBB UyB0dXBsZXNfZGVsZXRlZAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19j bGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQg PSBjLm9pZDsKK1NFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19kZWxl dGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKKworLS0gU3RvcmUgV0FMIGFkdmFuY2Vz IGludG8gdmFyaWFibGVzCitTRUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBB UyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVS RSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCistLSBMb29rIGludG8gV0FMIHJl Y29yZHMgZGVsdGFzLgorU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyBkaVdSLCB3YWxfYnl0 ZXMgPiAwIEFTIGRpV0IKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxu YW1lID0gJ3Zlc3RhdF9wa2V5JzsKKworREVMRVRFIEZST00gdmVzdGF0OzsKK1ZBQ1VVTSAo UEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikg dmVzdGF0OworLS0gaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGlj cworQ0hFQ0tQT0lOVDsKKworLS0gcGFnZXNfcmVtb3ZlZCBtdXN0IGJlIGluY3JlYXNlZAor U0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNf ZGVsZXRlZC06aXBkID4gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQg PiAwIEFTIHR1cGxlc19kZWxldGVkCitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQs IHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5y ZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2Vz X2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFTIGl0ZAorRlJPTSBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIHZ0LCBwZ19jbGFzcyBjCitXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9pZCBcZ3NldAorCistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3Is IHdhbF9ieXRlcy06aXdiIEFTIGRpd2IsIHdhbF9mcGktOmlmcGkgQVMgZGlmcGkKK0ZST00g cGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBc Z3NldAorCistLSBXQUwgYWR2YW5jZSBzaG91bGQgYmUgZGV0ZWN0ZWQuCitTRUxFQ1QgOmRp d3IgPiAwIEFTIGRpV1IsIDpkaXdiID4gMCBBUyBkaVdCOworCistLSBTdG9yZSBXQUwgYWR2 YW5jZXMgaW50byB2YXJpYWJsZXMKK1NFTEVDVCB3YWxfcmVjb3JkcyBBUyBpd3Isd2FsX2J5 dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz IFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CisKK0lOU0VSVCBJTlRPIHZl c3RhdCBTRUxFQ1QgeCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMg eDsKK0RFTEVURSBGUk9NIHZlc3RhdCBXSEVSRSB4ICUgMiA9IDA7CistLSBWQUNVVU0gRlVM TCBkb2Vzbid0IHJlcG9ydCB0byBzdGF0IGNvbGxlY3Rvci4gU28sIG5vIGFueSBhZHZhbmNl bWVudHMgb2Ygc3RhdGlzdGljcworLS0gYXJlIGRldGVjdGVkIGhlcmUuCitWQUNVVU0gRlVM TCB2ZXN0YXQ7CistLSBJdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0 aWNzCitDSEVDS1BPSU5UOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJs ZXMKK1NFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IyLCB3YWxfYnl0ZXMtOml3YiBB UyBkaXdiMiwgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTIKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorCistLSBXQUwg YW5kIG90aGVyIHN0YXRpc3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgor U0VMRUNUIDpkaXdyMj0wIEFTIGRpV1IsIDpkaWZwaTI9MCBBUyBpRlBJLCA6ZGl3YjI9MCBB UyBkaVdCOworCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwIDwgMCBBUyByZWxw YWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2Rl bGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK0ZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitTRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyBB UyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCitGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKK1dIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CisKKy0tIFN0 b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcworU0VMRUNUIHdhbF9yZWNvcmRzIEFT IGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFj dXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKKworREVM RVRFIEZST00gdmVzdGF0OworVFJVTkNBVEUgdmVzdGF0OworVkFDVVVNIChQQVJBTExFTCAw LCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7Cist LSBpdCBpcyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIHdhbCBzdGF0aXN0aWNzCitDSEVDS1BP SU5UOworCistLSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMgYWZ0ZXIgcmVt b3ZpbmcgYWxsIHR1cGxlcyBmcm9tIHRoZSB0YWJsZQorU0VMRUNUIHdhbF9yZWNvcmRzLTpp d3IgQVMgZGl3cjMsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2IzLCB3YWxfZnBpLTppZnBpIEFT IGRpZnBpMworRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAn dmVzdGF0X3BrZXknIFxnc2V0CisKKy0tVGhlcmUgYXJlIG5vdGhpbmcgY2hhbmdlZAorU0VM RUNUIDpkaXdyMz0wIEFTIGRpV1IsIDpkaWZwaTM9MCBBUyBpRlBJLCA6ZGl3YjM9MCBBUyBk aVdCOworCistLQorLS0gTm93LCB0aGUgdGFibGUgYW5kIGluZGV4IGlzIGNvbXByZXNzZWQg aW50byB6ZXJvIG51bWJlciBvZiBwYWdlcy4gQ2hlY2sgaXQKKy0tIGluIHZhY3V1bSBleHRl bmRlZCBzdGF0aXN0aWNzLgorLS0gVGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2 YWx1ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKKy0tCitTRUxFQ1QgdnQucmVsbmFtZSxyZWxw YWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBh Z2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQK K0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYworV0hFUkUgdnQu cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CisKK0RST1Ag VEFCTEUgdmVzdGF0OwotLSAKMi4zNC4xCgo= --------------0PfjJh6R8CncLnHAydjM2Cj3 Content-Type: text/x-patch; charset=UTF-8; name="v25-0003-Machinery-for-grabbing-an-extended-vacuum-statistics.patch" Content-Disposition: attachment; filename*0="v25-0003-Machinery-for-grabbing-an-extended-vacuum-statistic"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSAxYWE1MWVjOTAxY2JmNDZlNTMxMzdmYTA5OWI1NDc0ZWJjYTViNjE0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogTW9uLCAxIFNlcCAyMDI1IDIxOjQzOjMzICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAzLzVdIE1hY2hpbmVyeSBmb3IgZ3JhYmJpbmcgYW4gZXh0ZW5kZWQgdmFj 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 MTAwICsrKysrKysrKysrKysrKysrLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dCAgICAgICAgICAgICAgIHwgIDEzICsrLQogc3JjL2luY2x1ZGUvcGdzdGF0LmggICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICA1ICstCiAuLi4vdmFjdXVtLWV4dGVuZGluZy1pbi1y ZXBldGFibGUtcmVhZC5zcGVjICAgfCAgIDYgKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcnVsZXMub3V0ICAgICAgICAgICB8ICAxNyArKysKIC4uLi9leHBlY3RlZC92YWN1dW1f aW5kZXhfc3RhdGlzdGljcy5vdXQgICAgICB8ICAxNiArLS0KIC4uLnV0ID0+IHZhY3V1bV90 YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0fSB8ICA4NyArKysrKysrKysrKysrLS0KIHNy Yy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgMiArLQog Li4uL3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNxbCAgIHwgICA2ICst CiAuLi5xbCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbH0gfCAgNjkg KysrKysrKysrKystCiAxNSBmaWxlcyBjaGFuZ2VkLCAzODAgaW5zZXJ0aW9ucygrKSwgMzQg ZGVsZXRpb25zKC0pCiByZW5hbWUgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC97dmFjdXVt X3RhYmxlc19zdGF0aXN0aWNzLm91dCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0 aWNzLm91dH0gKDgyJSkKIHJlbmFtZSBzcmMvdGVzdC9yZWdyZXNzL3NxbC97dmFjdXVtX3Rh Ymxlc19zdGF0aXN0aWNzLnNxbCA9PiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNz LnNxbH0gKDgxJSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1 dW1sYXp5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5kZXgg MDdhZDMzN2RjODIuLmFhYzY1OTMzZTFhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nl c3MvaGVhcC92YWN1dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFj dXVtbGF6eS5jCkBAIC02NTksNyArNjU5LDcgQEAgYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9z dGF0aXN0aWNzKExWUmVsU3RhdGUgKnZhY3JlbCwgRXh0VmFjUmVwb3J0ICpleHRWYWNTdGF0 cykKIAlleHRWYWNTdGF0cy0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVzID0gdmFjcmVsLT5t aXNzZWRfZGVhZF90dXBsZXM7CiAJZXh0VmFjU3RhdHMtPnRhYmxlLm1pc3NlZF9kZWFkX3Bh Z2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdlczsKIAlleHRWYWNTdGF0cy0+dGFibGUu aW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7Ci0JZXh0VmFj U3RhdHMtPnRhYmxlLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgPSB2YWNyZWwtPndyYXBh cm91bmRfZmFpbHNhZmVfY291bnQ7CisJZXh0VmFjU3RhdHMtPndyYXBhcm91bmRfZmFpbHNh ZmVfY291bnQgPSB2YWNyZWwtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CiAKIAlleHRW YWNTdGF0cy0+YmxrX3JlYWRfdGltZSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5ibGtf cmVhZF90aW1lOwogCWV4dFZhY1N0YXRzLT5ibGtfd3JpdGVfdGltZSAtPSB2YWNyZWwtPmV4 dFZhY1JlcG9ydElkeC5ibGtfd3JpdGVfdGltZTsKQEAgLTQwODEsNiArNDA4MSw5IEBAIHZh Y3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJc3dpdGNoIChlcnJpbmZvLT5waGFz ZSkKIAl7CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1NDQU5fSEVBUDoKKwkJCWlmKGdl dGVycmVsZXZlbCgpID09IEVSUk9SKQorCQkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJv cihlcnJpbmZvLT5yZWxvaWQsIFBHU1RBVF9FWFRWQUNfVEFCTEUpOworCiAJCQlpZiAoQmxv Y2tOdW1iZXJJc1ZhbGlkKGVycmluZm8tPmJsa25vKSkKIAkJCXsKIAkJCQlpZiAoT2Zmc2V0 TnVtYmVySXNWYWxpZChlcnJpbmZvLT5vZmZudW0pKQpAQCAtNDA5Niw2ICs0MDk5LDkgQEAg dmFjdXVtX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNhc2Ug VkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9IRUFQOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkg PT0gRVJST1IpCisJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVs b2lkLCBQR1NUQVRfRVhUVkFDX1RBQkxFKTsKKwogCQkJaWYgKEJsb2NrTnVtYmVySXNWYWxp ZChlcnJpbmZvLT5ibGtubykpCiAJCQl7CiAJCQkJaWYgKE9mZnNldE51bWJlcklzVmFsaWQo ZXJyaW5mby0+b2ZmbnVtKSkKQEAgLTQxMTEsMTYgKzQxMTcsMjUgQEAgdmFjdXVtX2Vycm9y X2NhbGxiYWNrKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNC X1BIQVNFX1ZBQ1VVTV9JTkRFWDoKKwkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQor CQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKGVycmluZm8tPmluZG9pZCwgUEdTVEFU X0VYVFZBQ19JTkRFWCk7CisKIAkJCWVycmNvbnRleHQoIndoaWxlIHZhY3V1bWluZyBpbmRl eCBcIiVzXCIgb2YgcmVsYXRpb24gXCIlcy4lc1wiIiwKIAkJCQkJICAgZXJyaW5mby0+aW5k bmFtZSwgZXJyaW5mby0+cmVsbmFtZXNwYWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsKIAkJCWJy ZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX0lOREVYX0NMRUFOVVA6CisJCQlp ZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKKwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9l cnJvcihlcnJpbmZvLT5pbmRvaWQsIFBHU1RBVF9FWFRWQUNfSU5ERVgpOworCiAJCQllcnJj b250ZXh0KCJ3aGlsZSBjbGVhbmluZyB1cCBpbmRleCBcIiVzXCIgb2YgcmVsYXRpb24gXCIl cy4lc1wiIiwKIAkJCQkJICAgZXJyaW5mby0+aW5kbmFtZSwgZXJyaW5mby0+cmVsbmFtZXNw YWNlLCBlcnJpbmZvLT5yZWxuYW1lKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgVkFDVVVNX0VS UkNCX1BIQVNFX1RSVU5DQVRFOgorCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCisJ CQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NUQVRf RVhUVkFDX1RBQkxFKTsKKwogCQkJaWYgKEJsb2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5i bGtubykpCiAJCQkJZXJyY29udGV4dCgid2hpbGUgdHJ1bmNhdGluZyByZWxhdGlvbiBcIiVz LiVzXCIgdG8gJXUgYmxvY2tzIiwKIAkJCQkJCSAgIGVycmluZm8tPnJlbG5hbWVzcGFjZSwg ZXJyaW5mby0+cmVsbmFtZSwgZXJyaW5mby0+Ymxrbm8pOwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9z eXN0ZW1fdmlld3Muc3FsCmluZGV4IDRiYmQxNDk5YmI4Li4xYzVlMzUxYTY3MiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9i YWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtMTUwMSw0ICsxNTAxLDI5IEBA IEZST00KICAgcGdfY2xhc3MgcmVsCiAgIEpPSU4gcGdfbmFtZXNwYWNlIG5zIE9OIG5zLm9p ZCA9IHJlbC5yZWxuYW1lc3BhY2UsCiAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX2lu ZGV4ZXMocmVsLm9pZCkgc3RhdHMKLVdIRVJFIHJlbC5yZWxraW5kID0gJ2knOwpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKK1dIRVJFIHJlbC5yZWxraW5kID0gJ2knOworCitDUkVB VEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZSBBUworU0VMRUNUCisgIGRiLm9pZCBh cyBkYm9pZCwKKyAgZGIuZGF0bmFtZSBBUyBkYm5hbWUsCisKKyAgc3RhdHMuZGJfYmxrc19y ZWFkIEFTIGRiX2Jsa3NfcmVhZCwKKyAgc3RhdHMuZGJfYmxrc19oaXQgQVMgZGJfYmxrc19o aXQsCisgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQs CisgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0b3RhbF9ibGtzX3dyaXR0ZW4sCisK KyAgc3RhdHMud2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCisgIHN0YXRzLndhbF9mcGkg QVMgd2FsX2ZwaSwKKyAgc3RhdHMud2FsX2J5dGVzIEFTIHdhbF9ieXRlcywKKworICBzdGF0 cy5ibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3RpbWUsCisgIHN0YXRzLmJsa193cml0ZV90 aW1lIEFTIGJsa193cml0ZV90aW1lLAorCisgIHN0YXRzLmRlbGF5X3RpbWUgQVMgZGVsYXlf dGltZSwKKyAgc3RhdHMudG90YWxfdGltZSBBUyB0b3RhbF90aW1lLAorICBzdGF0cy53cmFw YXJvdW5kX2ZhaWxzYWZlIEFTIHdyYXBhcm91bmRfZmFpbHNhZmUsCisgIHN0YXRzLmVycm9y cyBBUyBlcnJvcnMKK0ZST00KKyAgcGdfZGF0YWJhc2UgZGIsCisgIExBVEVSQUwgcGdfc3Rh dF9nZXRfdmFjdXVtX2RhdGFiYXNlKGRiLm9pZCkgc3RhdHM7ClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdz dGF0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXQuYwppbmRleCBmZDJj NWUxNTM2OS4uNmNiOTA3N2EyN2YgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dC5jCkBAIC0yMDMsNyArMjAzLDcgQEAgc3RhdGljIGlubGluZSBib29sIHBnc3RhdF9pc19r aW5kX3ZhbGlkKFBnU3RhdF9LaW5kIGtpbmQpOwogCiBib29sCQlwZ3N0YXRfdHJhY2tfY291 bnRzID0gZmFsc2U7CiBpbnQJCQlwZ3N0YXRfZmV0Y2hfY29uc2lzdGVuY3kgPSBQR1NUQVRf RkVUQ0hfQ09OU0lTVEVOQ1lfQ0FDSEU7Ci1ib29sCQlwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3MgPSB0cnVlOworYm9vbAkJcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz ID0gZmFsc2U7CiAKIC8qIC0tLS0tLS0tLS0KICAqIHN0YXRlIHNoYXJlZCB3aXRoIHBnc3Rh dF8qLmMKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9k YXRhYmFzZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNl LmMKaW5kZXggYjMxZjIwZDQxYmMuLjY1MjA3ZDMwMzc4IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYworKysgYi9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYwpAQCAtNDg1LDYgKzQ4NSw3IEBA IHBnc3RhdF9kYXRhYmFzZV9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwg Ym9vbCBub3dhaXQpCiAJcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOwogCiAJbWVt c2V0KHBlbmRpbmdlbnQsIDAsIHNpemVvZigqcGVuZGluZ2VudCkpOworCW1lbXNldCgmKHBl bmRpbmdlbnQpLT52YWN1dW1fZXh0LCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CiAKIAly ZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0 X3JlbGF0aW9uLmMKaW5kZXggYzYxOTQ1ODRiMzUuLmJmN2FiMzQ1YmUwIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYworKysgYi9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwpAQCAtMjA1LDYg KzIwNSwzOCBAQCBwZ3N0YXRfZHJvcF9yZWxhdGlvbihSZWxhdGlvbiByZWwpCiAJfQogfQog CisvKiAtLS0tLS0tLS0KKyAqIHBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKCkgLQorICoK KyAqCVRlbGwgdGhlIGNvbGxlY3RvciBhYm91dCBhbiAoYXV0byl2YWN1dW0gaW50ZXJydXB0 aW9uLgorICogLS0tLS0tLS0tCisgKi8KK3ZvaWQKK3Bnc3RhdF9yZXBvcnRfdmFjdXVtX2Vy cm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpCit7CisJUGdTdGF0 X0VudHJ5UmVmICplbnRyeV9yZWY7CisJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpzaHRhYmVu dHJ5OworCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5OworCU9pZAkJCWRib2lkID0g IE15RGF0YWJhc2VJZDsKKwlQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnk7CS8qIHBlbmRp bmcgZGF0YWJhc2UgZW50cnkgKi8KKworCWlmICghcGdzdGF0X3RyYWNrX2NvdW50cykKKwkJ cmV0dXJuOworCisJZW50cnlfcmVmID0gcGdzdGF0X2dldF9lbnRyeV9yZWZfbG9ja2VkKFBH U1RBVF9LSU5EX1JFTEFUSU9OLAorCQkJCQkJCQkJCQlkYm9pZCwgdGFibGVvaWQsIGZhbHNl KTsKKworCXNodGFiZW50cnkgPSAoUGdTdGF0U2hhcmVkX1JlbGF0aW9uICopIGVudHJ5X3Jl Zi0+c2hhcmVkX3N0YXRzOworCXRhYmVudHJ5ID0gJnNodGFiZW50cnktPnN0YXRzOworCisJ dGFiZW50cnktPnZhY3V1bV9leHQudHlwZSA9IG1fdHlwZTsKKwlwZ3N0YXRfdW5sb2NrX2Vu dHJ5KGVudHJ5X3JlZik7CisKKwlkYmVudHJ5ID0gcGdzdGF0X3ByZXBfZGF0YWJhc2VfcGVu ZGluZyhkYm9pZCk7CisJZGJlbnRyeS0+dmFjdXVtX2V4dC5lcnJvcnMrKzsKKwlkYmVudHJ5 LT52YWN1dW1fZXh0LnR5cGUgPSBtX3R5cGU7Cit9CisKIC8qCiAgKiBSZXBvcnQgdGhhdCB0 aGUgdGFibGUgd2FzIGp1c3QgdmFjdXVtZWQgYW5kIGZsdXNoIElPIHN0YXRpc3RpY3MuCiAg Ki8KQEAgLTIxNiw2ICsyNDgsNyBAQCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVv aWQsIGJvb2wgc2hhcmVkLAogCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOwogCVBnU3Rh dFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRyeTsKIAlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0 YWJlbnRyeTsKKwlQZ1N0YXRTaGFyZWRfRGF0YWJhc2UgKmRiZW50cnk7CiAJT2lkCQkJZGJv aWQgPSAoc2hhcmVkID8gSW52YWxpZE9pZCA6IE15RGF0YWJhc2VJZCk7CiAJVGltZXN0YW1w VHogdHM7CiAJUGdTdGF0X0NvdW50ZXIgZWxhcHNlZHRpbWU7CkBAIC0yNzQsNiArMzA3LDE2 IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJ ICovCiAJcGdzdGF0X2ZsdXNoX2lvKGZhbHNlKTsKIAkodm9pZCkgcGdzdGF0X2ZsdXNoX2Jh Y2tlbmQoZmFsc2UsIFBHU1RBVF9CQUNLRU5EX0ZMVVNIX0lPKTsKKworCWlmIChkYm9pZCAh PSBJbnZhbGlkT2lkKQorCXsKKwkJZW50cnlfcmVmID0gcGdzdGF0X2dldF9lbnRyeV9yZWZf bG9ja2VkKFBHU1RBVF9LSU5EX0RBVEFCQVNFLAorCQkJCQkJCQkJCQlkYm9pZCwgSW52YWxp ZE9pZCwgZmFsc2UpOworCQlkYmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9EYXRhYmFzZSAqKSBl bnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKworCQlwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNf c3RhdHMoJmRiZW50cnktPnN0YXRzLnZhY3V1bV9leHQsIHBhcmFtcywgZmFsc2UpOworCQlw Z3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CisJfQogfQogCiAvKgpAQCAtMTAzMCw2 ICsxMDczLDggQEAgcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKEV4dFZhY1JlcG9y dCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKIAlkc3QtPmJsa193cml0ZV90aW1lICs9IHNy Yy0+YmxrX3dyaXRlX3RpbWU7CiAJZHN0LT5kZWxheV90aW1lICs9IHNyYy0+ZGVsYXlfdGlt ZTsKIAlkc3QtPnRvdGFsX3RpbWUgKz0gc3JjLT50b3RhbF90aW1lOworCWRzdC0+d3JhcGFy b3VuZF9mYWlsc2FmZV9jb3VudCArPSBzcmMtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7 CisJZHN0LT5lcnJvcnMgKz0gc3JjLT5lcnJvcnM7CiAKIAlpZiAoIWFjY3VtdWxhdGVfcmVs dHlwZV9zcGVjaWZpY19pbmZvKQogCQlyZXR1cm47CkBAIC0xMDU3LDcgKzExMDIsNiBAQCBw Z3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoRXh0VmFjUmVwb3J0ICpkc3QsIEV4dFZh Y1JlcG9ydCAqc3JjLAogCQkJZHN0LT50YWJsZS5pbmRleF92YWN1dW1fY291bnQgKz0gc3Jj LT50YWJsZS5pbmRleF92YWN1dW1fY291bnQ7CiAJCQlkc3QtPnRhYmxlLm1pc3NlZF9kZWFk X3BhZ2VzICs9IHNyYy0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXM7CiAJCQlkc3QtPnRhYmxl Lm1pc3NlZF9kZWFkX3R1cGxlcyArPSBzcmMtPnRhYmxlLm1pc3NlZF9kZWFkX3R1cGxlczsK LQkJCWRzdC0+dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCArPSBzcmMtPnRhYmxl LndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQ7CiAJCX0KIAkJZWxzZSBpZiAoZHN0LT50eXBl ID09IFBHU1RBVF9FWFRWQUNfSU5ERVgpCiAJCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3Rh dGZ1bmNzLmMKaW5kZXggZGVmZTE5OTBlMTEuLjFjMzlhZGEyYzNlIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC91 dGlscy9hZHQvcGdzdGF0ZnVuY3MuYwpAQCAtMjM4NSw3ICsyMzg1LDcgQEAgcGdfc3RhdF9n ZXRfdmFjdXVtX3RhYmxlcyhQR19GVU5DVElPTl9BUkdTKQogCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzKTsKIAl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5taXNzZWRfZGVh ZF90dXBsZXMpOwogCi0JdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+ dGFibGUud3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFsdWVzW2krK10gPSBJbnQz MkdldERhdHVtKGV4dHZhY3V1bS0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CiAJdmFs dWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUuaW5kZXhfdmFjdXVt X2NvdW50KTsKIAogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndh bF9yZWNvcmRzKTsKQEAgLTI1MTUsNiArMjUxNSwxMDQgQEAgcGdfc3RhdF9nZXRfdmFjdXVt X2luZGV4ZXMoUEdfRlVOQ1RJT05fQVJHUykKIAogCUFzc2VydChpID09IFBHX1NUQVRfR0VU X1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTKTsKIAorCS8qIFJldHVybnMgdGhlIHJlY29yZCBh cyBEYXR1bSAqLworCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXREYXR1bShoZWFwX2Zv cm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscykpKTsKK30KKworRGF0dW0KK3BnX3N0 YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShQR19GVU5DVElPTl9BUkdTKQoreworCSNkZWZpbmUg UEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRTX0NPTFMJMTQKKworCU9pZAkJCQkJ CSBkYmlkID0gUEdfR0VUQVJHX09JRCgwKTsKKwlQZ1N0YXRfU3RhdERCRW50cnkgCQkqZGJl bnRyeTsKKwlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1bTsKKwlUdXBsZURlc2MJCQkJIHR1 cGRlc2M7CisJRGF0dW0JCQkJCSB2YWx1ZXNbUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNF X1NUQVRTX0NPTFNdID0gezB9OworCWJvb2wJCQkJCSBudWxsc1tQR19TVEFUX0dFVF9WQUNV VU1fREFUQUJBU0VfU1RBVFNfQ09MU10gPSB7MH07CisJY2hhcgkJCQkJIGJ1ZlsyNTZdOwor CWludAkJCQkJCSBpID0gMDsKKwlFeHRWYWNSZXBvcnQgYWxsemVybzsKKworCS8qIEluaXRp YWxpc2UgYXR0cmlidXRlcyBpbmZvcm1hdGlvbiBpbiB0aGUgdHVwbGUgZGVzY3JpcHRvciAq LworCXR1cGRlc2MgPSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVzYyhQR19TVEFUX0dFVF9WQUNV VU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVz YywgKEF0dHJOdW1iZXIpICsraSwgImRiaWQiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7 CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3Rh bF8gYmxrc19yZWFkIiwKKwkJCQkJICAgSU5UOE9JRCwgLTEsIDApOworCVR1cGxlRGVzY0lu aXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxrc19oaXQiLAor CQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2Ms IChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2RpcnRpZWQiLAorCQkJCQkgICBJTlQ4 T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVy KSArK2ksICJ0b3RhbF9ibGtzX3dyaXR0ZW4iLAorCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7 CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3YWxf cmVjb3JkcyIsCisJCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9mcGkiLAorCQkJCQkgICBJTlQ4 T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVy KSArK2ksICJ3YWxfYnl0ZXMiLAorCQkJCQkgICBOVU1FUklDT0lELCAtMSwgMCk7CisKKwlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa19yZWFk X3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa193cml0ZV90aW1lIiwKKwkJCQkJ ICAgRkxPQVQ4T0lELCAtMSwgMCk7CisKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgImRlbGF5X3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0x LCAwKTsKKwlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwg InRvdGFsX3RpbWUiLAorCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKKwlUdXBsZURlc2NJ bml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndyYXBhcm91bmRfZmFpbHNh ZmVfY291bnQiLAorCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CisJVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJlcnJvcnMiLAorCQkJCQkgICBJTlQ0 T0lELCAtMSwgMCk7CisKKwlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJB U0VfU1RBVFNfQ09MUyk7CisKKwlCbGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsKKworCWRiZW50 cnkgPSBwZ3N0YXRfZmV0Y2hfc3RhdF9kYmVudHJ5KGRiaWQpOworCisJaWYgKGRiZW50cnkg PT0gTlVMTCkKKwl7CisJCS8qIElmIHRoZSBzdWJzY3JpcHRpb24gaXMgbm90IGZvdW5kLCBp bml0aWFsaXNlIGl0cyBzdGF0cyAqLworCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihF eHRWYWNSZXBvcnQpKTsKKwkJZXh0dmFjdXVtID0gJmFsbHplcm87CisJfQorCWVsc2UKKwl7 CisJCWV4dHZhY3V1bSA9ICYoZGJlbnRyeS0+dmFjdXVtX2V4dCk7CisJfQorCisJaSA9IDA7 CisKKwl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0dW0oZGJpZCk7CisKKwl2YWx1ZXNb aSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX3JlYWQpOworCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3NfaGl0KTsK Kwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2Rp cnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFs X2Jsa3Nfd3JpdHRlbik7CisKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT53YWxfcmVjb3Jkcyk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZh Y3V1bS0+d2FsX2ZwaSk7CisKKwkvKiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3Rh dF9zdGF0ZW1lbnRzICovCisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9S TUFULCBleHR2YWN1dW0tPndhbF9ieXRlcyk7CisJdmFsdWVzW2krK10gPSBEaXJlY3RGdW5j dGlvbkNhbGwzKG51bWVyaWNfaW4sCisJCQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShidWYp LAorCQkJCQkJCQkJICBPYmplY3RJZEdldERhdHVtKDApLAorCQkJCQkJCQkJICBJbnQzMkdl dERhdHVtKC0xKSk7CisKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1 bS0+YmxrX3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2 YWN1dW0tPmJsa193cml0ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVt KGV4dHZhY3V1bS0+ZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1 bShleHR2YWN1dW0tPnRvdGFsX3RpbWUpOworCXZhbHVlc1tpKytdID0gSW50MzJHZXREYXR1 bShleHR2YWN1dW0tPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOworCXZhbHVlc1tpKytd ID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPmVycm9ycyk7CisKKwlBc3NlcnQoaSA9PSBQ R19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CisKIAkvKiBSZXR1cm5z IHRoZSByZWNvcmQgYXMgRGF0dW0gKi8KIAlQR19SRVRVUk5fREFUVU0oSGVhcFR1cGxlR2V0 RGF0dW0oaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVlcywgbnVsbHMpKSk7CiB9Clwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5k ZXggMmE4YjZiMmMxYjguLjQ5YzNjMTZjZTViIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQKQEAgLTEyNjA3LDEyICsxMjYwNywyMSBAQAogICBwcm9wYXJhbGxlbCA9PiAncicsIHBy b3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKICAgcHJvc3JjID0+ ICdwZ19zdGF0X2dldF9yZXZfYWxsX2Zyb3plbl9wYWdlcycgfSwKIHsgb2lkID0+ICc4MDA0 JywKLSAgZGVzY3IgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzIHJldHVybiBzdGF0 cyB2YWx1ZXMnLAorICBkZXNjciA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4ZXMgcmV0 dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVzIGZvciBpbmRleCcsCiAgIHByb25hbWUgPT4gJ3Bn X3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzJywgcHJvcm93cyA9PiAxMDAwLCBwcm92b2xhdGls ZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcscHJvaXNzdHJpY3QgPT4gJ2YnLAog ICBwcm9yZXRzZXQgPT4gJ3QnLAogICBwcm9hcmd0eXBlcyA9PiAnb2lkJywKICAgcHJvYWxs YXJndHlwZXMgPT4gJ3tvaWQsb2lkLGludDgsaW50OCxpbnQ4LGludDgsaW50OCxpbnQ4LGlu dDgsaW50OCxpbnQ4LGludDgsbnVtZXJpYyxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDh9 JywKICAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxv LG99JywKICAgcHJvYXJnbmFtZXMgPT4gJ3tyZWxvaWQscmVsaWQsdG90YWxfYmxrc19yZWFk LHRvdGFsX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0ZW4s cmVsX2Jsa3NfcmVhZCxyZWxfYmxrc19oaXQscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRl ZCx3YWxfcmVjb3Jkcyx3YWxfZnBpLHdhbF9ieXRlcyxibGtfcmVhZF90aW1lLGJsa193cml0 ZV90aW1lLGRlbGF5X3RpbWUsdG90YWxfdGltZX0nLAotICBwcm9zcmMgPT4gJ3BnX3N0YXRf Z2V0X3ZhY3V1bV9pbmRleGVzJyB9CisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVt X2luZGV4ZXMnIH0sCit7IG9pZCA9PiAnODAwNScsCisgIGRlc2NyID0+ICdwZ19zdGF0X2dl dF92YWN1dW1fZGF0YWJhc2UgcmV0dXJucyB2YWN1dW0gc3RhdHMgdmFsdWVzIGZvciBkYXRh YmFzZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZScsIHBy b3Jvd3MgPT4gMTAwMCwgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9yZXR0eXBlID0+ICdyZWNv cmQnLHByb2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0c2V0ID0+ICd0JywKKyAgcHJvYXJn dHlwZXMgPT4gJ29pZCcsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLG9pZCxpbnQ4LGlu dDgsaW50OCxpbnQ4LGludDgsaW50OCxudW1lcmljLGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZs b2F0OCxpbnQ0LGludDR9JywKKyAgcHJvYXJnbW9kZXMgPT4gJ3tpLG8sbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1lcyA9PiAne2RiaWQsZGJvaWQsZGJfYmxr c19yZWFkLGRiX2Jsa3NfaGl0LHRvdGFsX2Jsa3NfZGlydGllZCx0b3RhbF9ibGtzX3dyaXR0 ZW4sd2FsX3JlY29yZHMsd2FsX2ZwaSx3YWxfYnl0ZXMsYmxrX3JlYWRfdGltZSxibGtfd3Jp dGVfdGltZSxkZWxheV90aW1lLHRvdGFsX3RpbWUsd3JhcGFyb3VuZF9mYWlsc2FmZSxlcnJv cnN9JywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UnIH0sCiBd CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNsdWRlL3Bnc3Rh dC5oCmluZGV4IDFmMTQwMmQ0MTc5Li42OTUyZjgzM2Q0NSAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvcGdzdGF0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKQEAgLTE1NCw2ICsx NTQsOSBAQCB0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKIAogCWludDY0CQl0dXBsZXNf ZGVsZXRlZDsJCS8qIHR1cGxlcyBkZWxldGVkIGJ5IHZhY3V1bSAqLwogCisJaW50MzIJCWVy cm9yczsKKwlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsJLyogdGhlIG51bWJl ciBvZiB0aW1lcyB0byBwcmV2ZW50IHdyYXBhcm91bmQgcHJvYmxlbSAqLworCiAJRXh0VmFj UmVwb3J0VHlwZSB0eXBlOwkJLyogaGVhcCwgaW5kZXgsIGV0Yy4gKi8KIAogCS8qIC0tLS0t LS0tLS0KQEAgLTE4Myw3ICsxODYsNiBAQCB0eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQK IAkJCWludDY0CQltaXNzZWRfZGVhZF90dXBsZXM7CQkvKiB0dXBsZXMgbm90IHBydW5lZCBi eSB2YWN1dW0gZHVlIHRvIGZhaWx1cmUgdG8gZ2V0IGEgY2xlYW51cCBsb2NrICovCiAJCQlp bnQ2NAkJbWlzc2VkX2RlYWRfcGFnZXM7CQkvKiBwYWdlcyB3aXRoIG1pc3NlZCBkZWFkIHR1 cGxlcyAqLwogCQkJaW50NjQJCWluZGV4X3ZhY3V1bV9jb3VudDsJLyogbnVtYmVyIG9mIGlu ZGV4IHZhY3V1bWluZ3MgKi8KLQkJCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50 OwkvKiBudW1iZXIgb2YgZW1lcmdlbmN5IHZhY3V1bXMgdG8gcHJldmVudCBhbnRpLXdyYXBh cm91bmQgc2h1dGRvd24gKi8KIAkJfQkJCXRhYmxlOwogCQlzdHJ1Y3QKIAkJewpAQCAtNzYy LDYgKzc2NCw3IEBAIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJs ZW9pZCwgYm9vbCBzaGFyZWQsCiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X2FuYWx5emUo UmVsYXRpb24gcmVsLAogCQkJCQkJCQkgIFBnU3RhdF9Db3VudGVyIGxpdmV0dXBsZXMsIFBn U3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJCQkJCSAgYm9vbCByZXNldGNvdW50ZXIs IFRpbWVzdGFtcFR6IHN0YXJ0dGltZSk7CitleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3Zh Y3V1bV9lcnJvcihPaWQgdGFibGVvaWQsIEV4dFZhY1JlcG9ydFR5cGUgbV90eXBlKTsKIAog LyoKICAqIElmIHN0YXRzIGFyZSBlbmFibGVkLCBidXQgcGVuZGluZyBkYXRhIGhhc24ndCBi ZWVuIHByZXBhcmVkIHlldCwgY2FsbApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9u L3NwZWNzL3ZhY3V1bS1leHRlbmRpbmctaW4tcmVwZXRhYmxlLXJlYWQuc3BlYyBiL3NyYy90 ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5nLWluLXJlcGV0YWJsZS1yZWFk LnNwZWMKaW5kZXggNTg5M2Q4OTU3M2QuLmNmZWMzMTU5NTgwIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9pc29sYXRpb24vc3BlY3MvdmFjdXVtLWV4dGVuZGluZy1pbi1yZXBldGFibGUtcmVh ZC5zcGVjCisrKyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy92YWN1dW0tZXh0ZW5kaW5n LWluLXJlcGV0YWJsZS1yZWFkLnNwZWMKQEAgLTE4LDYgKzE4LDkgQEAgdGVhcmRvd24KIH0K IAogc2Vzc2lvbiBzMQorc2V0dXAJCXsKKyAgICBTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3MgVE8gJ29uJzsKKyAgICB9CiBzdGVwIHMxX2JlZ2luX3JlcGVhdGFibGVfcmVhZCAgIHsK ICAgQkVHSU4gdHJhbnNhY3Rpb24gSVNPTEFUSU9OIExFVkVMIFJFUEVBVEFCTEUgUkVBRDsK ICAgc2VsZWN0IGNvdW50KGl2YWwpIGZyb20gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24g d2hlcmUgaWQ+OTAwOwpAQCAtMjUsNiArMjgsOSBAQCBzdGVwIHMxX2JlZ2luX3JlcGVhdGFi bGVfcmVhZCAgIHsKIHN0ZXAgczFfY29tbWl0ICAgICAgICAgICAgICAgICAgeyBDT01NSVQ7 IH0KIAogc2Vzc2lvbiBzMgorc2V0dXAJCXsKKyAgICBTRVQgdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3MgVE8gJ29uJzsKKyAgICB9CiBzdGVwIHMyX2luc2VydCAgICAgICAgICAgICAgICAg IHsgSU5TRVJUIElOVE8gdGVzdF92YWN1dW1fc3RhdF9pc29sYXRpb24oaWQsIGl2YWwpIFNF TEVDVCBpdmFsLCBpdmFsJTEwIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsMTAwMCkgQXMgaXZh bDsgfQogc3RlcCBzMl91cGRhdGUgICAgICAgICAgICAgICAgICB7IFVQREFURSB0ZXN0X3Zh Y3V1bV9zdGF0X2lzb2xhdGlvbiBTRVQgaXZhbCA9IGl2YWwgKyAyIHdoZXJlIGlkID4gOTAw OyB9CiBzdGVwIHMyX2RlbGV0ZSAgICAgICAgICAgICAgICAgIHsgREVMRVRFIEZST00gdGVz dF92YWN1dW1fc3RhdF9pc29sYXRpb24gd2hlcmUgaWQgPiA5MDA7IH0KZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggZmRkNTM0MWJkZmMuLjE0ZjE5ZTViY2JlIDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMjI5Myw2ICsyMjkzLDIz IEBAIHBnX3N0YXRfdXNlcl90YWJsZXN8IFNFTEVDVCByZWxpZCwKICAgICByZXZfYWxsX3Zp c2libGVfcGFnZXMKICAgIEZST00gcGdfc3RhdF9hbGxfdGFibGVzCiAgIFdIRVJFICgoc2No ZW1hbmFtZSA8PiBBTEwgKEFSUkFZWydwZ19jYXRhbG9nJzo6bmFtZSwgJ2luZm9ybWF0aW9u X3NjaGVtYSc6Om5hbWVdKSkgQU5EIChzY2hlbWFuYW1lICF+ICdecGdfdG9hc3QnOjp0ZXh0 KSk7CitwZ19zdGF0X3ZhY3V1bV9kYXRhYmFzZXwgU0VMRUNUIGRiLm9pZCBBUyBkYm9pZCwK KyAgICBkYi5kYXRuYW1lIEFTIGRibmFtZSwKKyAgICBzdGF0cy5kYl9ibGtzX3JlYWQsCisg ICAgc3RhdHMuZGJfYmxrc19oaXQsCisgICAgc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkLAor ICAgIHN0YXRzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICBzdGF0cy53YWxfcmVjb3JkcywK KyAgICBzdGF0cy53YWxfZnBpLAorICAgIHN0YXRzLndhbF9ieXRlcywKKyAgICBzdGF0cy5i bGtfcmVhZF90aW1lLAorICAgIHN0YXRzLmJsa193cml0ZV90aW1lLAorICAgIHN0YXRzLmRl bGF5X3RpbWUsCisgICAgc3RhdHMudG90YWxfdGltZSwKKyAgICBzdGF0cy53cmFwYXJvdW5k X2ZhaWxzYWZlLAorICAgIHN0YXRzLmVycm9ycworICAgRlJPTSBwZ19kYXRhYmFzZSBkYiwK KyAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShkYi5vaWQpIHN0YXRz KGRib2lkLCBkYl9ibGtzX3JlYWQsIGRiX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQs IHRvdGFsX2Jsa3Nfd3JpdHRlbiwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywg YmxrX3JlYWRfdGltZSwgYmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUs IHdyYXBhcm91bmRfZmFpbHNhZmUsIGVycm9ycyk7CiBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz fCBTRUxFQ1QgcmVsLm9pZCBBUyByZWxpZCwKICAgICBucy5uc3BuYW1lIEFTIHNjaGVtYW5h bWUsCiAgICAgcmVsLnJlbG5hbWUsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CmluZGV4IGUwMGEwZmM2ODNj Li45ZTVkMzMzNDJjOSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92 YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQKQEAgLTE2LDggKzE2LDEyIEBAIFNI T1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgogXHNldCBzYW1wbGVfc2l6ZSAxMDAw MAogLS0gbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4u LgogU0VUIHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKLS0tIFRlc3QgdGhhdCB2YWN1dW0g c3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9mZi4KLVNFVCB0 cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKK1NIT1cgdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9mZgorIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG9mZgorKDEgcm93KQorCiBDUkVBVEUgVEFC TEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxs ZmFjdG9yID0gMTApOwogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJh dGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwogQU5BTFlaRSB2ZXN0YXQ7CkBAIC0z MywxMiArMzcsNyBAQCBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CiAKIFJFU0VUIHRy YWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwogRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKLVNI T1cgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCi0gdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3MgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gb24KLSgxIHJv dykKLQorU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIFRPICdvbic7CiAtLSBlbnN1cmUg cGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAogU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9m bHVzaCgpOwogIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKQEAgLTE4MSwzICsxODAsNCBA QCBXSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQgPSBjLm9p ZDsKICgxIHJvdykKIAogRFJPUCBUQUJMRSB2ZXN0YXQ7CitSRVNFVCB0cmFja192YWN1dW1f c3RhdGlzdGljczsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFj dXVtX3RhYmxlc19zdGF0aXN0aWNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv dmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXQKc2ltaWxhcml0eSBpbmRleCA4 MiUKcmVuYW1lIGZyb20gc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW1fdGFibGVz X3N0YXRpc3RpY3Mub3V0CnJlbmFtZSB0byBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Zh Y3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mub3V0CmluZGV4IGI1ZWE5YzlhYjFlLi4w MzAwZTdiNjI3NiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1 dW1fdGFibGVzX3N0YXRpc3RpY3Mub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdmFjdXVtX3RhYmxlc19hbmRfZGJfc3RhdGlzdGljcy5vdXQKQEAgLTYsNyArNiw2IEBA CiAtLSBudW1iZXIgb2YgZnJvemVuIGFuZCB2aXNpYmxlIHBhZ2VzIHJlbW92ZWQgYnkgYmFj a2VuZC4KIC0tIFN0YXRpc3RpYyB3YWxfZnBpIGlzIG5vdCBkaXNwbGF5ZWQgaW4gdGhpcyB0 ZXN0IGJlY2F1c2UgaXRzIGJlaGF2aW9yIGlzIHVuc3RhYmxlLgogLS0KLS0tIGNvbmRpdGlv IHNpbmUgcXVhIG5vbgogU0hPVyB0cmFja19jb3VudHM7ICAtLSBtdXN0IGJlIG9uCiAgdHJh Y2tfY291bnRzIAogLS0tLS0tLS0tLS0tLS0KQEAgLTE2LDggKzE1LDEyIEBAIFNIT1cgdHJh Y2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgogXHNldCBzYW1wbGVfc2l6ZSAxMDAwMAogLS0g bm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4uLgogU0VU IHRyYWNrX2Z1bmN0aW9ucyBUTyAnYWxsJzsKLS0tIFRlc3QgdGhhdCB2YWN1dW0gc3RhdGlz dGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1ldGVyIGlzIG9mZi4KLVNFVCB0cmFja192 YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKK1NIT1cgdHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3M7ICAtLSBtdXN0IGJlIG9mZgorIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIG9mZgorKDEgcm93KQorCiBDUkVBVEUgVEFCTEUgdmVz dGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9y ID0gMTApOwogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2Vy aWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwogQU5BTFlaRSB2ZXN0YXQ7CkBAIC0zNywxMiAr NDAsMTIgQEAgV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXQnOwogCiBSRVNFVCB0cmFja192 YWN1dW1fc3RhdGlzdGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7Ci1TSE9XIHRy YWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvbgotIHRyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIG9uCi0oMSByb3cpCi0K K0NSRUFURSBEQVRBQkFTRSByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitDUkVB VEUgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1xjIHJlZ3Jl c3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGlj cyBUTyBvbjsKKy0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IHRvIHRl c3QgaXQuLi4KK1NFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CiAtLSBlbnN1cmUgcGVu ZGluZyBzdGF0cyBhcmUgZmx1c2hlZAogU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVz aCgpOwogIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKQEAgLTIyNSwzICsyMjgsNjkgQEAg RlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0YXRfYWxsX3RhYmxlcyBXSEVSRSBw Z19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmEKICgxIHJvdykKIAogRFJPUCBUQUJMRSB2ZXN0 YXQgQ0FTQ0FERTsKKy0tIE5vdyBjaGVjayB2YWN1dW0gc3RhdGlzdGljcyBmb3IgY3VycmVu dCBkYXRhYmFzZQorU0VMRUNUIGRibmFtZSwKKyAgICAgICBkYl9ibGtzX2hpdCA+IDAgQVMg ZGJfYmxrc19oaXQsCisgICAgICAgdG90YWxfYmxrc19kaXJ0aWVkID4gMCBBUyB0b3RhbF9i bGtzX2RpcnRpZWQsCisgICAgICAgdG90YWxfYmxrc193cml0dGVuID4gMCBBUyB0b3RhbF9i bGtzX3dyaXR0ZW4sCisgICAgICAgd2FsX3JlY29yZHMgPiAwIEFTIHdhbF9yZWNvcmRzLAor ICAgICAgIHdhbF9mcGkgPiAwIEFTIHdhbF9mcGksCisgICAgICAgd2FsX2J5dGVzID4gMCBB UyB3YWxfYnl0ZXMsCisgICAgICAgdG90YWxfdGltZSA+IDAgQVMgdG90YWxfdGltZQorRlJP TQorcGdfc3RhdF92YWN1dW1fZGF0YWJhc2UKK1dIRVJFIGRibmFtZSA9IGN1cnJlbnRfZGF0 YWJhc2UoKTsKKyAgICAgICAgICAgICBkYm5hbWUgICAgICAgICAgICAgfCBkYl9ibGtzX2hp dCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8IHdhbF9yZWNv cmRzIHwgd2FsX2ZwaSB8IHdhbF9ieXRlcyB8IHRvdGFsX3RpbWUgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYiB8IHQg ICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgIHwg dCAgICAgICAgICAgfCB0ICAgICAgIHwgdCAgICAgICAgIHwgdAorKDEgcm93KQorCistLSBl bnN1cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2Vf bmV4dF9mbHVzaCgpOworIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK0NSRUFURSBUQUJMRSB2ZXN0YXQgKHgg aW50KSBXSVRIIChhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYsIGZpbGxmYWN0b3IgPSAxMCk7 CitJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSw6 c2FtcGxlX3NpemUpIGFzIHg7CitBTkFMWVpFIHZlc3RhdDsKK1VQREFURSB2ZXN0YXQgU0VU IHggPSAxMDAwMTsKK1ZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEy OCkgdmVzdGF0OworXGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NFVCB0 cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyBvbjsKKy0tIE5vdyBjaGVjayB2YWN1dW0gc3Rh dGlzdGljcyBmb3IgcG9zdGdyZXMgZGF0YWJhc2UgZnJvbSBhbm90aGVyIGRhdGFiYXNlCitT RUxFQ1QgZGJuYW1lLAorICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBBUyBkYl9ibGtzX2hpdCwK KyAgICAgICB0b3RhbF9ibGtzX2RpcnRpZWQgPiAwIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwK KyAgICAgICB0b3RhbF9ibGtzX3dyaXR0ZW4gPiAwIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwK KyAgICAgICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29yZHMsCisgICAgICAgd2FsX2Zw aSA+IDAgQVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdhbF9ieXRlcywK KyAgICAgICB0b3RhbF90aW1lID4gMCBBUyB0b3RhbF90aW1lCitGUk9NCitwZ19zdGF0X3Zh Y3V1bV9kYXRhYmFzZQorV0hFUkUgZGJuYW1lID0gJ3JlZ3Jlc3Npb25fc3RhdGlzdGljX3Zh Y3V1bV9kYic7CisgICAgICAgICAgICAgZGJuYW1lICAgICAgICAgICAgIHwgZGJfYmxrc19o aXQgfCB0b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCB3YWxfcmVj b3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCB0b3RhbF90aW1lIAorLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0KKyByZWdyZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGIgfCB0 ICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgICB8 IHQgICAgICAgICAgIHwgdCAgICAgICB8IHQgICAgICAgICB8IHQKKygxIHJvdykKKworXGMg cmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiCitTRVQgdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3MgVE8gb247CitEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOworXGMgcmVncmVzc2lv bl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBU TyBvbjsKK1NFTEVDVCBjb3VudCgqKQorRlJPTSBwZ19kYXRhYmFzZSBkCitDUk9TUyBKT0lO IHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoMCkKK1dIRVJFIG9pZCA9IDA7IC0tIG11c3Qg YmUgMAorIGNvdW50IAorLS0tLS0tLQorICAgICAwCisoMSByb3cpCisKK1xjIHBvc3RncmVz CitEUk9QIERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitEUk9Q IERBVEFCQVNFIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjsKK1JFU0VUIHRyYWNr X3ZhY3V1bV9zdGF0aXN0aWNzOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJh bGxlbF9zY2hlZHVsZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5k ZXggNGViMDMzNTMxMDQuLjc5ODY5MmNmMjFhIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdy ZXNzL3BhcmFsbGVsX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxf c2NoZWR1bGUKQEAgLTE0NSw0ICsxNDUsNCBAQCB0ZXN0OiB0YWJsZXNwYWNlCiAjIENoZWNr IHZhY3V1bSBzdGF0aXN0aWNzCiAjIC0tLS0tLS0tLS0KIHRlc3Q6IHZhY3V1bV9pbmRleF9z dGF0aXN0aWNzCi10ZXN0OiB2YWN1dW1fdGFibGVzX3N0YXRpc3RpY3MKXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCit0ZXN0OiB2YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNz ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3FsCmluZGV4IGFlMTQ2ZTFkMjNmLi45 YjdlNjQ1MTg3ZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2lu ZGV4X3N0YXRpc3RpY3Muc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9p bmRleF9zdGF0aXN0aWNzLnNxbApAQCAtMTQsOCArMTQsNyBAQCBTSE9XIHRyYWNrX2NvdW50 czsgIC0tIG11c3QgYmUgb24KIC0tIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3 YW50IHRvIHRlc3QgaXQuLi4KIFNFVCB0cmFja19mdW5jdGlvbnMgVE8gJ2FsbCc7CiAKLS0t IFRlc3QgdGhhdCB2YWN1dW0gc3RhdGlzdGljcyB3aWxsIGJlIGVtcHR5IHdoZW4gcGFyYW1l dGVyIGlzIG9mZi4KLVNFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyAnb2ZmJzsKK1NI T1cgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9mZgogCiBDUkVBVEUg VEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gb2ZmLCBm aWxsZmFjdG9yID0gMTApOwogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2Vu ZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4OwpAQCAtMzMsNyArMzIsNyBAQCBX SEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7CiBSRVNFVCB0cmFja192YWN1dW1fc3RhdGlz dGljczsKIERST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CiAKLVNIT1cgdHJhY2tfdmFjdXVt X3N0YXRpc3RpY3M7ICAtLSBtdXN0IGJlIG9uCitTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3Rp Y3MgVE8gJ29uJzsKIAogLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKIFNF TEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKQEAgLTE0OSwzICsxNDgsNCBAQCBG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKIFdIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwogCiBEUk9QIFRB QkxFIHZlc3RhdDsKK1JFU0VUIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOwpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbCBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Mu c3FsCnNpbWlsYXJpdHkgaW5kZXggODElCnJlbmFtZSBmcm9tIHNyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3ZhY3V1bV90YWJsZXNfc3RhdGlzdGljcy5zcWwKcmVuYW1lIHRvIHNyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3ZhY3V1bV90YWJsZXNfYW5kX2RiX3N0YXRpc3RpY3Muc3FsCmluZGV4IDVi YzM0YmVjNjRiLi5jYTdkYmRlOTM4NyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9z cWwvdmFjdXVtX3RhYmxlc19zdGF0aXN0aWNzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L3NxbC92YWN1dW1fdGFibGVzX2FuZF9kYl9zdGF0aXN0aWNzLnNxbApAQCAtNywxNSArNywx MyBAQAogLS0gU3RhdGlzdGljIHdhbF9mcGkgaXMgbm90IGRpc3BsYXllZCBpbiB0aGlzIHRl c3QgYmVjYXVzZSBpdHMgYmVoYXZpb3IgaXMgdW5zdGFibGUuCiAtLQogCi0tLSBjb25kaXRp byBzaW5lIHF1YSBub24KIFNIT1cgdHJhY2tfY291bnRzOyAgLS0gbXVzdCBiZSBvbgogXHNl dCBzYW1wbGVfc2l6ZSAxMDAwMAogCiAtLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQg d2Ugd2FudCB0byB0ZXN0IGl0Li4uCiBTRVQgdHJhY2tfZnVuY3Rpb25zIFRPICdhbGwnOwog Ci0tLSBUZXN0IHRoYXQgdmFjdXVtIHN0YXRpc3RpY3Mgd2lsbCBiZSBlbXB0eSB3aGVuIHBh cmFtZXRlciBpcyBvZmYuCi1TRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MgVE8gJ29mZic7 CitTSE9XIHRyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzOyAgLS0gbXVzdCBiZSBvZmYKIAogQ1JF QVRFIFRBQkxFIHZlc3RhdCAoeCBpbnQpIFdJVEggKGF1dG92YWN1dW1fZW5hYmxlZCA9IG9m ZiwgZmlsbGZhY3RvciA9IDEwKTsKIElOU0VSVCBJTlRPIHZlc3RhdCBTRUxFQ1QgeCBGUk9N IGdlbmVyYXRlX3NlcmllcygxLDpzYW1wbGVfc2l6ZSkgYXMgeDsKQEAgLTM2LDcgKzM0LDEz IEBAIFdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKIFJFU0VUIHRyYWNrX3ZhY3V1bV9z dGF0aXN0aWNzOwogRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKIAotU0hPVyB0cmFja192 YWN1dW1fc3RhdGlzdGljczsgIC0tIG11c3QgYmUgb24KK0NSRUFURSBEQVRBQkFTRSByZWdy ZXNzaW9uX3N0YXRpc3RpY192YWN1dW1fZGI7CitDUkVBVEUgREFUQUJBU0UgcmVncmVzc2lv bl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1xjIHJlZ3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1 bV9kYjsKK1NFVCB0cmFja192YWN1dW1fc3RhdGlzdGljcyBUTyBvbjsKKworLS0gbm90IGVu YWJsZWQgYnkgZGVmYXVsdCwgYnV0IHdlIHdhbnQgdG8gdGVzdCBpdC4uLgorU0VUIHRyYWNr X2Z1bmN0aW9ucyBUTyAnYWxsJzsKIAogLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZs dXNoZWQKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKQEAgLTE4MCw0ICsx ODQsNTkgQEAgVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4KSB2 ZXN0YXQ7CiBTRUxFQ1Qgdm1fbmV3X2Zyb3plbl9wYWdlcyA9IDpwZiBBUyB2bV9uZXdfZnJv emVuX3BhZ2VzLHZtX25ld192aXNpYmxlX3BhZ2VzID0gOnB2IEFTIHZtX25ld192aXNpYmxl X3BhZ2VzLHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyA9IDpwdmYgQVMgdm1fbmV3X3Zp c2libGVfZnJvemVuX3BhZ2VzLCByZXZfYWxsX2Zyb3plbl9wYWdlcyA9IDpoYWZwIEFTIHJl dl9hbGxfZnJvemVuX3BhZ2VzLHJldl9hbGxfdmlzaWJsZV9wYWdlcyA9IDpoYXZwIEFTIHJl dl9hbGxfdmlzaWJsZV9wYWdlcwogRlJPTSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMsIHBnX3N0 YXRfYWxsX3RhYmxlcyBXSEVSRSBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsbmFtZSA9ICd2 ZXN0YXQnIGFuZCBwZ19zdGF0X3ZhY3V1bV90YWJsZXMucmVsaWQgPSBwZ19zdGF0X2FsbF90 YWJsZXMucmVsaWQ7CiAKLURST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7ClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQorRFJPUCBUQUJMRSB2ZXN0YXQgQ0FTQ0FERTsKKworLS0gTm93 IGNoZWNrIHZhY3V1bSBzdGF0aXN0aWNzIGZvciBjdXJyZW50IGRhdGFiYXNlCitTRUxFQ1Qg ZGJuYW1lLAorICAgICAgIGRiX2Jsa3NfaGl0ID4gMCBBUyBkYl9ibGtzX2hpdCwKKyAgICAg ICB0b3RhbF9ibGtzX2RpcnRpZWQgPiAwIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICAg ICB0b3RhbF9ibGtzX3dyaXR0ZW4gPiAwIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICAg ICB3YWxfcmVjb3JkcyA+IDAgQVMgd2FsX3JlY29yZHMsCisgICAgICAgd2FsX2ZwaSA+IDAg QVMgd2FsX2ZwaSwKKyAgICAgICB3YWxfYnl0ZXMgPiAwIEFTIHdhbF9ieXRlcywKKyAgICAg ICB0b3RhbF90aW1lID4gMCBBUyB0b3RhbF90aW1lCitGUk9NCitwZ19zdGF0X3ZhY3V1bV9k YXRhYmFzZQorV0hFUkUgZGJuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpOworCistLSBlbnN1 cmUgcGVuZGluZyBzdGF0cyBhcmUgZmx1c2hlZAorU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4 dF9mbHVzaCgpOworCitDUkVBVEUgVEFCTEUgdmVzdGF0ICh4IGludCkgV0lUSCAoYXV0b3Zh Y3V1bV9lbmFibGVkID0gb2ZmLCBmaWxsZmFjdG9yID0gMTApOworSU5TRVJUIElOVE8gdmVz dGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsOnNhbXBsZV9zaXplKSBhcyB4 OworQU5BTFlaRSB2ZXN0YXQ7CitVUERBVEUgdmVzdGF0IFNFVCB4ID0gMTAwMDE7CitWQUNV VU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9MSU1JVCAxMjgpIHZlc3RhdDsKKworXGMg cmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiMTsKK1NFVCB0cmFja192YWN1dW1fc3Rh dGlzdGljcyBUTyBvbjsKKworLS0gTm93IGNoZWNrIHZhY3V1bSBzdGF0aXN0aWNzIGZvciBw b3N0Z3JlcyBkYXRhYmFzZSBmcm9tIGFub3RoZXIgZGF0YWJhc2UKK1NFTEVDVCBkYm5hbWUs CisgICAgICAgZGJfYmxrc19oaXQgPiAwIEFTIGRiX2Jsa3NfaGl0LAorICAgICAgIHRvdGFs X2Jsa3NfZGlydGllZCA+IDAgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAorICAgICAgIHRvdGFs X2Jsa3Nfd3JpdHRlbiA+IDAgQVMgdG90YWxfYmxrc193cml0dGVuLAorICAgICAgIHdhbF9y ZWNvcmRzID4gMCBBUyB3YWxfcmVjb3JkcywKKyAgICAgICB3YWxfZnBpID4gMCBBUyB3YWxf ZnBpLAorICAgICAgIHdhbF9ieXRlcyA+IDAgQVMgd2FsX2J5dGVzLAorICAgICAgIHRvdGFs X3RpbWUgPiAwIEFTIHRvdGFsX3RpbWUKK0ZST00KK3BnX3N0YXRfdmFjdXVtX2RhdGFiYXNl CitXSEVSRSBkYm5hbWUgPSAncmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiJzsKKwor XGMgcmVncmVzc2lvbl9zdGF0aXN0aWNfdmFjdXVtX2RiCitTRVQgdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3MgVE8gb247CisKK0RST1AgVEFCTEUgdmVzdGF0IENBU0NBREU7CisKK1xjIHJl Z3Jlc3Npb25fc3RhdGlzdGljX3ZhY3V1bV9kYjE7CitTRVQgdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3MgVE8gb247CitTRUxFQ1QgY291bnQoKikKK0ZST00gcGdfZGF0YWJhc2UgZAorQ1JP U1MgSk9JTiBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKDApCitXSEVSRSBvaWQgPSAwOyAt LSBtdXN0IGJlIDAKKworXGMgcG9zdGdyZXMKK0RST1AgREFUQUJBU0UgcmVncmVzc2lvbl9z dGF0aXN0aWNfdmFjdXVtX2RiMTsKK0RST1AgREFUQUJBU0UgcmVncmVzc2lvbl9zdGF0aXN0 aWNfdmFjdXVtX2RiOworUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7ClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgZmlsZQotLSAKMi4zNC4xCgo= --------------0PfjJh6R8CncLnHAydjM2Cj3 Content-Type: text/x-patch; charset=UTF-8; name="v25-0004-Vacuum-statistics-have-been-separated-from-regular-r.patch" Content-Disposition: attachment; filename*0="v25-0004-Vacuum-statistics-have-been-separated-from-regular-"; filename*1="r.patch" Content-Transfer-Encoding: base64 RnJvbSAwMDg0ZjQ2YzhiNGE4YmZlOGQ4MWY1NDc0N2MzMDVlNDg3NTNhOTIwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogTW9uLCAxIFNlcCAyMDI1IDIxOjQ0OjU5ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCA0LzVdIFZhY3V1bSBzdGF0aXN0aWNzIGhhdmUgYmVlbiBzZXBhcmF0ZWQg ZnJvbSByZWd1bGFyCiByZWxhdGlvbiBhbmQgZGF0YWJhc2Ugc3RhdGlzdGljcyB0byByZWR1 Y2UgbWVtb3J5IHVzYWdlLiBEZWRpY2F0ZWQKIFBHU1RBVF9LSU5EX1ZBQ1VVTV9SRUxBVElP TiBhbmQgUEdTVEFUX0tJTkRfVkFDVVVNX0RCIGVudHJpZXMgd2VyZSBhZGRlZCB0bwogdGhl IHN0YXRzIGNvbGxlY3RvciB0byBlZmZpY2llbnRseSBhbGxvY2F0ZSBtZW1vcnkgZm9yIHZh Y3V1bS1zcGVjaWZpYwogbWV0cmljcywgd2hpY2ggcmVxdWlyZSBzaWduaWZpY2FudGx5IG1v cmUgc3BhY2UgcGVyIHJlbGF0aW9uLgoKLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMgICAgICAgICAgfCAxOTYgKysrKysrLS0tLS0tCiBzcmMvYmFja2VuZC9j YXRhbG9nL2hlYXAuYyAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQv Y2F0YWxvZy9pbmRleC5jICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5k L2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCAgICAgICAgICB8IDE3OCArKysrKy0tLS0tLQog c3JjL2JhY2tlbmQvY29tbWFuZHMvZGJjb21tYW5kcy5jICAgICAgICAgICAgIHwgICAxICsK IHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgICAgICAgICB8ICAxNCAr LQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvTWFrZWZpbGUgICAgICAgICAgIHwgICAx ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jICAgICAgICAgICB8ICAy OCArKwogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMgIHwg IDEwICstCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYyAg fCAxMTEgKy0tLS0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1 bS5jICAgIHwgMjE1ICsrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0 YXRmdW5jcy5jICAgICAgICAgICB8IDI4NSArKysrKy0tLS0tLS0tLS0tLS0KIHNyYy9pbmNs dWRlL2NvbW1hbmRzL3ZhY3V1bS5oICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjL2lu Y2x1ZGUvcGdzdGF0LmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAwICsrKysrKy0t LS0tLQogc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmggICAgICAgICAgIHwg IDE1ICsKIHNyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9raW5kLmggICAgICAgICAgICAgICB8 ICAgNCArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgICAgICAgICAg IHwgMTQ2ICsrKystLS0tLQogLi4uL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNz Lm91dCAgICAgIHwgIDgyICsrLS0tCiAuLi4vcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0 YXRpc3RpY3Muc3FsICAgfCAgNDggKy0tCiAxOSBmaWxlcyBjaGFuZ2VkLCA4MDUgaW5zZXJ0 aW9ucygrKSwgNzMzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF92YWN1dW0uYwoKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9o ZWFwL3ZhY3V1bWxhenkuYwppbmRleCBhYWM2NTkzM2UxYS4uNTdjZDE0NGY3N2EgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9zcmMv YmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAgLTQxMiw3ICs0MTIsNyBAQCB0 eXBlZGVmIHN0cnVjdCBMVlJlbFN0YXRlCiAKIAlpbnQzMgkJd3JhcGFyb3VuZF9mYWlsc2Fm ZV9jb3VudDsgLyogbnVtYmVyIG9mIGVtZXJnZW5jeSB2YWN1dW1zIHRvIHByZXZlbnQgYW50 aS13cmFwYXJvdW5kIHNodXRkb3duICovCiAKLQlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0 SWR4OworCVBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyBleHRWYWNSZXBvcnRJZHg7CiB9 IExWUmVsU3RhdGU7CiAKIApAQCAtNTI0LDcgKzUyNCw3IEBAIGV4dHZhY19zdGF0c19zdGFy dChSZWxhdGlvbiByZWwsIExWRXh0U3RhdENvdW50ZXJzICpjb3VudGVycykKICAqLwogc3Rh dGljIHZvaWQKIGV4dHZhY19zdGF0c19lbmQoUmVsYXRpb24gcmVsLCBMVkV4dFN0YXRDb3Vu dGVycyAqY291bnRlcnMsCi0JCQkJICBFeHRWYWNSZXBvcnQgKnJlcG9ydCkKKwkJCQkgUGdT dGF0X0NvbW1vbkNvdW50cyAqcmVwb3J0KQogewogCVdhbFVzYWdlCXdhbHVzYWdlOwogCUJ1 ZmZlclVzYWdlCWJ1ZnVzYWdlOwpAQCAtNTg1LDYgKzU4NSw4IEBAIGV4dHZhY19zdGF0c19z dGFydF9pZHgoUmVsYXRpb24gcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKnN0YXRzLAog CWlmKCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCiAJCXJldHVybjsKIAorCW1l bXNldCgmY291bnRlcnMtPmNvbW1vbiwgMCwgc2l6ZW9mKExWRXh0U3RhdENvdW50ZXJzKSk7 CisKIAkvKiBTZXQgaW5pdGlhbCB2YWx1ZXMgZm9yIGNvbW1vbiBoZWFwIGFuZCBpbmRleCBz dGF0aXN0aWNzKi8KIAlleHR2YWNfc3RhdHNfc3RhcnQocmVsLCAmY291bnRlcnMtPmNvbW1v bik7CiAJY291bnRlcnMtPnBhZ2VzX2RlbGV0ZWQgPSBjb3VudGVycy0+dHVwbGVzX3JlbW92 ZWQgPSAwOwpAQCAtNjAyLDExICs2MDQsMTMgQEAgZXh0dmFjX3N0YXRzX3N0YXJ0X2lkeChS ZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCiAKIHZvaWQKIGV4 dHZhY19zdGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0 ICpzdGF0cywKLQkJCQkJIExWRXh0U3RhdENvdW50ZXJzSWR4ICpjb3VudGVycywgRXh0VmFj UmVwb3J0ICpyZXBvcnQpCisJCQkJCSBMVkV4dFN0YXRDb3VudGVyc0lkeCAqY291bnRlcnMs IFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqcmVwb3J0KQogewotCW1lbXNldChyZXBv cnQsIDAsIHNpemVvZihFeHRWYWNSZXBvcnQpKTsKKwlpZighcGdzdGF0X3RyYWNrX3ZhY3V1 bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisKKwlleHR2YWNfc3RhdHNfZW5kKHJlbCwgJmNv dW50ZXJzLT5jb21tb24sICZyZXBvcnQtPmNvbW1vbik7CiAKLQlleHR2YWNfc3RhdHNfZW5k KHJlbCwgJmNvdW50ZXJzLT5jb21tb24sIHJlcG9ydCk7CiAJcmVwb3J0LT50eXBlID0gUEdT VEFUX0VYVFZBQ19JTkRFWDsKIAogCWlmIChzdGF0cyAhPSBOVUxMKQpAQCAtNjE3LDcgKzYy MSw3IEBAIGV4dHZhY19zdGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVs ZXRlUmVzdWx0ICpzdGF0cywKIAkJICovCiAKIAkJLyogRmlsbCBpbmRleC1zcGVjaWZpYyBl eHRlbmRlZCBzdGF0cyBmaWVsZHMgKi8KLQkJcmVwb3J0LT50dXBsZXNfZGVsZXRlZCA9CisJ CXJlcG9ydC0+Y29tbW9uLnR1cGxlc19kZWxldGVkID0KIAkJCQkJCQlzdGF0cy0+dHVwbGVz X3JlbW92ZWQgLSBjb3VudGVycy0+dHVwbGVzX3JlbW92ZWQ7CiAJCXJlcG9ydC0+aW5kZXgu cGFnZXNfZGVsZXRlZCA9CiAJCQkJCQkJc3RhdHMtPnBhZ2VzX2RlbGV0ZWQgLSBjb3VudGVy cy0+cGFnZXNfZGVsZXRlZDsKQEAgLTY0MCw3ICs2NDQsNyBAQCBleHR2YWNfc3RhdHNfZW5k X2lkeChSZWxhdGlvbiByZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMsCiAgICog cHJvY3VkdXJlLgogKi8KIHN0YXRpYyB2b2lkCi1hY2N1bXVsYXRlX2hlYXBfdmFjdXVtX3N0 YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVsLCBFeHRWYWNSZXBvcnQgKmV4dFZhY1N0YXRz KQorYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKExWUmVsU3RhdGUgKnZhY3Jl bCwgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpleHRWYWNTdGF0cykKIHsKIAlpZiAo IXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKIAkJcmV0dXJuOwpAQCAtNjUyLDQ5 ICs2NTYsNDkgQEAgYWNjdW11bGF0ZV9oZWFwX3ZhY3V1bV9zdGF0aXN0aWNzKExWUmVsU3Rh dGUgKnZhY3JlbCwgRXh0VmFjUmVwb3J0ICpleHRWYWNTdGF0cykKIAlleHRWYWNTdGF0cy0+ dGFibGUudm1fbmV3X2Zyb3plbl9wYWdlcyA9IHZhY3JlbC0+dm1fbmV3X2Zyb3plbl9wYWdl czsKIAlleHRWYWNTdGF0cy0+dGFibGUudm1fbmV3X3Zpc2libGVfcGFnZXMgPSB2YWNyZWwt PnZtX25ld192aXNpYmxlX3BhZ2VzOwogCWV4dFZhY1N0YXRzLT50YWJsZS52bV9uZXdfdmlz aWJsZV9mcm96ZW5fcGFnZXMgPSB2YWNyZWwtPnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdl czsKLQlleHRWYWNTdGF0cy0+dHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1cGxlc19kZWxl dGVkOworCWV4dFZhY1N0YXRzLT5jb21tb24udHVwbGVzX2RlbGV0ZWQgPSB2YWNyZWwtPnR1 cGxlc19kZWxldGVkOwogCWV4dFZhY1N0YXRzLT50YWJsZS50dXBsZXNfZnJvemVuID0gdmFj cmVsLT50dXBsZXNfZnJvemVuOwogCWV4dFZhY1N0YXRzLT50YWJsZS5yZWNlbnRseV9kZWFk X3R1cGxlcyA9IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXM7CiAJZXh0VmFjU3RhdHMt PnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzID0gdmFjcmVsLT5yZWNlbnRseV9kZWFkX3R1 cGxlczsKIAlleHRWYWNTdGF0cy0+dGFibGUubWlzc2VkX2RlYWRfdHVwbGVzID0gdmFjcmVs LT5taXNzZWRfZGVhZF90dXBsZXM7CiAJZXh0VmFjU3RhdHMtPnRhYmxlLm1pc3NlZF9kZWFk X3BhZ2VzID0gdmFjcmVsLT5taXNzZWRfZGVhZF9wYWdlczsKIAlleHRWYWNTdGF0cy0+dGFi bGUuaW5kZXhfdmFjdXVtX2NvdW50ID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7Ci0JZXh0 VmFjU3RhdHMtPndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQgPSB2YWNyZWwtPndyYXBhcm91 bmRfZmFpbHNhZmVfY291bnQ7CisJZXh0VmFjU3RhdHMtPmNvbW1vbi53cmFwYXJvdW5kX2Zh aWxzYWZlX2NvdW50ID0gdmFjcmVsLT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OwogCi0J ZXh0VmFjU3RhdHMtPmJsa19yZWFkX3RpbWUgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgu YmxrX3JlYWRfdGltZTsKLQlleHRWYWNTdGF0cy0+YmxrX3dyaXRlX3RpbWUgLT0gdmFjcmVs LT5leHRWYWNSZXBvcnRJZHguYmxrX3dyaXRlX3RpbWU7Ci0JZXh0VmFjU3RhdHMtPnRvdGFs X2Jsa3NfZGlydGllZCAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9ibGtzX2Rp cnRpZWQ7Ci0JZXh0VmFjU3RhdHMtPnRvdGFsX2Jsa3NfaGl0IC09IHZhY3JlbC0+ZXh0VmFj UmVwb3J0SWR4LnRvdGFsX2Jsa3NfaGl0OwotCWV4dFZhY1N0YXRzLT50b3RhbF9ibGtzX3Jl YWQgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgudG90YWxfYmxrc19yZWFkOwotCWV4dFZh Y1N0YXRzLT50b3RhbF9ibGtzX3dyaXR0ZW4gLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgu dG90YWxfYmxrc193cml0dGVuOwotCWV4dFZhY1N0YXRzLT53YWxfYnl0ZXMgLT0gdmFjcmVs LT5leHRWYWNSZXBvcnRJZHgud2FsX2J5dGVzOwotCWV4dFZhY1N0YXRzLT53YWxfZnBpIC09 IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LndhbF9mcGk7Ci0JZXh0VmFjU3RhdHMtPndhbF9y ZWNvcmRzIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LndhbF9yZWNvcmRzOworCWV4dFZh Y1N0YXRzLT5jb21tb24uYmxrX3JlYWRfdGltZSAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElk eC5jb21tb24uYmxrX3JlYWRfdGltZTsKKwlleHRWYWNTdGF0cy0+Y29tbW9uLmJsa193cml0 ZV90aW1lIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi5ibGtfd3JpdGVfdGlt ZTsKKwlleHRWYWNTdGF0cy0+Y29tbW9uLnRvdGFsX2Jsa3NfZGlydGllZCAtPSB2YWNyZWwt PmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90YWxfYmxrc19kaXJ0aWVkOworCWV4dFZhY1N0 YXRzLT5jb21tb24udG90YWxfYmxrc19oaXQgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHgu Y29tbW9uLnRvdGFsX2Jsa3NfaGl0OworCWV4dFZhY1N0YXRzLT5jb21tb24udG90YWxfYmxr c19yZWFkIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi50b3RhbF9ibGtzX3Jl YWQ7CisJZXh0VmFjU3RhdHMtPmNvbW1vbi50b3RhbF9ibGtzX3dyaXR0ZW4gLT0gdmFjcmVs LT5leHRWYWNSZXBvcnRJZHguY29tbW9uLnRvdGFsX2Jsa3Nfd3JpdHRlbjsKKwlleHRWYWNT dGF0cy0+Y29tbW9uLndhbF9ieXRlcyAtPSB2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21t b24ud2FsX2J5dGVzOworCWV4dFZhY1N0YXRzLT5jb21tb24ud2FsX2ZwaSAtPSB2YWNyZWwt PmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2FsX2ZwaTsKKwlleHRWYWNTdGF0cy0+Y29tbW9u LndhbF9yZWNvcmRzIC09IHZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmNvbW1vbi53YWxfcmVj b3JkczsKIAotCWV4dFZhY1N0YXRzLT50b3RhbF90aW1lIC09IHZhY3JlbC0+ZXh0VmFjUmVw b3J0SWR4LnRvdGFsX3RpbWU7Ci0JZXh0VmFjU3RhdHMtPmRlbGF5X3RpbWUgLT0gdmFjcmVs LT5leHRWYWNSZXBvcnRJZHguZGVsYXlfdGltZTsKKwlleHRWYWNTdGF0cy0+Y29tbW9uLnRv dGFsX3RpbWUgLT0gdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLnRvdGFsX3RpbWU7 CisJZXh0VmFjU3RhdHMtPmNvbW1vbi5kZWxheV90aW1lIC09IHZhY3JlbC0+ZXh0VmFjUmVw b3J0SWR4LmNvbW1vbi5kZWxheV90aW1lOwogCiB9CiAKIHN0YXRpYyB2b2lkCi1hY2N1bXVs YXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3MoTFZSZWxTdGF0ZSAqdmFjcmVsLCBFeHRWYWNS ZXBvcnQgKmV4dFZhY0lkeFN0YXRzKQorYWNjdW11bGF0ZV9pZHhzX3ZhY3V1bV9zdGF0aXN0 aWNzKExWUmVsU3RhdGUgKnZhY3JlbCwgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpl eHRWYWNJZHhTdGF0cykKIHsKIAlpZiAoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGlj cykKIAkJcmV0dXJuOwogCiAJLyogRmlsbCBoZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRz IGZpZWxkcyAqLwotCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LmJsa19yZWFkX3RpbWUgKz0g ZXh0VmFjSWR4U3RhdHMtPmJsa19yZWFkX3RpbWU7Ci0JdmFjcmVsLT5leHRWYWNSZXBvcnRJ ZHguYmxrX3dyaXRlX3RpbWUgKz0gZXh0VmFjSWR4U3RhdHMtPmJsa193cml0ZV90aW1lOwot CXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LnRvdGFsX2Jsa3NfZGlydGllZCArPSBleHRWYWNJ ZHhTdGF0cy0+dG90YWxfYmxrc19kaXJ0aWVkOwotCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4 LnRvdGFsX2Jsa3NfaGl0ICs9IGV4dFZhY0lkeFN0YXRzLT50b3RhbF9ibGtzX2hpdDsKLQl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9ibGtzX3JlYWQgKz0gZXh0VmFjSWR4U3Rh dHMtPnRvdGFsX2Jsa3NfcmVhZDsKLQl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC50b3RhbF9i bGtzX3dyaXR0ZW4gKz0gZXh0VmFjSWR4U3RhdHMtPnRvdGFsX2Jsa3Nfd3JpdHRlbjsKLQl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC53YWxfYnl0ZXMgKz0gZXh0VmFjSWR4U3RhdHMtPndh bF9ieXRlczsKLQl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC53YWxfZnBpICs9IGV4dFZhY0lk eFN0YXRzLT53YWxfZnBpOwotCXZhY3JlbC0+ZXh0VmFjUmVwb3J0SWR4LndhbF9yZWNvcmRz ICs9IGV4dFZhY0lkeFN0YXRzLT53YWxfcmVjb3JkczsKLQl2YWNyZWwtPmV4dFZhY1JlcG9y dElkeC5kZWxheV90aW1lICs9IGV4dFZhY0lkeFN0YXRzLT5kZWxheV90aW1lOwotCi0JdmFj cmVsLT5leHRWYWNSZXBvcnRJZHgudG90YWxfdGltZSArPSBleHRWYWNJZHhTdGF0cy0+dG90 YWxfdGltZTsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24uYmxrX3JlYWRfdGlt ZSArPSBleHRWYWNJZHhTdGF0cy0+Y29tbW9uLmJsa19yZWFkX3RpbWU7CisJdmFjcmVsLT5l eHRWYWNSZXBvcnRJZHguY29tbW9uLmJsa193cml0ZV90aW1lICs9IGV4dFZhY0lkeFN0YXRz LT5jb21tb24uYmxrX3dyaXRlX3RpbWU7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29t bW9uLnRvdGFsX2Jsa3NfZGlydGllZCArPSBleHRWYWNJZHhTdGF0cy0+Y29tbW9uLnRvdGFs X2Jsa3NfZGlydGllZDsKKwl2YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90YWxf Ymxrc19oaXQgKz0gZXh0VmFjSWR4U3RhdHMtPmNvbW1vbi50b3RhbF9ibGtzX2hpdDsKKwl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24udG90YWxfYmxrc19yZWFkICs9IGV4dFZh Y0lkeFN0YXRzLT5jb21tb24udG90YWxfYmxrc19yZWFkOworCXZhY3JlbC0+ZXh0VmFjUmVw b3J0SWR4LmNvbW1vbi50b3RhbF9ibGtzX3dyaXR0ZW4gKz0gZXh0VmFjSWR4U3RhdHMtPmNv bW1vbi50b3RhbF9ibGtzX3dyaXR0ZW47CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29t bW9uLndhbF9ieXRlcyArPSBleHRWYWNJZHhTdGF0cy0+Y29tbW9uLndhbF9ieXRlczsKKwl2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeC5jb21tb24ud2FsX2ZwaSArPSBleHRWYWNJZHhTdGF0 cy0+Y29tbW9uLndhbF9mcGk7CisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLndh bF9yZWNvcmRzICs9IGV4dFZhY0lkeFN0YXRzLT5jb21tb24ud2FsX3JlY29yZHM7CisJdmFj cmVsLT5leHRWYWNSZXBvcnRJZHguY29tbW9uLmRlbGF5X3RpbWUgKz0gZXh0VmFjSWR4U3Rh dHMtPmNvbW1vbi5kZWxheV90aW1lOworCisJdmFjcmVsLT5leHRWYWNSZXBvcnRJZHguY29t bW9uLnRvdGFsX3RpbWUgKz0gZXh0VmFjSWR4U3RhdHMtPmNvbW1vbi50b3RhbF90aW1lOwog fQogCiAKQEAgLTg1NSwxMiArODU5LDEwIEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiBy ZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyBwYXJhbXMsCiAJRXJyb3JDb250ZXh0Q2FsbGJhY2sg ZXJyY2FsbGJhY2s7CiAJY2hhcgkgICoqaW5kbmFtZXMgPSBOVUxMOwogCUxWRXh0U3RhdENv dW50ZXJzIGV4dFZhY0NvdW50ZXJzOwotCUV4dFZhY1JlcG9ydCBleHRWYWNSZXBvcnQ7Ci0J RXh0VmFjUmVwb3J0IGFsbHplcm87CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGV4 dFZhY1JlcG9ydDsKIAogCS8qIEluaXRpYWxpemUgdmFjdXVtIHN0YXRpc3RpY3MgKi8KLQlt ZW1zZXQoJmV4dFZhY1JlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOwotCWV4dFZh Y1JlcG9ydCA9IGFsbHplcm87CisJbWVtc2V0KCZleHRWYWNSZXBvcnQsIDAsIHNpemVvZihQ Z1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMpKTsKIAogCXZlcmJvc2UgPSAocGFyYW1zLm9w dGlvbnMgJiBWQUNPUFRfVkVSQk9TRSkgIT0gMDsKIAlpbnN0cnVtZW50ID0gKHZlcmJvc2Ug fHwgKEFtQXV0b1ZhY3V1bVdvcmtlclByb2Nlc3MoKSAmJgpAQCAtOTA2LDcgKzkwOCw4IEBA IGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyBwYXJh bXMsCiAJZXJyY2FsbGJhY2sucHJldmlvdXMgPSBlcnJvcl9jb250ZXh0X3N0YWNrOwogCWVy cm9yX2NvbnRleHRfc3RhY2sgPSAmZXJyY2FsbGJhY2s7CiAKLQltZW1zZXQoJnZhY3JlbC0+ ZXh0VmFjUmVwb3J0SWR4LCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisJbWVtc2V0KCZ2 YWNyZWwtPmV4dFZhY1JlcG9ydElkeCwgMCwgc2l6ZW9mKFBnU3RhdF9WYWN1dW1SZWxhdGlv bkNvdW50cykpOworCW1lbXNldCgmZXh0VmFjUmVwb3J0LmNvbW1vbiwgMCwgc2l6ZW9mKFBn U3RhdF9Db21tb25Db3VudHMpKTsKIAogCS8qIFNldCB1cCBoaWdoIGxldmVsIHN0dWZmIGFi b3V0IHJlbCBhbmQgaXRzIGluZGV4ZXMgKi8KIAl2YWNyZWwtPnJlbCA9IHJlbDsKQEAgLTEx NTgsNyArMTE2MSw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIGNvbnN0IFZh Y3V1bVBhcmFtcyBwYXJhbXMsCiAJCQkJCQkmZnJvemVueGlkX3VwZGF0ZWQsICZtaW5tdWx0 aV91cGRhdGVkLCBmYWxzZSk7CiAKIAkvKiBNYWtlIGdlbmVyaWMgZXh0ZW5kZWQgdmFjdXVt IHN0YXRzIHJlcG9ydCAqLwotCWV4dHZhY19zdGF0c19lbmQocmVsLCAmZXh0VmFjQ291bnRl cnMsICZleHRWYWNSZXBvcnQpOworCWV4dHZhY19zdGF0c19lbmQocmVsLCAmZXh0VmFjQ291 bnRlcnMsICZleHRWYWNSZXBvcnQuY29tbW9uKTsKIAogCS8qCiAJICogUmVwb3J0IHJlc3Vs dHMgdG8gdGhlIGN1bXVsYXRpdmUgc3RhdHMgc3lzdGVtLCB0b28uCkBAIC0xMTcwLDMzICsx MTczLDIwIEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIGNvbnN0IFZhY3V1bVBh cmFtcyBwYXJhbXMsCiAJICogc29vbiBpbiBjYXNlcyB3aGVyZSB0aGUgZmFpbHNhZmUgcHJl dmVudGVkIHNpZ25pZmljYW50IGFtb3VudHMgb2YgaGVhcAogCSAqIHZhY3V1bWluZy4KIAkg Ki8KLQlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JewotCQkvKiBNYWtl IGdlbmVyaWMgZXh0ZW5kZWQgdmFjdXVtIHN0YXRzIHJlcG9ydCBhbmQKLQkJICogZmlsbCBo ZWFwLXNwZWNpZmljIGV4dGVuZGVkIHN0YXRzIGZpZWxkcy4KLQkJICovCi0JCWV4dHZhY19z dGF0c19lbmQodmFjcmVsLT5yZWwsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7 Ci0JCWFjY3VtdWxhdGVfaGVhcF92YWN1dW1fc3RhdGlzdGljcyh2YWNyZWwsICZleHRWYWNS ZXBvcnQpOwogCi0JCXBnc3RhdF9yZXBvcnRfdmFjdXVtKFJlbGF0aW9uR2V0UmVsaWQocmVs KSwKLQkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCi0JCQkJCQkgTWF4KHZhY3Jl bC0+bmV3X2xpdmVfdHVwbGVzLCAwKSwKLQkJCQkJCSB2YWNyZWwtPnJlY2VudGx5X2RlYWRf dHVwbGVzICsKLSAJCQkJCQkgdmFjcmVsLT5taXNzZWRfZGVhZF90dXBsZXMsCi0JCQkJCQkg c3RhcnR0aW1lLAotCQkJCQkJICZleHRWYWNSZXBvcnQpOworCS8qIE1ha2UgZ2VuZXJpYyBl eHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGFuZAorCQkqIGZpbGwgaGVhcC1zcGVjaWZp YyBleHRlbmRlZCBzdGF0cyBmaWVsZHMuCisJCSovCisJYWNjdW11bGF0ZV9oZWFwX3ZhY3V1 bV9zdGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7CiAKLQl9Ci0JZWxzZQotCXsK LQkJcGdzdGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChyZWwpLAorCXBnc3Rh dF9yZXBvcnRfdmFjdXVtX2V4dHN0YXRzKHZhY3JlbC0+cmVsb2lkLCByZWwtPnJkX3JlbC0+ cmVsaXNzaGFyZWQsICZleHRWYWNSZXBvcnQpOworCisJcGdzdGF0X3JlcG9ydF92YWN1dW0o UmVsYXRpb25HZXRSZWxpZChyZWwpLAogCQkJCQkJCSByZWwtPnJkX3JlbC0+cmVsaXNzaGFy ZWQsCiAJCQkJCQkJIE1heCh2YWNyZWwtPm5ld19saXZlX3R1cGxlcywgMCksCiAJCQkJCQkJ IHZhY3JlbC0+cmVjZW50bHlfZGVhZF90dXBsZXMgKwogCQkJCQkJCSB2YWNyZWwtPm1pc3Nl ZF9kZWFkX3R1cGxlcywKLQkJCQkJCQkgc3RhcnR0aW1lLAotCQkJCQkJCSBOVUxMKTsKLQl9 CisJCQkJCQkJIHN0YXJ0dGltZSk7CiAKIAlwZ3N0YXRfcHJvZ3Jlc3NfZW5kX2NvbW1hbmQo KTsKIApAQCAtMjg5Niw5ICsyODg2LDkgQEAgbGF6eV92YWN1dW1fYWxsX2luZGV4ZXMoTFZS ZWxTdGF0ZSAqdmFjcmVsKQogCWVsc2UKIAl7CiAJCUxWRXh0U3RhdENvdW50ZXJzIGNvdW50 ZXJzOwotCQlFeHRWYWNSZXBvcnQgZXh0VmFjUmVwb3J0OworCQlQZ1N0YXRfVmFjdXVtUmVs YXRpb25Db3VudHMgZXh0VmFjUmVwb3J0OwogCi0JCW1lbXNldCgmZXh0VmFjUmVwb3J0LCAw LCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisJCW1lbXNldCgmZXh0VmFjUmVwb3J0LmNvbW1v biwgMCwgc2l6ZW9mKFBnU3RhdF9Db21tb25Db3VudHMpKTsKIAogCQlleHR2YWNfc3RhdHNf c3RhcnQodmFjcmVsLT5yZWwsICZjb3VudGVycyk7CiAKQEAgLTI5MDYsNyArMjg5Niw3IEBA IGxhenlfdmFjdXVtX2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKIAkJcGFyYWxs ZWxfdmFjdXVtX2J1bGtkZWxfYWxsX2luZGV4ZXModmFjcmVsLT5wdnMsIG9sZF9saXZlX3R1 cGxlcywKIAkJCQkJCQkJCQkJdmFjcmVsLT5udW1faW5kZXhfc2NhbnMpOwogCi0JCWV4dHZh Y19zdGF0c19lbmQodmFjcmVsLT5yZWwsICZjb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CisJ CWV4dHZhY19zdGF0c19lbmQodmFjcmVsLT5yZWwsICZjb3VudGVycywgJmV4dFZhY1JlcG9y dC5jb21tb24pOwogCQlhY2N1bXVsYXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3ModmFjcmVs LCAmZXh0VmFjUmVwb3J0KTsKIAogCQkvKgpAQCAtMzMxOSw5ICszMzA5LDkgQEAgbGF6eV9j bGVhbnVwX2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKIAllbHNlCiAJewogCQlM VkV4dFN0YXRDb3VudGVycyBjb3VudGVyczsKLQkJRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9y dDsKKwkJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGV4dFZhY1JlcG9ydDsKIAotCQlt ZW1zZXQoJmV4dFZhY1JlcG9ydCwgMCwgc2l6ZW9mKEV4dFZhY1JlcG9ydCkpOworCQltZW1z ZXQoJmV4dFZhY1JlcG9ydC5jb21tb24sIDAsIHNpemVvZihQZ1N0YXRfQ29tbW9uQ291bnRz KSk7CiAKIAkJZXh0dmFjX3N0YXRzX3N0YXJ0KHZhY3JlbC0+cmVsLCAmY291bnRlcnMpOwog CkBAIC0zMzMwLDcgKzMzMjAsNyBAQCBsYXp5X2NsZWFudXBfYWxsX2luZGV4ZXMoTFZSZWxT dGF0ZSAqdmFjcmVsKQogCQkJCQkJCQkJCQl2YWNyZWwtPm51bV9pbmRleF9zY2FucywKIAkJ CQkJCQkJCQkJZXN0aW1hdGVkX2NvdW50KTsKIAotCQlleHR2YWNfc3RhdHNfZW5kKHZhY3Jl bC0+cmVsLCAmY291bnRlcnMsICZleHRWYWNSZXBvcnQpOworCQlleHR2YWNfc3RhdHNfZW5k KHZhY3JlbC0+cmVsLCAmY291bnRlcnMsICZleHRWYWNSZXBvcnQuY29tbW9uKTsKIAkJYWNj dW11bGF0ZV9pZHhzX3ZhY3V1bV9zdGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7 CiAJfQogCkBAIC0zMzU4LDcgKzMzNDgsMTAgQEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJl bGF0aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIAlJbmRleFZh Y3V1bUluZm8gaXZpbmZvOwogCUxWU2F2ZWRFcnJJbmZvIHNhdmVkX2Vycl9pbmZvOwogCUxW RXh0U3RhdENvdW50ZXJzSWR4IGV4dFZhY0NvdW50ZXJzOwotCUV4dFZhY1JlcG9ydCBleHRW YWNSZXBvcnQ7CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGV4dFZhY1JlcG9ydDsK KworCW1lbXNldCgmZXh0VmFjUmVwb3J0LCAwLCBzaXplb2YoUGdTdGF0X1ZhY3V1bVJlbGF0 aW9uQ291bnRzKSk7CisJbWVtc2V0KCZleHRWYWNSZXBvcnQuY29tbW9uLCAwLCBzaXplb2Yo UGdTdGF0X0NvbW1vbkNvdW50cykpOwogCiAJLyogU2V0IGluaXRpYWwgc3RhdGlzdGljcyB2 YWx1ZXMgdG8gZ2F0aGVyIHZhY3V1bSBzdGF0aXN0aWNzIGZvciB0aGUgaW5kZXggKi8KIAll eHR2YWNfc3RhdHNfc3RhcnRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycyk7 CkBAIC0zMzg5LDE4ICszMzgyLDEzIEBAIGxhenlfdmFjdXVtX29uZV9pbmRleChSZWxhdGlv biBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJaXN0YXQgPSB2YWNf YnVsa2RlbF9vbmVfaW5kZXgoJml2aW5mbywgaXN0YXQsIHZhY3JlbC0+ZGVhZF9pdGVtcywK IAkJCQkJCQkJICB2YWNyZWwtPmRlYWRfaXRlbXNfaW5mbyk7CiAKLQlpZihwZ3N0YXRfdHJh Y2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JewotCQkvKiBNYWtlIGV4dGVuZGVkIHZhY3V1bSBz dGF0cyByZXBvcnQgZm9yIGluZGV4ICovCi0JCWV4dHZhY19zdGF0c19lbmRfaWR4KGluZHJl bCwgaXN0YXQsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7CisJLyogTWFrZSBl eHRlbmRlZCB2YWN1dW0gc3RhdHMgcmVwb3J0IGZvciBpbmRleCAqLworCWV4dHZhY19zdGF0 c19lbmRfaWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9y dCk7CiAKLQkJaWYgKCFQYXJhbGxlbFZhY3V1bUlzQWN0aXZlKHZhY3JlbCkpCi0JCQlhY2N1 bXVsYXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3ModmFjcmVsLCAmZXh0VmFjUmVwb3J0KTsK KwlpZiAoIVBhcmFsbGVsVmFjdXVtSXNBY3RpdmUodmFjcmVsKSkKKwkJYWNjdW11bGF0ZV9p ZHhzX3ZhY3V1bV9zdGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7CiAKLQkJcGdz dGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAotCQkJCQkJCQlp bmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCi0JCQkJCQkJCTAsIDAsIDAsICZleHRWYWNS ZXBvcnQpOwotCX0KKwlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9leHRzdGF0cyh2YWNyZWwtPmlu ZG9pZCwgaW5kcmVsLT5yZF9yZWwtPnJlbGlzc2hhcmVkLCAmZXh0VmFjUmVwb3J0KTsKIAog CS8qIFJldmVydCB0byB0aGUgcHJldmlvdXMgcGhhc2UgaW5mb3JtYXRpb24gZm9yIGVycm9y IHRyYWNlYmFjayAqLwogCXJlc3RvcmVfdmFjdXVtX2Vycm9yX2luZm8odmFjcmVsLCAmc2F2 ZWRfZXJyX2luZm8pOwpAQCAtMzQyNyw3ICszNDE1LDEwIEBAIGxhenlfY2xlYW51cF9vbmVf aW5kZXgoUmVsYXRpb24gaW5kcmVsLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0LAog CUluZGV4VmFjdXVtSW5mbyBpdmluZm87CiAJTFZTYXZlZEVyckluZm8gc2F2ZWRfZXJyX2lu Zm87CiAJTFZFeHRTdGF0Q291bnRlcnNJZHggZXh0VmFjQ291bnRlcnM7Ci0JRXh0VmFjUmVw b3J0IGV4dFZhY1JlcG9ydDsKKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgZXh0VmFj UmVwb3J0OworCisJbWVtc2V0KCZleHRWYWNSZXBvcnQsIDAsIHNpemVvZihQZ1N0YXRfVmFj dXVtUmVsYXRpb25Db3VudHMpKTsKKwltZW1zZXQoJmV4dFZhY1JlcG9ydC5jb21tb24sIDAs IHNpemVvZihQZ1N0YXRfQ29tbW9uQ291bnRzKSk7CiAKIAkvKiBTZXQgaW5pdGlhbCBzdGF0 aXN0aWNzIHZhbHVlcyB0byBnYXRoZXIgdmFjdXVtIHN0YXRpc3RpY3MgZm9yIHRoZSBpbmRl eCAqLwogCWV4dHZhY19zdGF0c19zdGFydF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZhY0Nv dW50ZXJzKTsKQEAgLTM0NTcsMTcgKzM0NDgsMTMgQEAgbGF6eV9jbGVhbnVwX29uZV9pbmRl eChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAKIAlp c3RhdCA9IHZhY19jbGVhbnVwX29uZV9pbmRleCgmaXZpbmZvLCBpc3RhdCk7CiAKLQlpZihw Z3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JewotCQkvKiBNYWtlIGV4dGVuZGVk IHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4ICovCi0JCWV4dHZhY19zdGF0c19lbmRf aWR4KGluZHJlbCwgaXN0YXQsICZleHRWYWNDb3VudGVycywgJmV4dFZhY1JlcG9ydCk7Ci0J CWlmICghUGFyYWxsZWxWYWN1dW1Jc0FjdGl2ZSh2YWNyZWwpKQotCQkJYWNjdW11bGF0ZV9p ZHhzX3ZhY3V1bV9zdGF0aXN0aWNzKHZhY3JlbCwgJmV4dFZhY1JlcG9ydCk7Ci0KLQkJcGdz dGF0X3JlcG9ydF92YWN1dW0oUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpLAotCQkJCQkJCQlp bmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsCi0JCQkJCQkJCTAsIDAsIDAsICZleHRWYWNS ZXBvcnQpOwotCX0KKwkvKiBNYWtlIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9y IGluZGV4ICovCisJZXh0dmFjX3N0YXRzX2VuZF9pZHgoaW5kcmVsLCBpc3RhdCwgJmV4dFZh Y0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKworCWlmICghUGFyYWxsZWxWYWN1dW1Jc0Fj dGl2ZSh2YWNyZWwpKQorCQlhY2N1bXVsYXRlX2lkeHNfdmFjdXVtX3N0YXRpc3RpY3ModmFj cmVsLCAmZXh0VmFjUmVwb3J0KTsKKworCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2V4dHN0YXRz KHZhY3JlbC0+aW5kb2lkLCBpbmRyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQsICZleHRWYWNS ZXBvcnQpOwogCiAJLyogUmV2ZXJ0IHRvIHRoZSBwcmV2aW91cyBwaGFzZSBpbmZvcm1hdGlv biBmb3IgZXJyb3IgdHJhY2ViYWNrICovCiAJcmVzdG9yZV92YWN1dW1fZXJyb3JfaW5mbyh2 YWNyZWwsICZzYXZlZF9lcnJfaW5mbyk7CkBAIC00MDY3LDYgKzQwNTQsMjcgQEAgdXBkYXRl X3JlbHN0YXRzX2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKIAl9CiB9CiAKKy8q IC0tLS0tLS0tLQorICogcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoKSAtCisgKgorICoJ VGVsbCB0aGUgY29sbGVjdG9yIGFib3V0IGFuIChhdXRvKXZhY3V1bSBpbnRlcnJ1cHRpb24u CisgKiAtLS0tLS0tLS0KKyAqLworc3RhdGljIHZvaWQKK3Bnc3RhdF9yZXBvcnRfdmFjdXVt X2Vycm9yKCkKK3sKKwlQZ1N0YXRfVmFjdXVtREJDb3VudHMgKnZhY3V1bV9kYmVudHJ5Owor CisJaWYoIXBnc3RhdF90cmFja192YWN1dW1fc3RhdGlzdGljcykKKwkJcmV0dXJuOworCisJ dmFjdXVtX2RiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3RhdF92YWN1dW1fZGJlbnRyeShNeURh dGFiYXNlSWQpOworCisgICAgaWYodmFjdXVtX2RiZW50cnkgPT0gTlVMTCkKKyAgICByZXR1 cm47CisJdmFjdXVtX2RiZW50cnktPmVycm9ycysrOworfQorCiAvKgogICogRXJyb3IgY29u dGV4dCBjYWxsYmFjayBmb3IgZXJyb3JzIG9jY3VycmluZyBkdXJpbmcgdmFjdXVtLiAgVGhl IGVycm9yCiAgKiBjb250ZXh0IG1lc3NhZ2VzIGZvciBpbmRleCBwaGFzZXMgc2hvdWxkIG1h dGNoIHRoZSBtZXNzYWdlcyBzZXQgaW4gcGFyYWxsZWwKQEAgLTQwODIsNyArNDA5MCw3IEBA IHZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJewogCQljYXNlIFZBQ1VVTV9F UlJDQl9QSEFTRV9TQ0FOX0hFQVA6CiAJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikK LQkJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJyaW5mby0+cmVsb2lkLCBQR1NU QVRfRVhUVkFDX1RBQkxFKTsKKwkJCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoKTsK IAogCQkJaWYgKEJsb2NrTnVtYmVySXNWYWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQl7CkBA IC00MTAwLDcgKzQxMDgsNyBAQCB2YWN1dW1fZXJyb3JfY2FsbGJhY2sodm9pZCAqYXJnKQog CiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX1ZBQ1VVTV9IRUFQOgogCQkJaWYoZ2V0ZXJy ZWxldmVsKCkgPT0gRVJST1IpCi0JCQkJcGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoZXJy aW5mby0+cmVsb2lkLCBQR1NUQVRfRVhUVkFDX1RBQkxFKTsKKwkJCQlwZ3N0YXRfcmVwb3J0 X3ZhY3V1bV9lcnJvcigpOwogCiAJCQlpZiAoQmxvY2tOdW1iZXJJc1ZhbGlkKGVycmluZm8t PmJsa25vKSkKIAkJCXsKQEAgLTQxMTgsNyArNDEyNiw3IEBAIHZhY3V1bV9lcnJvcl9jYWxs YmFjayh2b2lkICphcmcpCiAKIAkJY2FzZSBWQUNVVU1fRVJSQ0JfUEhBU0VfVkFDVVVNX0lO REVYOgogCQkJaWYoZ2V0ZXJyZWxldmVsKCkgPT0gRVJST1IpCi0JCQkJcGdzdGF0X3JlcG9y dF92YWN1dW1fZXJyb3IoZXJyaW5mby0+aW5kb2lkLCBQR1NUQVRfRVhUVkFDX0lOREVYKTsK KwkJCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJvcigpOwogCiAJCQllcnJjb250ZXh0KCJ3 aGlsZSB2YWN1dW1pbmcgaW5kZXggXCIlc1wiIG9mIHJlbGF0aW9uIFwiJXMuJXNcIiIsCiAJ CQkJCSAgIGVycmluZm8tPmluZG5hbWUsIGVycmluZm8tPnJlbG5hbWVzcGFjZSwgZXJyaW5m by0+cmVsbmFtZSk7CkBAIC00MTI2LDcgKzQxMzQsNyBAQCB2YWN1dW1fZXJyb3JfY2FsbGJh Y2sodm9pZCAqYXJnKQogCiAJCWNhc2UgVkFDVVVNX0VSUkNCX1BIQVNFX0lOREVYX0NMRUFO VVA6CiAJCQlpZihnZXRlcnJlbGV2ZWwoKSA9PSBFUlJPUikKLQkJCQlwZ3N0YXRfcmVwb3J0 X3ZhY3V1bV9lcnJvcihlcnJpbmZvLT5pbmRvaWQsIFBHU1RBVF9FWFRWQUNfSU5ERVgpOwor CQkJCXBnc3RhdF9yZXBvcnRfdmFjdXVtX2Vycm9yKCk7CiAKIAkJCWVycmNvbnRleHQoIndo aWxlIGNsZWFuaW5nIHVwIGluZGV4IFwiJXNcIiBvZiByZWxhdGlvbiBcIiVzLiVzXCIiLAog CQkJCQkgICBlcnJpbmZvLT5pbmRuYW1lLCBlcnJpbmZvLT5yZWxuYW1lc3BhY2UsIGVycmlu Zm8tPnJlbG5hbWUpOwpAQCAtNDEzNCw3ICs0MTQyLDcgQEAgdmFjdXVtX2Vycm9yX2NhbGxi YWNrKHZvaWQgKmFyZykKIAogCQljYXNlIFZBQ1VVTV9FUlJDQl9QSEFTRV9UUlVOQ0FURToK IAkJCWlmKGdldGVycmVsZXZlbCgpID09IEVSUk9SKQotCQkJCXBnc3RhdF9yZXBvcnRfdmFj dXVtX2Vycm9yKGVycmluZm8tPnJlbG9pZCwgUEdTVEFUX0VYVFZBQ19UQUJMRSk7CisJCQkJ cGdzdGF0X3JlcG9ydF92YWN1dW1fZXJyb3IoKTsKIAogCQkJaWYgKEJsb2NrTnVtYmVySXNW YWxpZChlcnJpbmZvLT5ibGtubykpCiAJCQkJZXJyY29udGV4dCgid2hpbGUgdHJ1bmNhdGlu ZyByZWxhdGlvbiBcIiVzLiVzXCIgdG8gJXUgYmxvY2tzIiwKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NhdGFsb2cvaGVhcC5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMKaW5k ZXggZmQ2NTM3NTY3ZWEuLmY4MmYxMTQ5MGZmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j YXRhbG9nL2hlYXAuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYwpAQCAtMTg4 Myw2ICsxODgzLDcgQEAgaGVhcF9kcm9wX3dpdGhfY2F0YWxvZyhPaWQgcmVsaWQpCiAKIAkv KiBlbnN1cmUgdGhhdCBzdGF0cyBhcmUgZHJvcHBlZCBpZiB0cmFuc2FjdGlvbiBjb21taXRz ICovCiAJcGdzdGF0X2Ryb3BfcmVsYXRpb24ocmVsKTsKKwlwZ3N0YXRfdmFjdXVtX3JlbGF0 aW9uX2RlbGV0ZV9wZW5kaW5nX2NiKFJlbGF0aW9uR2V0UmVsaWQocmVsKSk7CiAKIAkvKgog CSAqIENsb3NlIHJlbGNhY2hlIGVudHJ5LCBidXQgKmtlZXAqIEFjY2Vzc0V4Y2x1c2l2ZUxv Y2sgb24gdGhlIHJlbGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2lu ZGV4LmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2luZGV4LmMKaW5kZXggNWQ5ZGIxNjdlNTku LjdkZWY3YzEzYjE1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL2luZGV4LmMK KysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9pbmRleC5jCkBAIC0yMzI3LDYgKzIzMjcsNyBA QCBpbmRleF9kcm9wKE9pZCBpbmRleElkLCBib29sIGNvbmN1cnJlbnQsIGJvb2wgY29uY3Vy cmVudF9sb2NrX21vZGUpCiAKIAkvKiBlbnN1cmUgdGhhdCBzdGF0cyBhcmUgZHJvcHBlZCBp ZiB0cmFuc2FjdGlvbiBjb21taXRzICovCiAJcGdzdGF0X2Ryb3BfcmVsYXRpb24odXNlcklu ZGV4UmVsYXRpb24pOworCXBnc3RhdF92YWN1dW1fcmVsYXRpb25fZGVsZXRlX3BlbmRpbmdf Y2IoUmVsYXRpb25HZXRSZWxpZCh1c2VySW5kZXhSZWxhdGlvbikpOwogCiAJLyoKIAkgKiBD bG9zZSBhbmQgZmx1c2ggdGhlIGluZGV4J3MgcmVsY2FjaGUgZW50cnksIHRvIGVuc3VyZSBy ZWxjYWNoZSBkb2Vzbid0CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3Rl bV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5k ZXggMWM1ZTM1MWE2NzIuLjI4YmJmMTFjZjk3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j YXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsCkBAIC0xNDMwLDEwMCArMTQzMCwxMDQgQEAgR1JBTlQgRVhFQ1VURSBP TiBGVU5DVElPTiBwZ19nZXRfYWlvcygpIFRPIHBnX3JlYWRfYWxsX3N0YXRzOwogLS0KIAog Q1JFQVRFIFZJRVcgcGdfc3RhdF92YWN1dW1fdGFibGVzIEFTCi1TRUxFQ1QKLSAgbnMubnNw bmFtZSBBUyBzY2hlbWFuYW1lLAotICByZWwucmVsbmFtZSBBUyByZWxuYW1lLAotICBzdGF0 cy5yZWxpZCBhcyByZWxpZCwKLQotICBzdGF0cy50b3RhbF9ibGtzX3JlYWQgQVMgdG90YWxf Ymxrc19yZWFkLAotICBzdGF0cy50b3RhbF9ibGtzX2hpdCBBUyB0b3RhbF9ibGtzX2hpdCwK LSAgc3RhdHMudG90YWxfYmxrc19kaXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKLSAg c3RhdHMudG90YWxfYmxrc193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKLQotICBz dGF0cy5yZWxfYmxrc19yZWFkIEFTIHJlbF9ibGtzX3JlYWQsCi0gIHN0YXRzLnJlbF9ibGtz X2hpdCBBUyByZWxfYmxrc19oaXQsCi0KLSAgc3RhdHMucGFnZXNfc2Nhbm5lZCBBUyBwYWdl c19zY2FubmVkLAotICBzdGF0cy5wYWdlc19yZW1vdmVkIEFTIHBhZ2VzX3JlbW92ZWQsCi0g IHN0YXRzLnZtX25ld19mcm96ZW5fcGFnZXMgQVMgdm1fbmV3X2Zyb3plbl9wYWdlcywKLSAg c3RhdHMudm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgdm1fbmV3X3Zpc2libGVfcGFnZXMsCi0g IHN0YXRzLnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyBBUyB2bV9uZXdfdmlzaWJsZV9m cm96ZW5fcGFnZXMsCi0gIHN0YXRzLm1pc3NlZF9kZWFkX3BhZ2VzIEFTIG1pc3NlZF9kZWFk X3BhZ2VzLAotICBzdGF0cy50dXBsZXNfZGVsZXRlZCBBUyB0dXBsZXNfZGVsZXRlZCwKLSAg c3RhdHMudHVwbGVzX2Zyb3plbiBBUyB0dXBsZXNfZnJvemVuLAotICBzdGF0cy5yZWNlbnRs eV9kZWFkX3R1cGxlcyBBUyByZWNlbnRseV9kZWFkX3R1cGxlcywKLSAgc3RhdHMubWlzc2Vk X2RlYWRfdHVwbGVzIEFTIG1pc3NlZF9kZWFkX3R1cGxlcywKLQotICBzdGF0cy53cmFwYXJv dW5kX2ZhaWxzYWZlIEFTIHdyYXBhcm91bmRfZmFpbHNhZmUsCi0gIHN0YXRzLmluZGV4X3Zh Y3V1bV9jb3VudCBBUyBpbmRleF92YWN1dW1fY291bnQsCi0gIHN0YXRzLndhbF9yZWNvcmRz IEFTIHdhbF9yZWNvcmRzLAotICBzdGF0cy53YWxfZnBpIEFTIHdhbF9mcGksCi0gIHN0YXRz LndhbF9ieXRlcyBBUyB3YWxfYnl0ZXMsCi0KLSAgc3RhdHMuYmxrX3JlYWRfdGltZSBBUyBi bGtfcmVhZF90aW1lLAotICBzdGF0cy5ibGtfd3JpdGVfdGltZSBBUyBibGtfd3JpdGVfdGlt ZSwKLQotICBzdGF0cy5kZWxheV90aW1lIEFTIGRlbGF5X3RpbWUsCi0gIHN0YXRzLnRvdGFs X3RpbWUgQVMgdG90YWxfdGltZQotCi1GUk9NIHBnX2NsYXNzIHJlbAotICBKT0lOIHBnX25h bWVzcGFjZSBucyBPTiBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlLAotICBMQVRFUkFMIHBn X3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMocmVsLm9pZCkgc3RhdHMKLVdIRVJFIHJlbC5yZWxr aW5kID0gJ3InOworICAgIFNFTEVDVAorICAgICAgICBOLm5zcG5hbWUgQVMgc2NoZW1hbmFt ZSwKKyAgICAgICAgQy5yZWxuYW1lIEFTIHJlbG5hbWUsCisgICAgICAgIFMucmVsaWQgYXMg cmVsaWQsCisKKyAgICAgICAgUy50b3RhbF9ibGtzX3JlYWQgQVMgdG90YWxfYmxrc19yZWFk LAorICAgICAgICBTLnRvdGFsX2Jsa3NfaGl0IEFTIHRvdGFsX2Jsa3NfaGl0LAorICAgICAg ICBTLnRvdGFsX2Jsa3NfZGlydGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCisgICAgICAg IFMudG90YWxfYmxrc193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKworICAgICAg ICBTLnJlbF9ibGtzX3JlYWQgQVMgcmVsX2Jsa3NfcmVhZCwKKyAgICAgICAgUy5yZWxfYmxr c19oaXQgQVMgcmVsX2Jsa3NfaGl0LAorCisgICAgICAgIFMucGFnZXNfc2Nhbm5lZCBBUyBw YWdlc19zY2FubmVkLAorICAgICAgICBTLnBhZ2VzX3JlbW92ZWQgQVMgcGFnZXNfcmVtb3Zl ZCwKKyAgICAgICAgUy52bV9uZXdfZnJvemVuX3BhZ2VzIEFTIHZtX25ld19mcm96ZW5fcGFn ZXMsCisgICAgICAgIFMudm1fbmV3X3Zpc2libGVfcGFnZXMgQVMgdm1fbmV3X3Zpc2libGVf cGFnZXMsCisgICAgICAgIFMudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzIEFTIHZtX25l d192aXNpYmxlX2Zyb3plbl9wYWdlcywKKyAgICAgICAgUy5taXNzZWRfZGVhZF9wYWdlcyBB UyBtaXNzZWRfZGVhZF9wYWdlcywKKyAgICAgICAgUy50dXBsZXNfZGVsZXRlZCBBUyB0dXBs ZXNfZGVsZXRlZCwKKyAgICAgICAgUy50dXBsZXNfZnJvemVuIEFTIHR1cGxlc19mcm96ZW4s CisgICAgICAgIFMucmVjZW50bHlfZGVhZF90dXBsZXMgQVMgcmVjZW50bHlfZGVhZF90dXBs ZXMsCisgICAgICAgIFMubWlzc2VkX2RlYWRfdHVwbGVzIEFTIG1pc3NlZF9kZWFkX3R1cGxl cywKKworICAgICAgICBTLndyYXBhcm91bmRfZmFpbHNhZmUgQVMgd3JhcGFyb3VuZF9mYWls c2FmZSwKKyAgICAgICAgUy5pbmRleF92YWN1dW1fY291bnQgQVMgaW5kZXhfdmFjdXVtX2Nv dW50LAorICAgICAgICBTLndhbF9yZWNvcmRzIEFTIHdhbF9yZWNvcmRzLAorICAgICAgICBT LndhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgICAgICAgUy53YWxfYnl0ZXMgQVMgd2FsX2J5dGVz LAorCisgICAgICAgIFMuYmxrX3JlYWRfdGltZSBBUyBibGtfcmVhZF90aW1lLAorICAgICAg ICBTLmJsa193cml0ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAorCisgICAgICAgIFMuZGVs YXlfdGltZSBBUyBkZWxheV90aW1lLAorICAgICAgICBTLnRvdGFsX3RpbWUgQVMgdG90YWxf dGltZQorCisgICAgRlJPTSBwZ19jbGFzcyBDIEpPSU4KKyAgICAgICAgICAgIHBnX25hbWVz cGFjZSBOIE9OIE4ub2lkID0gQy5yZWxuYW1lc3BhY2UsCisgICAgICAgICAgICBMQVRFUkFM IHBnX3N0YXRfZ2V0X3ZhY3V1bV90YWJsZXMoQy5vaWQpIFMKKyAgICBXSEVSRSBDLnJlbGtp bmQgSU4gKCdyJywgJ3QnLCAnbScpOwogCiBDUkVBVEUgVklFVyBwZ19zdGF0X3ZhY3V1bV9p bmRleGVzIEFTCi1TRUxFQ1QKLSAgcmVsLm9pZCBhcyByZWxpZCwKLSAgbnMubnNwbmFtZSBB UyBzY2hlbWFuYW1lLAotICByZWwucmVsbmFtZSBBUyByZWxuYW1lLAorICAgIFNFTEVDVAor ICAgICAgICAgICAgQy5vaWQgQVMgcmVsaWQsCisgICAgICAgICAgICBJLm9pZCBBUyBpbmRl eHJlbGlkLAorICAgICAgICAgICAgTi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCisgICAgICAg ICAgICBDLnJlbG5hbWUgQVMgcmVsbmFtZSwKKyAgICAgICAgICAgIEkucmVsbmFtZSBBUyBp bmRleHJlbG5hbWUsCiAKLSAgdG90YWxfYmxrc19yZWFkIEFTIHRvdGFsX2Jsa3NfcmVhZCwK LSAgdG90YWxfYmxrc19oaXQgQVMgdG90YWxfYmxrc19oaXQsCi0gIHRvdGFsX2Jsa3NfZGly dGllZCBBUyB0b3RhbF9ibGtzX2RpcnRpZWQsCi0gIHRvdGFsX2Jsa3Nfd3JpdHRlbiBBUyB0 b3RhbF9ibGtzX3dyaXR0ZW4sCisgICAgICAgICAgICBTLnRvdGFsX2Jsa3NfcmVhZCBBUyB0 b3RhbF9ibGtzX3JlYWQsCisgICAgICAgICAgICBTLnRvdGFsX2Jsa3NfaGl0IEFTIHRvdGFs X2Jsa3NfaGl0LAorICAgICAgICAgICAgUy50b3RhbF9ibGtzX2RpcnRpZWQgQVMgdG90YWxf Ymxrc19kaXJ0aWVkLAorICAgICAgICAgICAgUy50b3RhbF9ibGtzX3dyaXR0ZW4gQVMgdG90 YWxfYmxrc193cml0dGVuLAogCi0gIHJlbF9ibGtzX3JlYWQgQVMgcmVsX2Jsa3NfcmVhZCwK LSAgcmVsX2Jsa3NfaGl0IEFTIHJlbF9ibGtzX2hpdCwKKyAgICAgICAgICAgIFMucmVsX2Js a3NfcmVhZCBBUyByZWxfYmxrc19yZWFkLAorICAgICAgICAgICAgUy5yZWxfYmxrc19oaXQg QVMgcmVsX2Jsa3NfaGl0LAogCi0gIHBhZ2VzX2RlbGV0ZWQgQVMgcGFnZXNfZGVsZXRlZCwK LSAgdHVwbGVzX2RlbGV0ZWQgQVMgdHVwbGVzX2RlbGV0ZWQsCisgICAgICAgICAgICBTLnBh Z2VzX2RlbGV0ZWQgQVMgcGFnZXNfZGVsZXRlZCwKKyAgICAgICAgICAgIFMudHVwbGVzX2Rl bGV0ZWQgQVMgdHVwbGVzX2RlbGV0ZWQsCiAKLSAgd2FsX3JlY29yZHMgQVMgd2FsX3JlY29y ZHMsCi0gIHdhbF9mcGkgQVMgd2FsX2ZwaSwKLSAgd2FsX2J5dGVzIEFTIHdhbF9ieXRlcywK KyAgICAgICAgICAgIFMud2FsX3JlY29yZHMgQVMgd2FsX3JlY29yZHMsCisgICAgICAgICAg ICBTLndhbF9mcGkgQVMgd2FsX2ZwaSwKKyAgICAgICAgICAgIFMud2FsX2J5dGVzIEFTIHdh bF9ieXRlcywKIAotICBibGtfcmVhZF90aW1lIEFTIGJsa19yZWFkX3RpbWUsCi0gIGJsa193 cml0ZV90aW1lIEFTIGJsa193cml0ZV90aW1lLAorICAgICAgICAgICAgUy5ibGtfcmVhZF90 aW1lIEFTIGJsa19yZWFkX3RpbWUsCisgICAgICAgICAgICBTLmJsa193cml0ZV90aW1lIEFT IGJsa193cml0ZV90aW1lLAogCi0gIGRlbGF5X3RpbWUgQVMgZGVsYXlfdGltZSwKLSAgdG90 YWxfdGltZSBBUyB0b3RhbF90aW1lCi1GUk9NCi0gIHBnX2NsYXNzIHJlbAotICBKT0lOIHBn X25hbWVzcGFjZSBucyBPTiBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlLAotICBMQVRFUkFM IHBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKHJlbC5vaWQpIHN0YXRzCi1XSEVSRSByZWwu cmVsa2luZCA9ICdpJzsKKyAgICAgICAgICAgIFMuZGVsYXlfdGltZSBBUyBkZWxheV90aW1l LAorICAgICAgICAgICAgUy50b3RhbF90aW1lIEFTIHRvdGFsX3RpbWUKKyAgICBGUk9NCisg ICAgICAgICAgICBwZ19jbGFzcyBDIEpPSU4KKyAgICAgICAgICAgIHBnX2luZGV4IFggT04g Qy5vaWQgPSBYLmluZHJlbGlkIEpPSU4KKyAgICAgICAgICAgIHBnX2NsYXNzIEkgT04gSS5v aWQgPSBYLmluZGV4cmVsaWQKKyAgICAgICAgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2Ug TiBPTiAoTi5vaWQgPSBDLnJlbG5hbWVzcGFjZSksCisgICAgICAgICAgICBMQVRFUkFMIHBn X3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKEkub2lkKSBTCisgICAgV0hFUkUgQy5yZWxraW5k IElOICgncicsICd0JywgJ20nKTsKIAogQ1JFQVRFIFZJRVcgcGdfc3RhdF92YWN1dW1fZGF0 YWJhc2UgQVMKLVNFTEVDVAotICBkYi5vaWQgYXMgZGJvaWQsCi0gIGRiLmRhdG5hbWUgQVMg ZGJuYW1lLAotCi0gIHN0YXRzLmRiX2Jsa3NfcmVhZCBBUyBkYl9ibGtzX3JlYWQsCi0gIHN0 YXRzLmRiX2Jsa3NfaGl0IEFTIGRiX2Jsa3NfaGl0LAotICBzdGF0cy50b3RhbF9ibGtzX2Rp cnRpZWQgQVMgdG90YWxfYmxrc19kaXJ0aWVkLAotICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0 ZW4gQVMgdG90YWxfYmxrc193cml0dGVuLAotCi0gIHN0YXRzLndhbF9yZWNvcmRzIEFTIHdh bF9yZWNvcmRzLAotICBzdGF0cy53YWxfZnBpIEFTIHdhbF9mcGksCi0gIHN0YXRzLndhbF9i eXRlcyBBUyB3YWxfYnl0ZXMsCi0KLSAgc3RhdHMuYmxrX3JlYWRfdGltZSBBUyBibGtfcmVh ZF90aW1lLAotICBzdGF0cy5ibGtfd3JpdGVfdGltZSBBUyBibGtfd3JpdGVfdGltZSwKLQot ICBzdGF0cy5kZWxheV90aW1lIEFTIGRlbGF5X3RpbWUsCi0gIHN0YXRzLnRvdGFsX3RpbWUg QVMgdG90YWxfdGltZSwKLSAgc3RhdHMud3JhcGFyb3VuZF9mYWlsc2FmZSBBUyB3cmFwYXJv dW5kX2ZhaWxzYWZlLAotICBzdGF0cy5lcnJvcnMgQVMgZXJyb3JzCi1GUk9NCi0gIHBnX2Rh dGFiYXNlIGRiLAotICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShkYi5v aWQpIHN0YXRzOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyAgICBTRUxFQ1QKKyAg ICAgICAgICAgIEQub2lkIGFzIGRib2lkLAorICAgICAgICAgICAgRC5kYXRuYW1lIEFTIGRi bmFtZSwKKworICAgICAgICAgICAgUy5kYl9ibGtzX3JlYWQgQVMgZGJfYmxrc19yZWFkLAor ICAgICAgICAgICAgUy5kYl9ibGtzX2hpdCBBUyBkYl9ibGtzX2hpdCwKKyAgICAgICAgICAg IFMudG90YWxfYmxrc19kaXJ0aWVkIEFTIHRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICAgICAg ICAgIFMudG90YWxfYmxrc193cml0dGVuIEFTIHRvdGFsX2Jsa3Nfd3JpdHRlbiwKKworICAg ICAgICAgICAgUy53YWxfcmVjb3JkcyBBUyB3YWxfcmVjb3JkcywKKyAgICAgICAgICAgIFMu d2FsX2ZwaSBBUyB3YWxfZnBpLAorICAgICAgICAgICAgUy53YWxfYnl0ZXMgQVMgd2FsX2J5 dGVzLAorCisgICAgICAgICAgICBTLmJsa19yZWFkX3RpbWUgQVMgYmxrX3JlYWRfdGltZSwK KyAgICAgICAgICAgIFMuYmxrX3dyaXRlX3RpbWUgQVMgYmxrX3dyaXRlX3RpbWUsCisKKyAg ICAgICAgICAgIFMuZGVsYXlfdGltZSBBUyBkZWxheV90aW1lLAorICAgICAgICAgICAgUy50 b3RhbF90aW1lIEFTIHRvdGFsX3RpbWUsCisgICAgICAgICAgICBTLndyYXBhcm91bmRfZmFp bHNhZmUgQVMgd3JhcGFyb3VuZF9mYWlsc2FmZSwKKyAgICAgICAgICAgIFMuZXJyb3JzIEFT IGVycm9ycworICAgIEZST00KKyAgICAgICAgICAgIHBnX2RhdGFiYXNlIEQsCisgICAgICAg ICAgICBMQVRFUkFMIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShELm9pZCkgUzsKXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21t YW5kcy9kYmNvbW1hbmRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kYmNvbW1hbmRzLmMK aW5kZXggMjc5M2ZkODM3NzEuLjI1ZWRlMWQ5ODI0IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy9kYmNvbW1hbmRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZGJj b21tYW5kcy5jCkBAIC0xODE1LDYgKzE4MTUsNyBAQCBkcm9wZGIoY29uc3QgY2hhciAqZGJu YW1lLCBib29sIG1pc3Npbmdfb2ssIGJvb2wgZm9yY2UpCiAJICogVGVsbCB0aGUgY3VtdWxh dGl2ZSBzdGF0cyBzeXN0ZW0gdG8gZm9yZ2V0IGl0IGltbWVkaWF0ZWx5LCB0b28uCiAJICov CiAJcGdzdGF0X2Ryb3BfZGF0YWJhc2UoZGJfaWQpOworCXBnc3RhdF9kcm9wX3ZhY3V1bV9k YXRhYmFzZShkYl9pZCk7CiAKIAkvKgogCSAqIEV4Y2VwdCBmb3IgdGhlIGRlbGV0aW9uIG9m IHRoZSBjYXRhbG9nIHJvdywgc3Vic2VxdWVudCBhY3Rpb25zIGFyZSBub3QKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCmluZGV4IDY1ZGU0NWE0NDQ3Li4zYzM3ZDFm MDdjZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwu YworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCkBAIC04Njks NyArODY5LDcgQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVs VmFjdXVtU3RhdGUgKnB2cywgUmVsYXRpb24gaW5kcmVsLAogCUluZGV4QnVsa0RlbGV0ZVJl c3VsdCAqaXN0YXRfcmVzOwogCUluZGV4VmFjdXVtSW5mbyBpdmluZm87CiAJTFZFeHRTdGF0 Q291bnRlcnNJZHggZXh0VmFjQ291bnRlcnM7Ci0JRXh0VmFjUmVwb3J0IGV4dFZhY1JlcG9y dDsKKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgZXh0VmFjUmVwb3J0OwogCiAJLyoK IAkgKiBVcGRhdGUgdGhlIHBvaW50ZXIgdG8gdGhlIGNvcnJlc3BvbmRpbmcgYnVsay1kZWxl dGlvbiByZXN1bHQgaWYgc29tZW9uZQpAQCAtOTA5LDE0ICs5MDksMTAgQEAgcGFyYWxsZWxf dmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgUmVs YXRpb24gaW5kcmVsLAogCQkJCSBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShpbmRyZWwpKTsK IAl9CiAKLQlpZihwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCi0JewotCQkvKiBN YWtlIGV4dGVuZGVkIHZhY3V1bSBzdGF0cyByZXBvcnQgZm9yIGluZGV4ICovCi0JCWV4dHZh Y19zdGF0c19lbmRfaWR4KGluZHJlbCwgaXN0YXRfcmVzLCAmZXh0VmFjQ291bnRlcnMsICZl eHRWYWNSZXBvcnQpOwotCQlwZ3N0YXRfcmVwb3J0X3ZhY3V1bShSZWxhdGlvbkdldFJlbGlk KGluZHJlbCksCi0JCQkJCQkJCWluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKLQkJCQkJ CQkJMCwgMCwgMCwgJmV4dFZhY1JlcG9ydCk7Ci0JfQorCS8qIE1ha2UgZXh0ZW5kZWQgdmFj dXVtIHN0YXRzIHJlcG9ydCBmb3IgaW5kZXggKi8KKwlleHR2YWNfc3RhdHNfZW5kX2lkeChp bmRyZWwsIGlzdGF0X3JlcywgJmV4dFZhY0NvdW50ZXJzLCAmZXh0VmFjUmVwb3J0KTsKKwlw Z3N0YXRfcmVwb3J0X3ZhY3V1bV9leHRzdGF0cyhSZWxhdGlvbkdldFJlbGlkKGluZHJlbCks IGluZHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKKwkJCQkJCQkJCQkmZXh0VmFjUmVwb3J0 KTsKIAogCS8qCiAJICogQ29weSB0aGUgaW5kZXggYnVsay1kZWxldGlvbiByZXN1bHQgcmV0 dXJuZWQgZnJvbSBhbWJ1bGtkZWxldGUgYW5kCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9NYWtlZmlsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L01h a2VmaWxlCmluZGV4IDljMjQ0M2UxZWNkLi4xODNmNzUxNGQyZCAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvTWFrZWZpbGUKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvTWFrZWZpbGUKQEAgLTI3LDYgKzI3LDcgQEAgT0JKUyA9IFwKIAlwZ3N0 YXRfZnVuY3Rpb24ubyBcCiAJcGdzdGF0X2lvLm8gXAogCXBnc3RhdF9yZWxhdGlvbi5vIFwK KwlwZ3N0YXRfdmFjdXVtLm8gXAogCXBnc3RhdF9yZXBsc2xvdC5vIFwKIAlwZ3N0YXRfc2ht ZW0ubyBcCiAJcGdzdGF0X3NscnUubyBcCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9wZ3N0YXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dC5jCmluZGV4IDZjYjkwNzdhMjdmLi4wZmMxNmE1ODIxMCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0LmMKQEAgLTQ3OSw2ICs0NzksMzQgQEAgc3RhdGljIGNvbnN0IFBn U3RhdF9LaW5kSW5mbyBwZ3N0YXRfa2luZF9idWlsdGluX2luZm9zW1BHU1RBVF9LSU5EX0JV SUxUSU5fU0laRV0KIAkJLnJlc2V0X2FsbF9jYiA9IHBnc3RhdF93YWxfcmVzZXRfYWxsX2Ni LAogCQkuc25hcHNob3RfY2IgPSBwZ3N0YXRfd2FsX3NuYXBzaG90X2NiLAogCX0sCisJW1BH U1RBVF9LSU5EX1ZBQ1VVTV9EQl0gPSB7CisJCS5uYW1lID0gInZhY3V1bSBzdGF0aXN0aWNz IiwKKworCQkuZml4ZWRfYW1vdW50ID0gZmFsc2UsCisJCS53cml0ZV90b19maWxlID0gdHJ1 ZSwKKwkJLyogc28gcGdfc3RhdF9kYXRhYmFzZSBlbnRyaWVzIGNhbiBiZSBzZWVuIGluIGFs bCBkYXRhYmFzZXMgKi8KKwkJLmFjY2Vzc2VkX2Fjcm9zc19kYXRhYmFzZXMgPSB0cnVlLAor CisJCS5zaGFyZWRfc2l6ZSA9IHNpemVvZihQZ1N0YXRTaGFyZWRfVmFjdXVtREIpLAorCQku c2hhcmVkX2RhdGFfb2ZmID0gb2Zmc2V0b2YoUGdTdGF0U2hhcmVkX1ZhY3V1bURCLCBzdGF0 cyksCisJCS5zaGFyZWRfZGF0YV9sZW4gPSBzaXplb2YoKChQZ1N0YXRTaGFyZWRfVmFjdXVt REIgKikgMCktPnN0YXRzKSwKKwkJLnBlbmRpbmdfc2l6ZSA9IHNpemVvZihQZ1N0YXRfVmFj dXVtREJDb3VudHMpLAorCisJCS5mbHVzaF9wZW5kaW5nX2NiID0gcGdzdGF0X3ZhY3V1bV9k Yl9mbHVzaF9jYiwKKwl9LAorCVtQR1NUQVRfS0lORF9WQUNVVU1fUkVMQVRJT05dID0gewor CQkubmFtZSA9ICJ2YWN1dW0gc3RhdGlzdGljcyIsCisKKwkJLmZpeGVkX2Ftb3VudCA9IGZh bHNlLAorCQkud3JpdGVfdG9fZmlsZSA9IHRydWUsCisKKwkJLnNoYXJlZF9zaXplID0gc2l6 ZW9mKFBnU3RhdFNoYXJlZF9WYWN1dW1SZWxhdGlvbiksCisJCS5zaGFyZWRfZGF0YV9vZmYg PSBvZmZzZXRvZihQZ1N0YXRTaGFyZWRfVmFjdXVtUmVsYXRpb24sIHN0YXRzKSwKKwkJLnNo YXJlZF9kYXRhX2xlbiA9IHNpemVvZigoKFBnU3RhdFNoYXJlZF9WYWN1dW1SZWxhdGlvbiAq KSAwKS0+c3RhdHMpLAorCQkucGVuZGluZ19zaXplID0gc2l6ZW9mKFBnU3RhdF9SZWxhdGlv blZhY3V1bVBlbmRpbmcpLAorCisJCS5mbHVzaF9wZW5kaW5nX2NiID0gcGdzdGF0X3ZhY3V1 bV9yZWxhdGlvbl9mbHVzaF9jYgorCX0sCiB9OwogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X2RhdGFiYXNlLmMgYi9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXRfZGF0YWJhc2UuYwppbmRleCA2NTIwN2QzMDM3OC4uODBl NmM3YzIyOWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dF9kYXRhYmFzZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9k YXRhYmFzZS5jCkBAIC00Niw2ICs0NiwxNSBAQCBwZ3N0YXRfZHJvcF9kYXRhYmFzZShPaWQg ZGF0YWJhc2VpZCkKIAlwZ3N0YXRfZHJvcF90cmFuc2FjdGlvbmFsKFBHU1RBVF9LSU5EX0RB VEFCQVNFLCBkYXRhYmFzZWlkLCBJbnZhbGlkT2lkKTsKIH0KIAorLyoKKyAqIFJlbW92ZSBl bnRyeSBmb3IgdGhlIGRhdGFiYXNlIGJlaW5nIGRyb3BwZWQuCisgKi8KK3ZvaWQKK3Bnc3Rh dF9kcm9wX3ZhY3V1bV9kYXRhYmFzZShPaWQgZGF0YWJhc2VpZCkKK3sKKwlwZ3N0YXRfZHJv cF90cmFuc2FjdGlvbmFsKFBHU1RBVF9LSU5EX1ZBQ1VVTV9EQiwgZGF0YWJhc2VpZCwgSW52 YWxpZE9pZCk7Cit9CisKIC8qCiAgKiBDYWxsZWQgZnJvbSBhdXRvdmFjdXVtLmMgdG8gcmVw b3J0IHN0YXJ0dXAgb2YgYW4gYXV0b3ZhY3V1bSBwcm9jZXNzLgogICogV2UgYXJlIGNhbGxl ZCBiZWZvcmUgSW5pdFBvc3RncmVzIGlzIGRvbmUsIHNvIGNhbid0IHJlbHkgb24gTXlEYXRh YmFzZUlkOwpAQCAtNDg1LDcgKzQ5NCw2IEBAIHBnc3RhdF9kYXRhYmFzZV9mbHVzaF9jYihQ Z1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpCiAJcGdzdGF0X3VubG9j a19lbnRyeShlbnRyeV9yZWYpOwogCiAJbWVtc2V0KHBlbmRpbmdlbnQsIDAsIHNpemVvZigq cGVuZGluZ2VudCkpOwotCW1lbXNldCgmKHBlbmRpbmdlbnQpLT52YWN1dW1fZXh0LCAwLCBz aXplb2YoRXh0VmFjUmVwb3J0KSk7CiAKIAlyZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKaW5kZXggYmY3YWIzNDVi ZTAuLjgxNzM3MmY5Y2VjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0 eS9wZ3N0YXRfcmVsYXRpb24uYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9w Z3N0YXRfcmVsYXRpb24uYwpAQCAtNDcsOCArNDcsNiBAQCBzdGF0aWMgdm9pZCBhZGRfdGFi c3RhdF94YWN0X2xldmVsKFBnU3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0X2luZm8sIGludCBu ZXN0X2xldgogc3RhdGljIHZvaWQgZW5zdXJlX3RhYnN0YXRfeGFjdF9sZXZlbChQZ1N0YXRf VGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvKTsKIHN0YXRpYyB2b2lkIHNhdmVfdHJ1bmNkcm9w X2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5zLCBib29sIGlzX2Ryb3Ap Owogc3RhdGljIHZvaWQgcmVzdG9yZV90cnVuY2Ryb3BfY291bnRlcnMoUGdTdGF0X1RhYmxl WGFjdFN0YXR1cyAqdHJhbnMpOwotc3RhdGljIHZvaWQgcGdzdGF0X2FjY3VtdWxhdGVfZXh0 dmFjX3N0YXRzKEV4dFZhY1JlcG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKLQkJCQkJ CQkgICBib29sIGFjY3VtdWxhdGVfcmVsdHlwZV9zcGVjaWZpY19pbmZvKTsKIAogCiAvKgpA QCAtMjA1LDUwICsyMDMsMTcgQEAgcGdzdGF0X2Ryb3BfcmVsYXRpb24oUmVsYXRpb24gcmVs KQogCX0KIH0KIAotLyogLS0tLS0tLS0tCi0gKiBwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9lcnJv cigpIC0KLSAqCi0gKglUZWxsIHRoZSBjb2xsZWN0b3IgYWJvdXQgYW4gKGF1dG8pdmFjdXVt IGludGVycnVwdGlvbi4KLSAqIC0tLS0tLS0tLQotICovCi12b2lkCi1wZ3N0YXRfcmVwb3J0 X3ZhY3V1bV9lcnJvcihPaWQgdGFibGVvaWQsIEV4dFZhY1JlcG9ydFR5cGUgbV90eXBlKQot ewotCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOwotCVBnU3RhdFNoYXJlZF9SZWxhdGlv biAqc2h0YWJlbnRyeTsKLQlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKLQlPaWQJ CQlkYm9pZCA9ICBNeURhdGFiYXNlSWQ7Ci0JUGdTdGF0X1N0YXREQkVudHJ5ICpkYmVudHJ5 OwkvKiBwZW5kaW5nIGRhdGFiYXNlIGVudHJ5ICovCi0KLQlpZiAoIXBnc3RhdF90cmFja19j b3VudHMpCi0JCXJldHVybjsKLQotCWVudHJ5X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVm X2xvY2tlZChQR1NUQVRfS0lORF9SRUxBVElPTiwKLQkJCQkJCQkJCQkJZGJvaWQsIHRhYmxl b2lkLCBmYWxzZSk7Ci0KLQlzaHRhYmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9SZWxhdGlvbiAq KSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKLQl0YWJlbnRyeSA9ICZzaHRhYmVudHJ5LT5z dGF0czsKLQotCXRhYmVudHJ5LT52YWN1dW1fZXh0LnR5cGUgPSBtX3R5cGU7Ci0JcGdzdGF0 X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOwotCi0JZGJlbnRyeSA9IHBnc3RhdF9wcmVwX2Rh dGFiYXNlX3BlbmRpbmcoZGJvaWQpOwotCWRiZW50cnktPnZhY3V1bV9leHQuZXJyb3JzKys7 Ci0JZGJlbnRyeS0+dmFjdXVtX2V4dC50eXBlID0gbV90eXBlOwotfQotCiAvKgogICogUmVw b3J0IHRoYXQgdGhlIHRhYmxlIHdhcyBqdXN0IHZhY3V1bWVkIGFuZCBmbHVzaCBJTyBzdGF0 aXN0aWNzLgogICovCiB2b2lkCiBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQs IGJvb2wgc2hhcmVkLAogCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0 X0NvdW50ZXIgZGVhZHR1cGxlcywKLQkJCQkJIFRpbWVzdGFtcFR6IHN0YXJ0dGltZSwgRXh0 VmFjUmVwb3J0ICpwYXJhbXMpCisJCQkJCSBUaW1lc3RhbXBUeiBzdGFydHRpbWUpCiB7CiAJ UGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CiAJUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpz aHRhYmVudHJ5OwogCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5OwotCVBnU3RhdFNo YXJlZF9EYXRhYmFzZSAqZGJlbnRyeTsKIAlPaWQJCQlkYm9pZCA9IChzaGFyZWQgPyBJbnZh bGlkT2lkIDogTXlEYXRhYmFzZUlkKTsKIAlUaW1lc3RhbXBUeiB0czsKIAlQZ1N0YXRfQ291 bnRlciBlbGFwc2VkdGltZTsKQEAgLTI3MCw4ICsyMzUsNiBAQCBwZ3N0YXRfcmVwb3J0X3Zh Y3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCXRhYmVudHJ5LT5saXZlX3R1cGxl cyA9IGxpdmV0dXBsZXM7CiAJdGFiZW50cnktPmRlYWRfdHVwbGVzID0gZGVhZHR1cGxlczsK IAotCXBnc3RhdF9hY2N1bXVsYXRlX2V4dHZhY19zdGF0cygmdGFiZW50cnktPnZhY3V1bV9l eHQsIHBhcmFtcywgdHJ1ZSk7Ci0KIAkvKgogCSAqIEl0IGlzIHF1aXRlIHBvc3NpYmxlIHRo YXQgYSBub24tYWdncmVzc2l2ZSBWQUNVVU0gZW5kZWQgdXAgc2tpcHBpbmcKIAkgKiB2YXJp b3VzIHBhZ2VzLCBob3dldmVyLCB3ZSdsbCB6ZXJvIHRoZSBpbnNlcnQgY291bnRlciBoZXJl IHJlZ2FyZGxlc3MuCkBAIC0zMDcsMTYgKzI3MCw2IEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVt KE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJICovCiAJcGdzdGF0X2ZsdXNoX2lvKGZh bHNlKTsKIAkodm9pZCkgcGdzdGF0X2ZsdXNoX2JhY2tlbmQoZmFsc2UsIFBHU1RBVF9CQUNL RU5EX0ZMVVNIX0lPKTsKLQotCWlmIChkYm9pZCAhPSBJbnZhbGlkT2lkKQotCXsKLQkJZW50 cnlfcmVmID0gcGdzdGF0X2dldF9lbnRyeV9yZWZfbG9ja2VkKFBHU1RBVF9LSU5EX0RBVEFC QVNFLAotCQkJCQkJCQkJCQlkYm9pZCwgSW52YWxpZE9pZCwgZmFsc2UpOwotCQlkYmVudHJ5 ID0gKFBnU3RhdFNoYXJlZF9EYXRhYmFzZSAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsK LQotCQlwZ3N0YXRfYWNjdW11bGF0ZV9leHR2YWNfc3RhdHMoJmRiZW50cnktPnN0YXRzLnZh Y3V1bV9leHQsIHBhcmFtcywgZmFsc2UpOwotCQlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5 X3JlZik7Ci0JfQogfQogCiAvKgpAQCAtOTUxLDYgKzkwNCwxMiBAQCBwZ3N0YXRfcmVsYXRp b25fZmx1c2hfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYsIGJvb2wgbm93YWl0KQog CXJldHVybiB0cnVlOwogfQogCit2b2lkCitwZ3N0YXRfdmFjdXVtX3JlbGF0aW9uX2RlbGV0 ZV9wZW5kaW5nX2NiKE9pZCByZWxpZCkKK3sKKwlwZ3N0YXRfZHJvcF90cmFuc2FjdGlvbmFs KFBHU1RBVF9LSU5EX1ZBQ1VVTV9SRUxBVElPTiwgcmVsaWQsIEludmFsaWRPaWQpOworfQor CiB2b2lkCiBwZ3N0YXRfcmVsYXRpb25fZGVsZXRlX3BlbmRpbmdfY2IoUGdTdGF0X0VudHJ5 UmVmICplbnRyeV9yZWYpCiB7CkBAIC0xMDUzLDYwICsxMDEyLDQgQEAgcmVzdG9yZV90cnVu Y2Ryb3BfY291bnRlcnMoUGdTdGF0X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnMpCiAJCXRyYW5z LT50dXBsZXNfdXBkYXRlZCA9IHRyYW5zLT51cGRhdGVkX3ByZV90cnVuY2Ryb3A7CiAJCXRy YW5zLT50dXBsZXNfZGVsZXRlZCA9IHRyYW5zLT5kZWxldGVkX3ByZV90cnVuY2Ryb3A7CiAJ fQotfQotCi1zdGF0aWMgdm9pZAotcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzKEV4 dFZhY1JlcG9ydCAqZHN0LCBFeHRWYWNSZXBvcnQgKnNyYywKLQkJCQkJCQkgICBib29sIGFj Y3VtdWxhdGVfcmVsdHlwZV9zcGVjaWZpY19pbmZvKQotewotCWlmKCFwZ3N0YXRfdHJhY2tf dmFjdXVtX3N0YXRpc3RpY3MpCi0JCXJldHVybjsKLQotCWRzdC0+dG90YWxfYmxrc19yZWFk ICs9IHNyYy0+dG90YWxfYmxrc19yZWFkOwotCWRzdC0+dG90YWxfYmxrc19oaXQgKz0gc3Jj LT50b3RhbF9ibGtzX2hpdDsKLQlkc3QtPnRvdGFsX2Jsa3NfZGlydGllZCArPSBzcmMtPnRv dGFsX2Jsa3NfZGlydGllZDsKLQlkc3QtPnRvdGFsX2Jsa3Nfd3JpdHRlbiArPSBzcmMtPnRv dGFsX2Jsa3Nfd3JpdHRlbjsKLQlkc3QtPndhbF9ieXRlcyArPSBzcmMtPndhbF9ieXRlczsK LQlkc3QtPndhbF9mcGkgKz0gc3JjLT53YWxfZnBpOwotCWRzdC0+d2FsX3JlY29yZHMgKz0g c3JjLT53YWxfcmVjb3JkczsKLQlkc3QtPmJsa19yZWFkX3RpbWUgKz0gc3JjLT5ibGtfcmVh ZF90aW1lOwotCWRzdC0+YmxrX3dyaXRlX3RpbWUgKz0gc3JjLT5ibGtfd3JpdGVfdGltZTsK LQlkc3QtPmRlbGF5X3RpbWUgKz0gc3JjLT5kZWxheV90aW1lOwotCWRzdC0+dG90YWxfdGlt ZSArPSBzcmMtPnRvdGFsX3RpbWU7Ci0JZHN0LT53cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50 ICs9IHNyYy0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudDsKLQlkc3QtPmVycm9ycyArPSBz cmMtPmVycm9yczsKLQotCWlmICghYWNjdW11bGF0ZV9yZWx0eXBlX3NwZWNpZmljX2luZm8p Ci0JCXJldHVybjsKLQotCWlmIChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTlZBTElE KQotCQlkc3QtPnR5cGUgPSBzcmMtPnR5cGU7Ci0KLQlBc3NlcnQoc3JjLT50eXBlID09IFBH U1RBVF9FWFRWQUNfSU5WQUxJRCB8fCBzcmMtPnR5cGUgPT0gZHN0LT50eXBlKTsKLQotCWlm IChkc3QtPnR5cGUgPT0gc3JjLT50eXBlKQotCXsKLQkJZHN0LT5ibGtzX2ZldGNoZWQgKz0g c3JjLT5ibGtzX2ZldGNoZWQ7Ci0JCWRzdC0+Ymxrc19oaXQgKz0gc3JjLT5ibGtzX2hpdDsK LQotCQlpZiAoZHN0LT50eXBlID09IFBHU1RBVF9FWFRWQUNfVEFCTEUpCi0JCXsKLQkJCWRz dC0+dGFibGUucGFnZXNfc2Nhbm5lZCArPSBzcmMtPnRhYmxlLnBhZ2VzX3NjYW5uZWQ7Ci0J CQlkc3QtPnRhYmxlLnBhZ2VzX3JlbW92ZWQgKz0gc3JjLT50YWJsZS5wYWdlc19yZW1vdmVk OwotCQkJZHN0LT50YWJsZS52bV9uZXdfZnJvemVuX3BhZ2VzICs9IHNyYy0+dGFibGUudm1f bmV3X2Zyb3plbl9wYWdlczsKLQkJCWRzdC0+dGFibGUudm1fbmV3X3Zpc2libGVfcGFnZXMg Kz0gc3JjLT50YWJsZS52bV9uZXdfdmlzaWJsZV9wYWdlczsKLQkJCWRzdC0+dGFibGUudm1f bmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzICs9IHNyYy0+dGFibGUudm1fbmV3X3Zpc2libGVf ZnJvemVuX3BhZ2VzOwotCQkJZHN0LT50dXBsZXNfZGVsZXRlZCArPSBzcmMtPnR1cGxlc19k ZWxldGVkOwotCQkJZHN0LT50YWJsZS50dXBsZXNfZnJvemVuICs9IHNyYy0+dGFibGUudHVw bGVzX2Zyb3plbjsKLQkJCWRzdC0+dGFibGUucmVjZW50bHlfZGVhZF90dXBsZXMgKz0gc3Jj LT50YWJsZS5yZWNlbnRseV9kZWFkX3R1cGxlczsKLQkJCWRzdC0+dGFibGUuaW5kZXhfdmFj dXVtX2NvdW50ICs9IHNyYy0+dGFibGUuaW5kZXhfdmFjdXVtX2NvdW50OwotCQkJZHN0LT50 YWJsZS5taXNzZWRfZGVhZF9wYWdlcyArPSBzcmMtPnRhYmxlLm1pc3NlZF9kZWFkX3BhZ2Vz OwotCQkJZHN0LT50YWJsZS5taXNzZWRfZGVhZF90dXBsZXMgKz0gc3JjLT50YWJsZS5taXNz ZWRfZGVhZF90dXBsZXM7Ci0JCX0KLQkJZWxzZSBpZiAoZHN0LT50eXBlID09IFBHU1RBVF9F WFRWQUNfSU5ERVgpCi0JCXsKLQkJCWRzdC0+aW5kZXgucGFnZXNfZGVsZXRlZCArPSBzcmMt PmluZGV4LnBhZ2VzX2RlbGV0ZWQ7Ci0JCQlkc3QtPnR1cGxlc19kZWxldGVkICs9IHNyYy0+ dHVwbGVzX2RlbGV0ZWQ7Ci0JCX0KLQl9CiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1 bS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3ZhY3V1bS5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lMTFmMTllNDZiMgotLS0gL2Rl di9udWxsCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF92YWN1dW0u YwpAQCAtMCwwICsxLDIxNSBAQAorI2luY2x1ZGUgInBvc3RncmVzLmgiCisKKyNpbmNsdWRl ICJwZ3N0YXQuaCIKKyNpbmNsdWRlICJ1dGlscy9wZ3N0YXRfaW50ZXJuYWwuaCIKKyNpbmNs dWRlICJ1dGlscy9tZW11dGlscy5oIgorCisvKiAtLS0tLS0tLS0tCisgKiBHVUMgcGFyYW1l dGVycworICogLS0tLS0tLS0tLQorICovCitib29sCQlwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0 YXRpc3RpY3NfZm9yX3JlbGF0aW9ucyA9IGZhbHNlOworCisjZGVmaW5lIEFDQ1VNVUxBVEVf RklFTEQoZmllbGQpIGRzdC0+ZmllbGQgKz0gc3JjLT5maWVsZDsKKworI2RlZmluZSBBQ0NV TVVMQVRFX1NVQkZJRUxEKHN1YnN0cnVjdCwgZmllbGQpIFwKKyAgICAoZHN0LT5zdWJzdHJ1 Y3QuZmllbGQgKz0gc3JjLT5zdWJzdHJ1Y3QuZmllbGQpCisKK3N0YXRpYyB2b2lkCitwZ3N0 YXRfYWNjdW11bGF0ZV9jb21tb24oUGdTdGF0X0NvbW1vbkNvdW50cyAqZHN0LCBjb25zdCBQ Z1N0YXRfQ29tbW9uQ291bnRzICpzcmMpCit7CisJQUNDVU1VTEFURV9GSUVMRCh0b3RhbF9i bGtzX3JlYWQpOworCUFDQ1VNVUxBVEVfRklFTEQodG90YWxfYmxrc19oaXQpOworCUFDQ1VN VUxBVEVfRklFTEQodG90YWxfYmxrc19kaXJ0aWVkKTsKKwlBQ0NVTVVMQVRFX0ZJRUxEKHRv dGFsX2Jsa3Nfd3JpdHRlbik7CisKKwlBQ0NVTVVMQVRFX0ZJRUxEKGJsa3NfZmV0Y2hlZCk7 CisJQUNDVU1VTEFURV9GSUVMRChibGtzX2hpdCk7CisKKwlBQ0NVTVVMQVRFX0ZJRUxEKHdh bF9yZWNvcmRzKTsKKwlBQ0NVTVVMQVRFX0ZJRUxEKHdhbF9mcGkpOworCUFDQ1VNVUxBVEVf RklFTEQod2FsX2J5dGVzKTsKKworCUFDQ1VNVUxBVEVfRklFTEQoYmxrX3JlYWRfdGltZSk7 CisJQUNDVU1VTEFURV9GSUVMRChibGtfd3JpdGVfdGltZSk7CisJQUNDVU1VTEFURV9GSUVM RChkZWxheV90aW1lKTsKKwlBQ0NVTVVMQVRFX0ZJRUxEKHRvdGFsX3RpbWUpOworCisJQUND VU1VTEFURV9GSUVMRCh0dXBsZXNfZGVsZXRlZCk7CisJQUNDVU1VTEFURV9GSUVMRCh3cmFw YXJvdW5kX2ZhaWxzYWZlX2NvdW50KTsKK30KKworc3RhdGljIHZvaWQKK3Bnc3RhdF9hY2N1 bXVsYXRlX2V4dHZhY19zdGF0c19yZWxhdGlvbnMoUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291 bnRzICpkc3QsIFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqc3JjKQoreworICAgIGlm KCFwZ3N0YXRfdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3MpCisJCXJldHVybjsKKworICAgIGlm IChkc3QtPnR5cGUgPT0gUEdTVEFUX0VYVFZBQ19JTlZBTElEKQorICAgICAgICBkc3QtPnR5 cGUgPSBzcmMtPnR5cGU7CisKKyAgICBBc3NlcnQoc3JjLT50eXBlICE9IFBHU1RBVF9FWFRW QUNfSU5WQUxJRCAmJiBzcmMtPnR5cGUgIT0gUEdTVEFUX0VYVFZBQ19EQiAmJiBzcmMtPnR5 cGUgPT0gZHN0LT50eXBlKTsKKworICAgIHBnc3RhdF9hY2N1bXVsYXRlX2NvbW1vbigmZHN0 LT5jb21tb24sICZzcmMtPmNvbW1vbik7CisKKyAgICBBQ0NVTVVMQVRFX1NVQkZJRUxEKGNv bW1vbiwgYmxrc19mZXRjaGVkKTsKKyAgICBBQ0NVTVVMQVRFX1NVQkZJRUxEKGNvbW1vbiwg Ymxrc19oaXQpOworCisgICAgaWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX1RBQkxF KQorICAgIHsKKyAgICAgICAgQUNDVU1VTEFURV9TVUJGSUVMRChjb21tb24sIHR1cGxlc19k ZWxldGVkKTsKKyAgICAgICAgQUNDVU1VTEFURV9TVUJGSUVMRCh0YWJsZSwgcGFnZXNfc2Nh bm5lZCk7CisgICAgICAgIEFDQ1VNVUxBVEVfU1VCRklFTEQodGFibGUsIHBhZ2VzX3JlbW92 ZWQpOworICAgICAgICBBQ0NVTVVMQVRFX1NVQkZJRUxEKHRhYmxlLCB2bV9uZXdfZnJvemVu X3BhZ2VzKTsKKyAgICAgICAgQUNDVU1VTEFURV9TVUJGSUVMRCh0YWJsZSwgdm1fbmV3X3Zp c2libGVfcGFnZXMpOworICAgICAgICBBQ0NVTVVMQVRFX1NVQkZJRUxEKHRhYmxlLCB2bV9u ZXdfdmlzaWJsZV9mcm96ZW5fcGFnZXMpOworICAgICAgICBBQ0NVTVVMQVRFX1NVQkZJRUxE KHRhYmxlLCB0dXBsZXNfZnJvemVuKTsKKyAgICAgICAgQUNDVU1VTEFURV9TVUJGSUVMRCh0 YWJsZSwgcmVjZW50bHlfZGVhZF90dXBsZXMpOworICAgICAgICBBQ0NVTVVMQVRFX1NVQkZJ RUxEKHRhYmxlLCBpbmRleF92YWN1dW1fY291bnQpOworICAgICAgICBBQ0NVTVVMQVRFX1NV QkZJRUxEKHRhYmxlLCBtaXNzZWRfZGVhZF9wYWdlcyk7CisgICAgICAgIEFDQ1VNVUxBVEVf U1VCRklFTEQodGFibGUsIG1pc3NlZF9kZWFkX3R1cGxlcyk7CisgICAgfQorICAgIGVsc2Ug aWYgKGRzdC0+dHlwZSA9PSBQR1NUQVRfRVhUVkFDX0lOREVYKQorICAgIHsKKyAgICAgICAg QUNDVU1VTEFURV9TVUJGSUVMRChjb21tb24sIHR1cGxlc19kZWxldGVkKTsKKyAgICAgICAg QUNDVU1VTEFURV9TVUJGSUVMRChpbmRleCwgcGFnZXNfZGVsZXRlZCk7CisgICAgfQorfQor CitzdGF0aWMgdm9pZAorcGdzdGF0X2FjY3VtdWxhdGVfZXh0dmFjX3N0YXRzX2RiKFBnU3Rh dF9WYWN1dW1EQkNvdW50cyAqZHN0LCBQZ1N0YXRfVmFjdXVtREJDb3VudHMgKnNyYykKK3sK KyAgICBpZighcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNzKQorCQlyZXR1cm47CisK KyAgICBwZ3N0YXRfYWNjdW11bGF0ZV9jb21tb24oJmRzdC0+Y29tbW9uLCAmc3JjLT5jb21t b24pOworICAgIGRzdC0+ZXJyb3JzICs9IHNyYy0+ZXJyb3JzOworfQorCisvKgorICogUmVw b3J0IHRoYXQgdGhlIHRhYmxlIHdhcyBqdXN0IHZhY3V1bWVkIGFuZCBmbHVzaCBzdGF0aXN0 aWNzLgorICovCit2b2lkCitwZ3N0YXRfcmVwb3J0X3ZhY3V1bV9leHRzdGF0cyhPaWQgdGFi bGVvaWQsIGJvb2wgc2hhcmVkLAorCQkJCQkJCQkgIFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNv dW50cyAqcGFyYW1zKQoreworCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOworCVBnU3Rh dFNoYXJlZF9WYWN1dW1SZWxhdGlvbiAqc2h0YWJlbnRyeTsKKwlQZ1N0YXRTaGFyZWRfVmFj dXVtREIgKnNoZGJlbnRyeTsKKwlPaWQJZGJvaWQgPSAoc2hhcmVkID8gSW52YWxpZE9pZCA6 IE15RGF0YWJhc2VJZCk7CisKKwlpZighcGdzdGF0X3RyYWNrX3ZhY3V1bV9zdGF0aXN0aWNz KQorCQlyZXR1cm47CisKKwllbnRyeV9yZWYgPSBwZ3N0YXRfZ2V0X2VudHJ5X3JlZl9sb2Nr ZWQoUEdTVEFUX0tJTkRfVkFDVVVNX1JFTEFUSU9OLAorCQkJCQkJCQkJCQlkYm9pZCwgdGFi bGVvaWQsIGZhbHNlKTsKKwlzaHRhYmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9WYWN1dW1SZWxh dGlvbiAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKwlwZ3N0YXRfYWNjdW11bGF0ZV9l eHR2YWNfc3RhdHNfcmVsYXRpb25zKCZzaHRhYmVudHJ5LT5zdGF0cywgcGFyYW1zKTsKKwor CXBnc3RhdF91bmxvY2tfZW50cnkoZW50cnlfcmVmKTsKKworCisJZW50cnlfcmVmID0gcGdz dGF0X2dldF9lbnRyeV9yZWZfbG9ja2VkKFBHU1RBVF9LSU5EX1ZBQ1VVTV9EQiwKKwkJCQkJ CQkJCQkJZGJvaWQsIEludmFsaWRPaWQsIGZhbHNlKTsKKworCXNoZGJlbnRyeSA9IChQZ1N0 YXRTaGFyZWRfVmFjdXVtREIgKikgZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisKKwlwZ3N0 YXRfYWNjdW11bGF0ZV9jb21tb24oJnNoZGJlbnRyeS0+c3RhdHMuY29tbW9uLCAmcGFyYW1z LT5jb21tb24pOworCisJcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYpOworfQorCisv KgorICogRmx1c2ggb3V0IHBlbmRpbmcgc3RhdHMgZm9yIHRoZSBlbnRyeQorICoKKyAqIElm IG5vd2FpdCBpcyB0cnVlLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgZmFsc2UgaWYgbG9jayBj b3VsZCBub3QKKyAqIGltbWVkaWF0ZWx5IGFjcXVpcmVkLCBvdGhlcndpc2UgdHJ1ZSBpcyBy ZXR1cm5lZC4KKyAqLworYm9vbAorcGdzdGF0X3ZhY3V1bV9yZWxhdGlvbl9mbHVzaF9jYihQ Z1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpCit7CisJUGdTdGF0U2hh cmVkX1ZhY3V1bVJlbGF0aW9uICpzaHRhYnN0YXRzOworCVBnU3RhdF9SZWxhdGlvblZhY3V1 bVBlbmRpbmcgKnBlbmRpbmdlbnQ7CS8qIHRhYmxlIGVudHJ5IG9mIHNoYXJlZCBzdGF0cyAq LworCisJcGVuZGluZ2VudCA9IChQZ1N0YXRfUmVsYXRpb25WYWN1dW1QZW5kaW5nICopIGVu dHJ5X3JlZi0+cGVuZGluZzsKKwlzaHRhYnN0YXRzID0gKFBnU3RhdFNoYXJlZF9WYWN1dW1S ZWxhdGlvbiAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKworCS8qCisJICogSWdub3Jl IGVudHJpZXMgdGhhdCBkaWRuJ3QgYWNjdW11bGF0ZSBhbnkgYWN0dWFsIGNvdW50cy4KKwkg Ki8KKwlpZiAocGdfbWVtb3J5X2lzX2FsbF96ZXJvcygmcGVuZGluZ2VudCwKKwkJCQkJCQkg ICBzaXplb2Yoc3RydWN0IFBnU3RhdF9SZWxhdGlvblZhY3V1bVBlbmRpbmcpKSkKKwkJcmV0 dXJuIHRydWU7CisKKwlpZiAoIXBnc3RhdF9sb2NrX2VudHJ5KGVudHJ5X3JlZiwgbm93YWl0 KSkKKwl7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKwlwZ3N0YXRfYWNjdW11 bGF0ZV9leHR2YWNfc3RhdHNfcmVsYXRpb25zKCYoc2h0YWJzdGF0cy0+c3RhdHMpLCAmKHBl bmRpbmdlbnQtPmNvdW50cykpOworCisJcGdzdGF0X3VubG9ja19lbnRyeShlbnRyeV9yZWYp OworCisJcmV0dXJuIHRydWU7Cit9CisKKy8qCisgKiBTdXBwb3J0IGZ1bmN0aW9uIGZvciB0 aGUgU1FMLWNhbGxhYmxlIHBnc3RhdCogZnVuY3Rpb25zLiBSZXR1cm5zCisgKiB0aGUgdmFj dXVtIGNvbGxlY3RlZCBzdGF0aXN0aWNzIGZvciBvbmUgcmVsYXRpb24gb3IgTlVMTC4KKyAq LworUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICoKK3Bnc3RhdF9mZXRjaF9zdGF0X3Zh Y3V1bV90YWJlbnRyeShPaWQgcmVsaWQsIE9pZCBkYmlkKQoreworCXJldHVybiAoUGdTdGF0 X1ZhY3V1bVJlbGF0aW9uQ291bnRzICopCisJCXBnc3RhdF9mZXRjaF9lbnRyeShQR1NUQVRf S0lORF9WQUNVVU1fUkVMQVRJT04sIGRiaWQsIHJlbGlkKTsKK30KKworUGdTdGF0X1ZhY3V1 bURCQ291bnRzICoKK3Bnc3RhdF9mZXRjaF9zdGF0X3ZhY3V1bV9kYmVudHJ5KE9pZCBkYmlk KQoreworCXJldHVybiAoUGdTdGF0X1ZhY3V1bURCQ291bnRzICopCisJCXBnc3RhdF9mZXRj aF9lbnRyeShQR1NUQVRfS0lORF9WQUNVVU1fREIsIGRiaWQsIEludmFsaWRPaWQpOworfQor Citib29sCitwZ3N0YXRfdmFjdXVtX2RiX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50 cnlfcmVmLCBib29sIG5vd2FpdCkKK3sKKwlQZ1N0YXRTaGFyZWRfVmFjdXVtREIgKnNoYXJl ZGVudDsKKwlQZ1N0YXRfVmFjdXVtREJDb3VudHMgKnBlbmRpbmdlbnQ7CisKKwlwZW5kaW5n ZW50ID0gKFBnU3RhdF9WYWN1dW1EQkNvdW50cyAqKSBlbnRyeV9yZWYtPnBlbmRpbmc7CisJ c2hhcmVkZW50ID0gKFBnU3RhdFNoYXJlZF9WYWN1dW1EQiAqKSBlbnRyeV9yZWYtPnNoYXJl ZF9zdGF0czsKKworCWlmICghcGdzdGF0X2xvY2tfZW50cnkoZW50cnlfcmVmLCBub3dhaXQp KQorCQlyZXR1cm4gZmFsc2U7CisKKwkvKiBUaGUgZW50cnkgd2FzIHN1Y2Nlc3NmdWxseSBm bHVzaGVkLCBhZGQgdGhlIHNhbWUgdG8gZGF0YWJhc2Ugc3RhdHMgKi8KKwlwZ3N0YXRfYWNj dW11bGF0ZV9leHR2YWNfc3RhdHNfZGIoJihzaGFyZWRlbnQtPnN0YXRzKSwgcGVuZGluZ2Vu dCk7CisKKwlwZ3N0YXRfdW5sb2NrX2VudHJ5KGVudHJ5X3JlZik7CisKKwlyZXR1cm4gdHJ1 ZTsKK30KKworLyoKKyAqIEZpbmQgb3IgY3JlYXRlIGEgbG9jYWwgUGdTdGF0X1ZhY3V1bURC Q291bnRzIGVudHJ5IGZvciBkYm9pZC4KKyAqLworUGdTdGF0X1ZhY3V1bURCQ291bnRzICoK K3Bnc3RhdF9wcmVwX3ZhY3V1bV9kYXRhYmFzZV9wZW5kaW5nKE9pZCBkYm9pZCkKK3sKKwlQ Z1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKKworCS8qCisJICogVGhpcyBzaG91bGQgbm90 IHJlcG9ydCBzdGF0cyBvbiBkYXRhYmFzZSBvYmplY3RzIGJlZm9yZSBoYXZpbmcKKwkgKiBj b25uZWN0ZWQgdG8gYSBkYXRhYmFzZS4KKwkgKi8KKwlBc3NlcnQoIU9pZElzVmFsaWQoZGJv aWQpIHx8IE9pZElzVmFsaWQoTXlEYXRhYmFzZUlkKSk7CisKKwllbnRyeV9yZWYgPSBwZ3N0 YXRfcHJlcF9wZW5kaW5nX2VudHJ5KFBHU1RBVF9LSU5EX1ZBQ1VVTV9EQiwgZGJvaWQsIElu dmFsaWRPaWQsCisJCQkJCQkJCQkJICBOVUxMKTsKKworICAgIGlmKGVudHJ5X3JlZiA9PSBO VUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHJldHVybiBlbnRyeV9yZWYtPnBl bmRpbmc7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGlscy9h ZHQvcGdzdGF0ZnVuY3MuYwppbmRleCAxYzM5YWRhMmMzZS4uNjhhOTlkNWRiOTcgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0yMjY3LDcgKzIyNjcsNiBAQCBw Z19zdGF0X2hhdmVfc3RhdHMoUEdfRlVOQ1RJT05fQVJHUykKIAlQR19SRVRVUk5fQk9PTChw Z3N0YXRfaGF2ZV9lbnRyeShraW5kLCBkYm9pZCwgb2JqaWQpKTsKIH0KIAotCiAvKgogICog R2V0IHRoZSB2YWN1dW0gc3RhdGlzdGljcyBmb3IgdGhlIGhlYXAgdGFibGVzLgogICovCkBA IC0yMjc3LDEwMiArMjI3Niw0MiBAQCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBHX0ZV TkNUSU9OX0FSR1MpCiAJI2RlZmluZSBQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVTX1NUQVRT X0NPTFMgMjYKIAogCU9pZAkJCQkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKLQlQZ1N0 YXRfU3RhdFRhYkVudHJ5ICAgICAqdGFiZW50cnk7Ci0JRXh0VmFjUmVwb3J0IAkJCSpleHR2 YWN1dW07CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIAkJCSpleHR2YWN1dW07CisJ UGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzICpwZW5kaW5nOwogCVR1cGxlRGVzYwkJCQkg dHVwZGVzYzsKIAlEYXR1bQkJCQkJIHZhbHVlc1tQR19TVEFUX0dFVF9WQUNVVU1fVEFCTEVT X1NUQVRTX0NPTFNdID0gezB9OwogCWJvb2wJCQkJCSBudWxsc1tQR19TVEFUX0dFVF9WQUNV VU1fVEFCTEVTX1NUQVRTX0NPTFNdID0gezB9OwogCWNoYXIJCQkJCSBidWZbMjU2XTsKIAlp bnQJCQkJCQkgaSA9IDA7Ci0JRXh0VmFjUmVwb3J0IGFsbHplcm87CisJUGdTdGF0X1ZhY3V1 bVJlbGF0aW9uQ291bnRzIGFsbHplcm87CiAKLQkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMg aW5mb3JtYXRpb24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KLQl0dXBkZXNjID0gQ3Jl YXRlVGVtcGxhdGVUdXBsZURlc2MoUEdfU1RBVF9HRVRfVkFDVVVNX1RBQkxFU19TVEFUU19D T0xTKTsKKwkvKiBCdWlsZCBhIHR1cGxlIGRlc2NyaXB0b3IgZm9yIG91ciByZXN1bHQgdHlw ZSAqLworCWlmIChnZXRfY2FsbF9yZXN1bHRfdHlwZShmY2luZm8sIE5VTEwsICZ0dXBkZXNj KSAhPSBUWVBFRlVOQ19DT01QT1NJVEUpCisJCWVsb2coRVJST1IsICJyZXR1cm4gdHlwZSBt dXN0IGJlIGEgcm93IHR5cGUiKTsKIAotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAo QXR0ck51bWJlcikgKytpLCAicmVsaWQiLAotCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7Ci0J VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9i bGtzX3JlYWQiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF9ibGtzX2hpdCIsCi0JCQkJ CSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0 dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfZGlydGllZCIsCi0JCQkJCSAgIElOVDhPSUQs IC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsr aSwgInRvdGFsX2Jsa3Nfd3JpdHRlbiIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlU dXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInJlbF9ibGtz X3JlYWQiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5 KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJyZWxfYmxrc19oaXQiLAotCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJwYWdlc19zY2FubmVkIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwot CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAicGFnZXNf cmVtb3ZlZCIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInZtX25ld19mcm96ZW5fcGFnZXMiLAot CQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2Ms IChBdHRyTnVtYmVyKSArK2ksICJ2bV9uZXdfdmlzaWJsZV9wYWdlcyIsCi0JCQkJCSAgIElO VDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1i ZXIpICsraSwgInZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyIsCi0JCQkJCSAgIElOVDhP SUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp ICsraSwgIm1pc3NlZF9kZWFkX3BhZ2VzIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwot CVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidHVwbGVz X2RlbGV0ZWQiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0dXBsZXNfZnJvemVuIiwKLQkJCQkJ ICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0 ck51bWJlcikgKytpLCAicmVjZW50bHlfZGVhZF90dXBsZXMiLAotCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJtaXNzZWRfZGVhZF90dXBsZXMiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0J VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ3cmFwYXJv dW5kX2ZhaWxzYWZlX2NvdW50IiwKLQkJCQkJICAgSU5UNE9JRCwgLTEsIDApOwotCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiaW5kZXhfdmFjdXVt X2NvdW50IiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRy eSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX3JlY29yZHMiLAotCQkJCQkgICBJ TlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJ3YWxfZnBpIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2J5dGVzIiwK LQkJCQkJICAgTlVNRVJJQ09JRCwgLTEsIDApOwotCi0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1 cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfcmVhZF90aW1lIiwKLQkJCQkJICAgRkxP QVQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVt YmVyKSArK2ksICJibGtfd3JpdGVfdGltZSIsCi0JCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDAp OwotCi0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJk ZWxheV90aW1lIiwKLQkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5p dEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF90aW1lIiwKLQkJCQkJ ICAgRkxPQVQ4T0lELCAtMSwgMCk7Ci0KLQlBc3NlcnQoaSA9PSBQR19TVEFUX0dFVF9WQUNV VU1fVEFCTEVTX1NUQVRTX0NPTFMpOwotCi0JQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7CisJ cGVuZGluZyA9IHBnc3RhdF9mZXRjaF9zdGF0X3ZhY3V1bV90YWJlbnRyeShyZWxpZCwgTXlE YXRhYmFzZUlkKTsKIAotCXRhYmVudHJ5ID0gcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnko cmVsaWQpOwotCi0JaWYgKHRhYmVudHJ5ID09IE5VTEwpCisJaWYgKHBlbmRpbmcgPT0gTlVM TCkKIAl7CiAJCS8qIElmIHRoZSBzdWJzY3JpcHRpb24gaXMgbm90IGZvdW5kLCBpbml0aWFs aXNlIGl0cyBzdGF0cyAqLwotCQltZW1zZXQoJmFsbHplcm8sIDAsIHNpemVvZihFeHRWYWNS ZXBvcnQpKTsKKwkJbWVtc2V0KCZhbGx6ZXJvLCAwLCBzaXplb2YoUGdTdGF0X1ZhY3V1bVJl bGF0aW9uQ291bnRzKSk7CiAJCWV4dHZhY3V1bSA9ICZhbGx6ZXJvOwogCX0KIAllbHNlCi0J ewotCQlleHR2YWN1dW0gPSAmKHRhYmVudHJ5LT52YWN1dW1fZXh0KTsKLQl9CisJCWV4dHZh Y3V1bSA9IHBlbmRpbmc7CiAKIAlpID0gMDsKIAogCXZhbHVlc1tpKytdID0gT2JqZWN0SWRH ZXREYXR1bShyZWxpZCk7CiAKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT50b3RhbF9ibGtzX3JlYWQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnRvdGFsX2Jsa3NfaGl0KTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2RpcnRpZWQpOwotCXZhbHVlc1tpKytdID0gSW50 NjRHZXREYXR1bShleHR2YWN1dW0tPnRvdGFsX2Jsa3Nfd3JpdHRlbik7CisJdmFsdWVzW2kr K10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFsX2Jsa3NfcmVhZCk7 CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFs X2Jsa3NfaGl0KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5j b21tb24udG90YWxfYmxrc19kaXJ0aWVkKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0 dW0oZXh0dmFjdXVtLT5jb21tb24udG90YWxfYmxrc193cml0dGVuKTsKIAotCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmJsa3NfZmV0Y2hlZCAtCi0JCQkJCQkJ CQlleHR2YWN1dW0tPmJsa3NfaGl0KTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT5ibGtzX2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4 dHZhY3V1bS0+Y29tbW9uLmJsa3NfZmV0Y2hlZCAtCisJCQkJCQkJCQlleHR2YWN1dW0tPmNv bW1vbi5ibGtzX2hpdCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1 bS0+Y29tbW9uLmJsa3NfaGl0KTsKIAogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnRhYmxlLnBhZ2VzX3NjYW5uZWQpOwogCXZhbHVlc1tpKytdID0gSW50NjRH ZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLnBhZ2VzX3JlbW92ZWQpOwpAQCAtMjM4MCwyOCAr MjMxOSwyOCBAQCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKFBHX0ZVTkNUSU9OX0FSR1Mp CiAJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUudm1fbmV3 X3Zpc2libGVfcGFnZXMpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPnRhYmxlLnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcyk7CiAJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dGFibGUubWlzc2VkX2RlYWRfcGFnZXMpOwot CXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPnR1cGxlc19kZWxldGVk KTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udHVw bGVzX2RlbGV0ZWQpOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PnRhYmxlLnR1cGxlc19mcm96ZW4pOwogCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnRhYmxlLnJlY2VudGx5X2RlYWRfdHVwbGVzKTsKIAl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50YWJsZS5taXNzZWRfZGVhZF90dXBsZXMpOwog Ci0JdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1bS0+d3JhcGFyb3VuZF9m YWlsc2FmZV9jb3VudCk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVtKGV4dHZhY3V1 bS0+Y29tbW9uLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOwogCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPnRhYmxlLmluZGV4X3ZhY3V1bV9jb3VudCk7CiAK LQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT53YWxfcmVjb3Jkcyk7 Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX2ZwaSk7CisJ dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9yZWNv cmRzKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24u d2FsX2ZwaSk7CiAKIAkvKiBDb252ZXJ0IHRvIG51bWVyaWMsIGxpa2UgcGdfc3RhdF9zdGF0 ZW1lbnRzICovCi0Jc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5UNjRfRk9STUFULCBl eHR2YWN1dW0tPndhbF9ieXRlcyk7CisJc25wcmludGYoYnVmLCBzaXplb2YgYnVmLCBVSU5U NjRfRk9STUFULCBleHR2YWN1dW0tPmNvbW1vbi53YWxfYnl0ZXMpOwogCXZhbHVlc1tpKytd ID0gRGlyZWN0RnVuY3Rpb25DYWxsMyhudW1lcmljX2luLAogCQkJCQkJCQkJICBDU3RyaW5n R2V0RGF0dW0oYnVmKSwKIAkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bSgwKSwKIAkJCQkJ CQkJCSAgSW50MzJHZXREYXR1bSgtMSkpOwogCi0JdmFsdWVzW2krK10gPSBGbG9hdDhHZXRE YXR1bShleHR2YWN1dW0tPmJsa19yZWFkX3RpbWUpOwotCXZhbHVlc1tpKytdID0gRmxvYXQ4 R2V0RGF0dW0oZXh0dmFjdXVtLT5ibGtfd3JpdGVfdGltZSk7Ci0JdmFsdWVzW2krK10gPSBG bG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmRlbGF5X3RpbWUpOwotCXZhbHVlc1tpKytdID0g RmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9 IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmJsa19yZWFkX3RpbWUpOworCXZh bHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24uYmxrX3dyaXRl X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21t b24uZGVsYXlfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1 dW0tPmNvbW1vbi50b3RhbF90aW1lKTsKIAogCUFzc2VydChpID09IFBHX1NUQVRfR0VUX1ZB Q1VVTV9UQUJMRVNfU1RBVFNfQ09MUyk7CiAKQEAgLTI0MTgsMTAwICsyMzU3LDYwIEBAIHBn X3N0YXRfZ2V0X3ZhY3V1bV9pbmRleGVzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJI2RlZmluZSBQ R19TVEFUX0dFVF9WQUNVVU1fSU5ERVhfU1RBVFNfQ09MUwkxNgogCiAJT2lkCQkJCQkJcmVs aWQgPSBQR19HRVRBUkdfT0lEKDApOwotCVBnU3RhdF9TdGF0VGFiRW50cnkgICAgICp0YWJl bnRyeTsKLQlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1bTsKKwlQZ1N0YXRfVmFjdXVtUmVs YXRpb25Db3VudHMgCQkJKmV4dHZhY3V1bTsKKwlQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3Vu dHMgKnBlbmRpbmc7CiAJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOwogCURhdHVtCQkJCQkgdmFs dWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9JTkRFWF9TVEFUU19DT0xTXSA9IHswfTsKIAlib29s CQkJCQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFNdID0gezB9 OwogCWNoYXIJCQkJCSBidWZbMjU2XTsKIAlpbnQJCQkJCQkgaSA9IDA7Ci0JRXh0VmFjUmVw b3J0IGFsbHplcm87CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGFsbHplcm87CiAK LQkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMgaW5mb3JtYXRpb24gaW4gdGhlIHR1cGxlIGRl c2NyaXB0b3IgKi8KLQl0dXBkZXNjID0gQ3JlYXRlVGVtcGxhdGVUdXBsZURlc2MoUEdfU1RB VF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFMpOworCS8qIEJ1aWxkIGEgdHVwbGUgZGVz Y3JpcHRvciBmb3Igb3VyIHJlc3VsdCB0eXBlICovCisJaWYgKGdldF9jYWxsX3Jlc3VsdF90 eXBlKGZjaW5mbywgTlVMTCwgJnR1cGRlc2MpICE9IFRZUEVGVU5DX0NPTVBPU0lURSkKKwkJ ZWxvZyhFUlJPUiwgInJldHVybiB0eXBlIG11c3QgYmUgYSByb3cgdHlwZSIpOwogCi0JVHVw bGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJyZWxpZCIsCi0J CQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgInRvdGFsXyBibGtzX3JlYWQiLAotCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJ0b3RhbF9ibGtzX2hpdCIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBs ZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3Nf ZGlydGllZCIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3Nfd3JpdHRlbiIsCi0J CQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgInJlbF9ibGtzX3JlYWQiLAotCQkJCQkgICBJTlQ4T0lELCAt MSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ks ICJyZWxfYmxrc19oaXQiLAotCQkJCQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNj SW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJwYWdlc19kZWxldGVkIiwK LQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNj LCAoQXR0ck51bWJlcikgKytpLCAidHVwbGVzX2RlbGV0ZWQiLAotCQkJCQkgICBJTlQ4T0lE LCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJ3YWxfcmVjb3JkcyIsCi0JCQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURl c2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgIndhbF9mcGkiLAotCQkJ CQkgICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChB dHRyTnVtYmVyKSArK2ksICJ3YWxfYnl0ZXMiLAotCQkJCQkgICBOVU1FUklDT0lELCAtMSwg MCk7Ci0KLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwg ImJsa19yZWFkX3RpbWUiLAotCQkJCQkgICBGTE9BVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURl c2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpICsraSwgImJsa193cml0ZV90aW1l IiwKLQkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7CisJcGVuZGluZyA9IHBnc3RhdF9mZXRj aF9zdGF0X3ZhY3V1bV90YWJlbnRyeShyZWxpZCwgTXlEYXRhYmFzZUlkKTsKIAotCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAiZGVsYXlfdGltZSIs Ci0JCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfdGltZSIsCi0JCQkJCSAgIEZMT0FUOE9J RCwgLTEsIDApOwotCi0JQXNzZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NU QVRTX0NPTFMpOwotCi0JQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7Ci0KLQl0YWJlbnRyeSA9 IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5KHJlbGlkKTsKLQotCWlmICh0YWJlbnRyeSA9 PSBOVUxMKQorCWlmIChwZW5kaW5nID09IE5VTEwpCiAJewogCQkvKiBJZiB0aGUgc3Vic2Ny aXB0aW9uIGlzIG5vdCBmb3VuZCwgaW5pdGlhbGlzZSBpdHMgc3RhdHMgKi8KLQkJbWVtc2V0 KCZhbGx6ZXJvLCAwLCBzaXplb2YoRXh0VmFjUmVwb3J0KSk7CisJCW1lbXNldCgmYWxsemVy bywgMCwgc2l6ZW9mKFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cykpOwogCQlleHR2YWN1 dW0gPSAmYWxsemVybzsKIAl9CiAJZWxzZQotCXsKLQkJZXh0dmFjdXVtID0gJih0YWJlbnRy eS0+dmFjdXVtX2V4dCk7Ci0JfQorCQlleHR2YWN1dW0gPSBwZW5kaW5nOwogCiAJaSA9IDA7 CiAKIAl2YWx1ZXNbaSsrXSA9IE9iamVjdElkR2V0RGF0dW0ocmVsaWQpOwogCi0JdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19yZWFkKTsKLQl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3RhbF9ibGtzX2hpdCk7 Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc19k aXJ0aWVkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50b3Rh bF9ibGtzX3dyaXR0ZW4pOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1 dW0tPmNvbW1vbi50b3RhbF9ibGtzX3JlYWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPmNvbW1vbi50b3RhbF9ibGtzX2hpdCk7CisJdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFsX2Jsa3NfZGlydGllZCk7 CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFs X2Jsa3Nfd3JpdHRlbik7CiAKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFj dXVtLT5ibGtzX2ZldGNoZWQgLQotCQkJCQkJCQkJZXh0dmFjdXVtLT5ibGtzX2hpdCk7Ci0J dmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Ymxrc19oaXQpOworCXZh bHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi5ibGtzX2ZldGNo ZWQgLQorCQkJCQkJCQkJZXh0dmFjdXVtLT5jb21tb24uYmxrc19oaXQpOworCXZhbHVlc1tp KytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi5ibGtzX2hpdCk7CiAKIAl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5pbmRleC5wYWdlc19kZWxl dGVkKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT50dXBsZXNf ZGVsZXRlZCk7CisJdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29t bW9uLnR1cGxlc19kZWxldGVkKTsKIAotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPndhbF9yZWNvcmRzKTsKLQl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0o ZXh0dmFjdXVtLT53YWxfZnBpKTsKKwl2YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0 dmFjdXVtLT5jb21tb24ud2FsX3JlY29yZHMpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXRE YXR1bShleHR2YWN1dW0tPmNvbW1vbi53YWxfZnBpKTsKIAogCS8qIENvbnZlcnQgdG8gbnVt ZXJpYywgbGlrZSBwZ19zdGF0X3N0YXRlbWVudHMgKi8KLQlzbnByaW50ZihidWYsIHNpemVv ZiBidWYsIFVJTlQ2NF9GT1JNQVQsIGV4dHZhY3V1bS0+d2FsX2J5dGVzKTsKKwlzbnByaW50 ZihidWYsIHNpemVvZiBidWYsIFVJTlQ2NF9GT1JNQVQsIGV4dHZhY3V1bS0+Y29tbW9uLndh bF9ieXRlcyk7CiAJdmFsdWVzW2krK10gPSBEaXJlY3RGdW5jdGlvbkNhbGwzKG51bWVyaWNf aW4sCiAJCQkJCQkJCQkgIENTdHJpbmdHZXREYXR1bShidWYpLAogCQkJCQkJCQkJICBPYmpl Y3RJZEdldERhdHVtKDApLAogCQkJCQkJCQkJICBJbnQzMkdldERhdHVtKC0xKSk7CiAKLQl2 YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+YmxrX3JlYWRfdGltZSk7 Ci0JdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmJsa193cml0ZV90 aW1lKTsKLQl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+ZGVsYXlf dGltZSk7Ci0JdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPnRvdGFs X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21t b24uYmxrX3JlYWRfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhHZXREYXR1bShleHR2 YWN1dW0tPmNvbW1vbi5ibGtfd3JpdGVfdGltZSk7CisJdmFsdWVzW2krK10gPSBGbG9hdDhH ZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi5kZWxheV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9 IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLnRvdGFsX3RpbWUpOwogCiAJQXNz ZXJ0KGkgPT0gUEdfU1RBVF9HRVRfVkFDVVVNX0lOREVYX1NUQVRTX0NPTFMpOwogCkBAIC0y NTI1LDkwICsyNDI0LDUyIEBAIHBnX3N0YXRfZ2V0X3ZhY3V1bV9kYXRhYmFzZShQR19GVU5D VElPTl9BUkdTKQogCSNkZWZpbmUgUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRT X0NPTFMJMTQKIAogCU9pZAkJCQkJCSBkYmlkID0gUEdfR0VUQVJHX09JRCgwKTsKLQlQZ1N0 YXRfU3RhdERCRW50cnkgCQkqZGJlbnRyeTsKLQlFeHRWYWNSZXBvcnQgCQkJKmV4dHZhY3V1 bTsKKwlQZ1N0YXRfVmFjdXVtREJDb3VudHMJKmV4dHZhY3V1bTsKKwlQZ1N0YXRfVmFjdXVt REJDb3VudHMJKnBlbmRpbmc7CiAJVHVwbGVEZXNjCQkJCSB0dXBkZXNjOwogCURhdHVtCQkJ CQkgdmFsdWVzW1BHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTXSA9IHsw fTsKIAlib29sCQkJCQkgbnVsbHNbUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRT X0NPTFNdID0gezB9OwogCWNoYXIJCQkJCSBidWZbMjU2XTsKIAlpbnQJCQkJCQkgaSA9IDA7 Ci0JRXh0VmFjUmVwb3J0IGFsbHplcm87Ci0KLQkvKiBJbml0aWFsaXNlIGF0dHJpYnV0ZXMg aW5mb3JtYXRpb24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KLQl0dXBkZXNjID0gQ3Jl YXRlVGVtcGxhdGVUdXBsZURlc2MoUEdfU1RBVF9HRVRfVkFDVVVNX0RBVEFCQVNFX1NUQVRT X0NPTFMpOwotCi0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSAr K2ksICJkYmlkIiwKLQkJCQkJICAgSU5UNE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfIGJsa3NfcmVhZCIsCi0J CQkJCSAgIElOVDhPSUQsIC0xLCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywg KEF0dHJOdW1iZXIpICsraSwgInRvdGFsX2Jsa3NfaGl0IiwKLQkJCQkJICAgSU5UOE9JRCwg LTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytp LCAidG90YWxfYmxrc19kaXJ0aWVkIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAidG90YWxfYmxr c193cml0dGVuIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRF bnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX3JlY29yZHMiLAotCQkJCQkg ICBJTlQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ3YWxfZnBpIiwKLQkJCQkJICAgSU5UOE9JRCwgLTEsIDApOwotCVR1 cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJlcikgKytpLCAid2FsX2J5dGVz IiwKLQkJCQkJICAgTlVNRVJJQ09JRCwgLTEsIDApOworCVBnU3RhdF9WYWN1dW1EQkNvdW50 cyBhbGx6ZXJvOwogCi0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVy KSArK2ksICJibGtfcmVhZF90aW1lIiwKLQkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7Ci0J VHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJibGtfd3Jp dGVfdGltZSIsCi0JCQkJCSAgIEZMT0FUOE9JRCwgLTEsIDApOworCS8qIEJ1aWxkIGEgdHVw bGUgZGVzY3JpcHRvciBmb3Igb3VyIHJlc3VsdCB0eXBlICovCisJaWYgKGdldF9jYWxsX3Jl c3VsdF90eXBlKGZjaW5mbywgTlVMTCwgJnR1cGRlc2MpICE9IFRZUEVGVU5DX0NPTVBPU0lU RSkKKwkJZWxvZyhFUlJPUiwgInJldHVybiB0eXBlIG11c3QgYmUgYSByb3cgdHlwZSIpOwog Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJkZWxh eV90aW1lIiwKLQkJCQkJICAgRkxPQVQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSArK2ksICJ0b3RhbF90aW1lIiwKLQkJCQkJICAg RkxPQVQ4T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRlc2MsIChBdHRy TnVtYmVyKSArK2ksICJ3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50IiwKLQkJCQkJICAgSU5U NE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgKytpLCAiZXJyb3JzIiwKLQkJCQkJICAgSU5UNE9JRCwgLTEsIDApOworCXBlbmRpbmcg PSBwZ3N0YXRfZmV0Y2hfc3RhdF92YWN1dW1fZGJlbnRyeShkYmlkKTsKIAotCUFzc2VydChp ID09IFBHX1NUQVRfR0VUX1ZBQ1VVTV9EQVRBQkFTRV9TVEFUU19DT0xTKTsKLQotCUJsZXNz VHVwbGVEZXNjKHR1cGRlc2MpOwotCi0JZGJlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X2Ri ZW50cnkoZGJpZCk7Ci0KLQlpZiAoZGJlbnRyeSA9PSBOVUxMKQorCWlmIChwZW5kaW5nID09 IE5VTEwpCiAJewogCQkvKiBJZiB0aGUgc3Vic2NyaXB0aW9uIGlzIG5vdCBmb3VuZCwgaW5p dGlhbGlzZSBpdHMgc3RhdHMgKi8KLQkJbWVtc2V0KCZhbGx6ZXJvLCAwLCBzaXplb2YoRXh0 VmFjUmVwb3J0KSk7CisJCW1lbXNldCgmYWxsemVybywgMCwgc2l6ZW9mKFBnU3RhdF9WYWN1 dW1EQkNvdW50cykpOwogCQlleHR2YWN1dW0gPSAmYWxsemVybzsKIAl9CiAJZWxzZQotCXsK LQkJZXh0dmFjdXVtID0gJihkYmVudHJ5LT52YWN1dW1fZXh0KTsKLQl9Ci0KLQlpID0gMDsK KwkJZXh0dmFjdXVtID0gcGVuZGluZzsKIAogCXZhbHVlc1tpKytdID0gT2JqZWN0SWRHZXRE YXR1bShkYmlkKTsKIAotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0t PnRvdGFsX2Jsa3NfcmVhZCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZh Y3V1bS0+dG90YWxfYmxrc19oaXQpOwotCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPnRvdGFsX2Jsa3NfZGlydGllZCk7Ci0JdmFsdWVzW2krK10gPSBJbnQ2NEdl dERhdHVtKGV4dHZhY3V1bS0+dG90YWxfYmxrc193cml0dGVuKTsKKwl2YWx1ZXNbaSsrXSA9 IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udG90YWxfYmxrc19yZWFkKTsKKwl2 YWx1ZXNbaSsrXSA9IEludDY0R2V0RGF0dW0oZXh0dmFjdXVtLT5jb21tb24udG90YWxfYmxr c19oaXQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1v bi50b3RhbF9ibGtzX2RpcnRpZWQpOworCXZhbHVlc1tpKytdID0gSW50NjRHZXREYXR1bShl eHR2YWN1dW0tPmNvbW1vbi50b3RhbF9ibGtzX3dyaXR0ZW4pOwogCi0JdmFsdWVzW2krK10g PSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+d2FsX3JlY29yZHMpOwotCXZhbHVlc1tpKytd ID0gSW50NjRHZXREYXR1bShleHR2YWN1dW0tPndhbF9mcGkpOworCXZhbHVlc1tpKytdID0g SW50NjRHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi53YWxfcmVjb3Jkcyk7CisJdmFsdWVz W2krK10gPSBJbnQ2NEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLndhbF9mcGkpOwogCiAJ LyogQ29udmVydCB0byBudW1lcmljLCBsaWtlIHBnX3N0YXRfc3RhdGVtZW50cyAqLwotCXNu cHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1BVCwgZXh0dmFjdXVtLT53YWxf Ynl0ZXMpOworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgVUlOVDY0X0ZPUk1BVCwgZXh0 dmFjdXVtLT5jb21tb24ud2FsX2J5dGVzKTsKIAl2YWx1ZXNbaSsrXSA9IERpcmVjdEZ1bmN0 aW9uQ2FsbDMobnVtZXJpY19pbiwKIAkJCQkJCQkJCSAgQ1N0cmluZ0dldERhdHVtKGJ1Ziks CiAJCQkJCQkJCQkgIE9iamVjdElkR2V0RGF0dW0oMCksCiAJCQkJCQkJCQkgIEludDMyR2V0 RGF0dW0oLTEpKTsKIAotCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFjdXVt LT5ibGtfcmVhZF90aW1lKTsKLQl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZh Y3V1bS0+YmxrX3dyaXRlX3RpbWUpOwotCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0o ZXh0dmFjdXVtLT5kZWxheV90aW1lKTsKLQl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVt KGV4dHZhY3V1bS0+dG90YWxfdGltZSk7Ci0JdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVt KGV4dHZhY3V1bS0+d3JhcGFyb3VuZF9mYWlsc2FmZV9jb3VudCk7CisJdmFsdWVzW2krK10g PSBGbG9hdDhHZXREYXR1bShleHR2YWN1dW0tPmNvbW1vbi5ibGtfcmVhZF90aW1lKTsKKwl2 YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Y29tbW9uLmJsa193cml0 ZV90aW1lKTsKKwl2YWx1ZXNbaSsrXSA9IEZsb2F0OEdldERhdHVtKGV4dHZhY3V1bS0+Y29t bW9uLmRlbGF5X3RpbWUpOworCXZhbHVlc1tpKytdID0gRmxvYXQ4R2V0RGF0dW0oZXh0dmFj dXVtLT5jb21tb24udG90YWxfdGltZSk7CisJdmFsdWVzW2krK10gPSBJbnQzMkdldERhdHVt KGV4dHZhY3V1bS0+Y29tbW9uLndyYXBhcm91bmRfZmFpbHNhZmVfY291bnQpOwogCXZhbHVl c1tpKytdID0gSW50MzJHZXREYXR1bShleHR2YWN1dW0tPmVycm9ycyk7CiAKIAlBc3NlcnQo aSA9PSBQR19TVEFUX0dFVF9WQUNVVU1fREFUQUJBU0VfU1RBVFNfQ09MUyk7CmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRlL2NvbW1h bmRzL3ZhY3V1bS5oCmluZGV4IGRjYzU0Mjc1MGI4Li5iYzlkZjE0MzNjMiAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29t bWFuZHMvdmFjdXVtLmgKQEAgLTQzMiw1ICs0MzIsNSBAQCBleHRlcm4gZG91YmxlIGFubF9n ZXRfbmV4dF9TKGRvdWJsZSB0LCBpbnQgbiwgZG91YmxlICpzdGF0ZXB0cik7CiBleHRlcm4g dm9pZCBleHR2YWNfc3RhdHNfc3RhcnRfaWR4KFJlbGF0aW9uIHJlbCwgSW5kZXhCdWxrRGVs ZXRlUmVzdWx0ICpzdGF0cywKIAkJCQkJICAgTFZFeHRTdGF0Q291bnRlcnNJZHggKmNvdW50 ZXJzKTsKIGV4dGVybiB2b2lkIGV4dHZhY19zdGF0c19lbmRfaWR4KFJlbGF0aW9uIHJlbCwg SW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywKLQkJCQkJIExWRXh0U3RhdENvdW50ZXJz SWR4ICpjb3VudGVycywgRXh0VmFjUmVwb3J0ICpyZXBvcnQpOworCQkJCQkgTFZFeHRTdGF0 Q291bnRlcnNJZHggKmNvdW50ZXJzLCBQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKnJl cG9ydCk7CiAjZW5kaWYJCQkJCQkJLyogVkFDVVVNX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKaW5kZXggNjk1MmY4MzNk NDUuLjQ3NWNlNTgxNjc0IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysg Yi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMTE2LDQ2ICsxMTYsMTAwIEBAIHR5cGVkZWYg ZW51bSBFeHRWYWNSZXBvcnRUeXBlCiB7CiAJUEdTVEFUX0VYVFZBQ19JTlZBTElEID0gMCwK IAlQR1NUQVRfRVhUVkFDX1RBQkxFID0gMSwKLQlQR1NUQVRfRVhUVkFDX0lOREVYID0gMgor CVBHU1RBVF9FWFRWQUNfSU5ERVggPSAyLAorCVBHU1RBVF9FWFRWQUNfREIgPSAzLAogfSBF eHRWYWNSZXBvcnRUeXBlOwogCiAvKiAtLS0tLS0tLS0tCisgKiBQZ1N0YXRfVGFibGVDb3Vu dHMJCQlUaGUgYWN0dWFsIHBlci10YWJsZSBjb3VudHMga2VwdCBieSBhIGJhY2tlbmQKICAq Ci0gKiBFeHRWYWNSZXBvcnQKKyAqIFRoaXMgc3RydWN0IHNob3VsZCBjb250YWluIG9ubHkg YWN0dWFsIGV2ZW50IGNvdW50ZXJzLCBiZWNhdXNlIHdlIG1ha2UgdXNlCisgKiBvZiBwZ19t ZW1vcnlfaXNfYWxsX3plcm9zKCkgdG8gZGV0ZWN0IHdoZXRoZXIgdGhlcmUgYXJlIGFueSBz dGF0cyB1cGRhdGVzCisgKiB0byBhcHBseS4KICAqCi0gKiBBZGRpdGlvbmFsIHN0YXRpc3Rp Y3Mgb2YgdmFjdXVtIHByb2Nlc3Npbmcgb3ZlciBhIHJlbGF0aW9uLgotICogcGFnZXNfcmVt b3ZlZCBpcyB0aGUgYW1vdW50IGJ5IHdoaWNoIHRoZSBwaHlzaWNhbGx5IHNocmFuaywKLSAq IGlmIGFueSAoaWUgdGhlIGNoYW5nZSBpbiBpdHMgdG90YWwgc2l6ZSBvbiBkaXNrKQotICog cGFnZXNfZGVsZXRlZCByZWZlciB0byBmcmVlIHNwYWNlIHdpdGhpbiB0aGUgaW5kZXggZmls ZQorICogSXQgaXMgYSBjb21wb25lbnQgb2YgUGdTdGF0X1RhYmxlU3RhdHVzICh3aXRoaW4t YmFja2VuZCBzdGF0ZSkuCisgKgorICogTm90ZTogZm9yIGEgdGFibGUsIHR1cGxlc19yZXR1 cm5lZCBpcyB0aGUgbnVtYmVyIG9mIHR1cGxlcyBzdWNjZXNzZnVsbHkKKyAqIGZldGNoZWQg YnkgaGVhcF9nZXRuZXh0LCB3aGlsZSB0dXBsZXNfZmV0Y2hlZCBpcyB0aGUgbnVtYmVyIG9m IHR1cGxlcworICogc3VjY2Vzc2Z1bGx5IGZldGNoZWQgYnkgaGVhcF9mZXRjaCB1bmRlciB0 aGUgY29udHJvbCBvZiBiaXRtYXAgaW5kZXhzY2Fucy4KKyAqIEZvciBhbiBpbmRleCwgdHVw bGVzX3JldHVybmVkIGlzIHRoZSBudW1iZXIgb2YgaW5kZXggZW50cmllcyByZXR1cm5lZCBi eQorICogdGhlIGluZGV4IEFNLCB3aGlsZSB0dXBsZXNfZmV0Y2hlZCBpcyB0aGUgbnVtYmVy IG9mIHR1cGxlcyBzdWNjZXNzZnVsbHkKKyAqIGZldGNoZWQgYnkgaGVhcF9mZXRjaCB1bmRl ciB0aGUgY29udHJvbCBvZiBzaW1wbGUgaW5kZXhzY2FucyBmb3IgdGhpcyBpbmRleC4KKyAq CisgKiB0dXBsZXNfaW5zZXJ0ZWQvdXBkYXRlZC9kZWxldGVkL2hvdF91cGRhdGVkL25ld3Bh Z2VfdXBkYXRlZCBjb3VudCBhdHRlbXB0ZWQKKyAqIGFjdGlvbnMsIHJlZ2FyZGxlc3Mgb2Yg d2hldGhlciB0aGUgdHJhbnNhY3Rpb24gY29tbWl0dGVkLiAgZGVsdGFfbGl2ZV90dXBsZXMs CisgKiBkZWx0YV9kZWFkX3R1cGxlcywgYW5kIGNoYW5nZWRfdHVwbGVzIGFyZSBzZXQgZGVw ZW5kaW5nIG9uIGNvbW1pdCBvciBhYm9ydC4KKyAqIE5vdGUgdGhhdCBkZWx0YV9saXZlX3R1 cGxlcyBhbmQgZGVsdGFfZGVhZF90dXBsZXMgY2FuIGJlIG5lZ2F0aXZlIQogICogLS0tLS0t LS0tLQogICovCi10eXBlZGVmIHN0cnVjdCBFeHRWYWNSZXBvcnQKK3R5cGVkZWYgc3RydWN0 IFBnU3RhdF9UYWJsZUNvdW50cwogewotCS8qIG51bWJlciBvZiBibG9ja3MgbWlzc2VkLCBo aXQsIGRpcnRpZWQgYW5kIHdyaXR0ZW4gZHVyaW5nIGEgdmFjdXVtIG9mIHNwZWNpZmljIHJl bGF0aW9uICovCi0JaW50NjQJCXRvdGFsX2Jsa3NfcmVhZDsKLQlpbnQ2NAkJdG90YWxfYmxr c19oaXQ7Ci0JaW50NjQJCXRvdGFsX2Jsa3NfZGlydGllZDsKLQlpbnQ2NAkJdG90YWxfYmxr c193cml0dGVuOworCVBnU3RhdF9Db3VudGVyIG51bXNjYW5zOwogCi0JLyogYmxvY2tzIG1p c3NlZCBhbmQgaGl0IGZvciBqdXN0IHRoZSBoZWFwIGR1cmluZyBhIHZhY3V1bSBvZiBzcGVj aWZpYyByZWxhdGlvbiAqLwotCWludDY0CQlibGtzX2ZldGNoZWQ7Ci0JaW50NjQJCWJsa3Nf aGl0OworCVBnU3RhdF9Db3VudGVyIHR1cGxlc19yZXR1cm5lZDsKKwlQZ1N0YXRfQ291bnRl ciB0dXBsZXNfZmV0Y2hlZDsKIAotCS8qIFZhY3V1bSBXQUwgdXNhZ2Ugc3RhdHMgKi8KLQlp bnQ2NAkJd2FsX3JlY29yZHM7CS8qIHdhbCB1c2FnZTogbnVtYmVyIG9mIFdBTCByZWNvcmRz ICovCi0JaW50NjQJCXdhbF9mcGk7CQkvKiB3YWwgdXNhZ2U6IG51bWJlciBvZiBXQUwgZnVs bCBwYWdlIGltYWdlcyBwcm9kdWNlZCAqLwotCXVpbnQ2NAkJd2FsX2J5dGVzOwkJLyogd2Fs IHVzYWdlOiBzaXplIG9mIFdBTCByZWNvcmRzIHByb2R1Y2VkICovCisJUGdTdGF0X0NvdW50 ZXIgdHVwbGVzX2luc2VydGVkOworCVBnU3RhdF9Db3VudGVyIHR1cGxlc191cGRhdGVkOwor CVBnU3RhdF9Db3VudGVyIHR1cGxlc19kZWxldGVkOworCVBnU3RhdF9Db3VudGVyIHR1cGxl c19ob3RfdXBkYXRlZDsKKwlQZ1N0YXRfQ291bnRlciB0dXBsZXNfbmV3cGFnZV91cGRhdGVk OworCWJvb2wJCXRydW5jZHJvcHBlZDsKKworCVBnU3RhdF9Db3VudGVyIGRlbHRhX2xpdmVf dHVwbGVzOworCVBnU3RhdF9Db3VudGVyIGRlbHRhX2RlYWRfdHVwbGVzOworCVBnU3RhdF9D b3VudGVyIGNoYW5nZWRfdHVwbGVzOworCisJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2ZldGNo ZWQ7CisJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2hpdDsKIAotCS8qIFRpbWUgc3RhdHMuICov Ci0JZG91YmxlCQlibGtfcmVhZF90aW1lOwkvKiB0aW1lIHNwZW50IHJlYWRpbmcgcGFnZXMs IGluIG1zZWMgKi8KLQlkb3VibGUJCWJsa193cml0ZV90aW1lOyAvKiB0aW1lIHNwZW50IHdy aXRpbmcgcGFnZXMsIGluIG1zZWMgKi8KLQlkb3VibGUJCWRlbGF5X3RpbWU7CQkvKiBob3cg bG9uZyB2YWN1dW0gc2xlcHQgaW4gdmFjdXVtIGRlbGF5IHBvaW50LCBpbiBtc2VjICovCi0J ZG91YmxlCQl0b3RhbF90aW1lOwkJLyogdG90YWwgdGltZSBvZiBhIHZhY3V1bSBvcGVyYXRp b24sIGluIG1zZWMgKi8KKwlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zpc2libGVfcGFnZXM7 CisJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7Cit9IFBnU3RhdF9UYWJs ZUNvdW50czsKIAotCWludDY0CQl0dXBsZXNfZGVsZXRlZDsJCS8qIHR1cGxlcyBkZWxldGVk IGJ5IHZhY3V1bSAqLwordHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X0NvbW1vbkNvdW50cworewor CS8qIGJsb2NrcyAqLworCWludDY0IHRvdGFsX2Jsa3NfcmVhZDsKKwlpbnQ2NCB0b3RhbF9i bGtzX2hpdDsKKwlpbnQ2NCB0b3RhbF9ibGtzX2RpcnRpZWQ7CisJaW50NjQgdG90YWxfYmxr c193cml0dGVuOworCisJLyogaGVhcCBibG9ja3MgKi8KKwlpbnQ2NCBibGtzX2ZldGNoZWQ7 CisJaW50NjQgYmxrc19oaXQ7CisKKwkvKiBXQUwgKi8KKwlpbnQ2NCB3YWxfcmVjb3JkczsK KwlpbnQ2NCB3YWxfZnBpOworCXVpbnQ2NCB3YWxfYnl0ZXM7CisKKwkvKiBUaW1lICovCisJ ZG91YmxlIGJsa19yZWFkX3RpbWU7CisJZG91YmxlIGJsa193cml0ZV90aW1lOworCWRvdWJs ZSBkZWxheV90aW1lOworCWRvdWJsZSB0b3RhbF90aW1lOworCisJLyogdHVwbGVzICovCisJ aW50NjQgdHVwbGVzX2RlbGV0ZWQ7CisKKwkvKiBmYWlsc2FmZSAqLworCWludDMyIHdyYXBh cm91bmRfZmFpbHNhZmVfY291bnQ7Cit9IFBnU3RhdF9Db21tb25Db3VudHM7CiAKLQlpbnQz MgkJZXJyb3JzOwotCWludDMyCQl3cmFwYXJvdW5kX2ZhaWxzYWZlX2NvdW50OwkvKiB0aGUg bnVtYmVyIG9mIHRpbWVzIHRvIHByZXZlbnQgd3JhcGFyb3VuZCBwcm9ibGVtICovCisvKiAt LS0tLS0tLS0tCisgKgorICogUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzCisgKgorICog QWRkaXRpb25hbCBzdGF0aXN0aWNzIG9mIHZhY3V1bSBwcm9jZXNzaW5nIG92ZXIgYSByZWxh dGlvbi4KKyAqIHBhZ2VzX3JlbW92ZWQgaXMgdGhlIGFtb3VudCBieSB3aGljaCB0aGUgcGh5 c2ljYWxseSBzaHJhbmssCisgKiBpZiBhbnkgKGllIHRoZSBjaGFuZ2UgaW4gaXRzIHRvdGFs IHNpemUgb24gZGlzaykKKyAqIHBhZ2VzX2RlbGV0ZWQgcmVmZXIgdG8gZnJlZSBzcGFjZSB3 aXRoaW4gdGhlIGluZGV4IGZpbGUKKyAqIC0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1 Y3QgUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzCit7CisJUGdTdGF0X0NvbW1vbkNvdW50 cyBjb21tb247CiAKIAlFeHRWYWNSZXBvcnRUeXBlIHR5cGU7CQkvKiBoZWFwLCBpbmRleCwg ZXRjLiAqLwogCkBAIC0xNzQsMTYgKzIyOCwxNiBAQCB0eXBlZGVmIHN0cnVjdCBFeHRWYWNS ZXBvcnQKIAl7CiAJCXN0cnVjdAogCQl7CisJCQlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJCS8q IHR1cGxlcyBmcm96ZW4gdXAgYnkgdmFjdXVtICovCisJCQlpbnQ2NAkJcmVjZW50bHlfZGVh ZF90dXBsZXM7CS8qIGRlbGV0ZWQgdHVwbGVzIHRoYXQgYXJlIHN0aWxsIHZpc2libGUgdG8g c29tZSB0cmFuc2FjdGlvbiAqLworCQkJaW50NjQJCW1pc3NlZF9kZWFkX3R1cGxlczsJCS8q IHR1cGxlcyBub3QgcHJ1bmVkIGJ5IHZhY3V1bSBkdWUgdG8gZmFpbHVyZSB0byBnZXQgYSBj bGVhbnVwIGxvY2sgKi8KIAkJCWludDY0CQlwYWdlc19zY2FubmVkOwkJLyogaGVhcCBwYWdl cyBleGFtaW5lZCAobm90IHNraXBwZWQgYnkgVk0pICovCiAJCQlpbnQ2NAkJcGFnZXNfcmVt b3ZlZDsJCS8qIGhlYXAgcGFnZXMgcmVtb3ZlZCBieSB2YWN1dW0gInRydW5jYXRpb24iICov CiAJCQlpbnQ2NAkJcGFnZXNfZnJvemVuOwkJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGZy b3plbiAqLwogCQkJaW50NjQJCXBhZ2VzX2FsbF92aXNpYmxlOwkvKiBwYWdlcyBtYXJrZWQg aW4gVk0gYXMgYWxsLXZpc2libGUgKi8KLQkJCWludDY0CQl0dXBsZXNfZnJvemVuOwkJLyog dHVwbGVzIGZyb3plbiB1cCBieSB2YWN1dW0gKi8KLQkJCWludDY0CQlyZWNlbnRseV9kZWFk X3R1cGxlczsJLyogZGVsZXRlZCB0dXBsZXMgdGhhdCBhcmUgc3RpbGwgdmlzaWJsZSB0byBz b21lIHRyYW5zYWN0aW9uICovCiAJCQlpbnQ2NAkJdm1fbmV3X2Zyb3plbl9wYWdlczsJCS8q IHBhZ2VzIG1hcmtlZCBpbiBWTSBhcyBmcm96ZW4gKi8KIAkJCWludDY0CQl2bV9uZXdfdmlz aWJsZV9wYWdlczsJLyogcGFnZXMgbWFya2VkIGluIFZNIGFzIGFsbC12aXNpYmxlICovCiAJ CQlpbnQ2NAkJdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzOwkvKiBwYWdlcyBtYXJrZWQg aW4gVk0gYXMgYWxsLXZpc2libGUgYW5kIGZyb3plbiAqLwotCQkJaW50NjQJCW1pc3NlZF9k ZWFkX3R1cGxlczsJCS8qIHR1cGxlcyBub3QgcHJ1bmVkIGJ5IHZhY3V1bSBkdWUgdG8gZmFp bHVyZSB0byBnZXQgYSBjbGVhbnVwIGxvY2sgKi8KIAkJCWludDY0CQltaXNzZWRfZGVhZF9w YWdlczsJCS8qIHBhZ2VzIHdpdGggbWlzc2VkIGRlYWQgdHVwbGVzICovCiAJCQlpbnQ2NAkJ aW5kZXhfdmFjdXVtX2NvdW50OwkvKiBudW1iZXIgb2YgaW5kZXggdmFjdXVtaW5ncyAqLwog CQl9CQkJdGFibGU7CkBAIC0xOTIsNjEgKzI0NiwyMSBAQCB0eXBlZGVmIHN0cnVjdCBFeHRW YWNSZXBvcnQKIAkJCWludDY0CQlwYWdlc19kZWxldGVkOwkJLyogbnVtYmVyIG9mIHBhZ2Vz IGRlbGV0ZWQgYnkgdmFjdXVtICovCiAJCX0JCQlpbmRleDsKIAl9IC8qIHBlcl90eXBlX3N0 YXRzICovOwotfSBFeHRWYWNSZXBvcnQ7Cit9IFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50 czsKIAotLyogLS0tLS0tLS0tLQotICogUGdTdGF0X1RhYmxlQ291bnRzCQkJVGhlIGFjdHVh bCBwZXItdGFibGUgY291bnRzIGtlcHQgYnkgYSBiYWNrZW5kCi0gKgotICogVGhpcyBzdHJ1 Y3Qgc2hvdWxkIGNvbnRhaW4gb25seSBhY3R1YWwgZXZlbnQgY291bnRlcnMsIGJlY2F1c2Ug d2UgbWFrZSB1c2UKLSAqIG9mIHBnX21lbW9yeV9pc19hbGxfemVyb3MoKSB0byBkZXRlY3Qg d2hldGhlciB0aGVyZSBhcmUgYW55IHN0YXRzIHVwZGF0ZXMKLSAqIHRvIGFwcGx5LgotICoK LSAqIEl0IGlzIGEgY29tcG9uZW50IG9mIFBnU3RhdF9UYWJsZVN0YXR1cyAod2l0aGluLWJh Y2tlbmQgc3RhdGUpLgotICoKLSAqIE5vdGU6IGZvciBhIHRhYmxlLCB0dXBsZXNfcmV0dXJu ZWQgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMgc3VjY2Vzc2Z1bGx5Ci0gKiBmZXRjaGVkIGJ5 IGhlYXBfZ2V0bmV4dCwgd2hpbGUgdHVwbGVzX2ZldGNoZWQgaXMgdGhlIG51bWJlciBvZiB0 dXBsZXMKLSAqIHN1Y2Nlc3NmdWxseSBmZXRjaGVkIGJ5IGhlYXBfZmV0Y2ggdW5kZXIgdGhl IGNvbnRyb2wgb2YgYml0bWFwIGluZGV4c2NhbnMuCi0gKiBGb3IgYW4gaW5kZXgsIHR1cGxl c19yZXR1cm5lZCBpcyB0aGUgbnVtYmVyIG9mIGluZGV4IGVudHJpZXMgcmV0dXJuZWQgYnkK LSAqIHRoZSBpbmRleCBBTSwgd2hpbGUgdHVwbGVzX2ZldGNoZWQgaXMgdGhlIG51bWJlciBv ZiB0dXBsZXMgc3VjY2Vzc2Z1bGx5Ci0gKiBmZXRjaGVkIGJ5IGhlYXBfZmV0Y2ggdW5kZXIg dGhlIGNvbnRyb2wgb2Ygc2ltcGxlIGluZGV4c2NhbnMgZm9yIHRoaXMgaW5kZXguCi0gKgot ICogdHVwbGVzX2luc2VydGVkL3VwZGF0ZWQvZGVsZXRlZC9ob3RfdXBkYXRlZC9uZXdwYWdl X3VwZGF0ZWQgY291bnQgYXR0ZW1wdGVkCi0gKiBhY3Rpb25zLCByZWdhcmRsZXNzIG9mIHdo ZXRoZXIgdGhlIHRyYW5zYWN0aW9uIGNvbW1pdHRlZC4gIGRlbHRhX2xpdmVfdHVwbGVzLAot ICogZGVsdGFfZGVhZF90dXBsZXMsIGFuZCBjaGFuZ2VkX3R1cGxlcyBhcmUgc2V0IGRlcGVu ZGluZyBvbiBjb21taXQgb3IgYWJvcnQuCi0gKiBOb3RlIHRoYXQgZGVsdGFfbGl2ZV90dXBs ZXMgYW5kIGRlbHRhX2RlYWRfdHVwbGVzIGNhbiBiZSBuZWdhdGl2ZSEKLSAqIC0tLS0tLS0t LS0KLSAqLwotdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1RhYmxlQ291bnRzCit0eXBlZGVmIHN0 cnVjdCBQZ1N0YXRfVmFjdXVtUmVsYXRpb25TdGF0dXMKIHsKLQlQZ1N0YXRfQ291bnRlciBu dW1zY2FuczsKLQotCVBnU3RhdF9Db3VudGVyIHR1cGxlc19yZXR1cm5lZDsKLQlQZ1N0YXRf Q291bnRlciB0dXBsZXNfZmV0Y2hlZDsKLQotCVBnU3RhdF9Db3VudGVyIHR1cGxlc19pbnNl cnRlZDsKLQlQZ1N0YXRfQ291bnRlciB0dXBsZXNfdXBkYXRlZDsKLQlQZ1N0YXRfQ291bnRl ciB0dXBsZXNfZGVsZXRlZDsKLQlQZ1N0YXRfQ291bnRlciB0dXBsZXNfaG90X3VwZGF0ZWQ7 Ci0JUGdTdGF0X0NvdW50ZXIgdHVwbGVzX25ld3BhZ2VfdXBkYXRlZDsKLQlib29sCQl0cnVu Y2Ryb3BwZWQ7Ci0KLQlQZ1N0YXRfQ291bnRlciBkZWx0YV9saXZlX3R1cGxlczsKLQlQZ1N0 YXRfQ291bnRlciBkZWx0YV9kZWFkX3R1cGxlczsKLQlQZ1N0YXRfQ291bnRlciBjaGFuZ2Vk X3R1cGxlczsKLQotCVBnU3RhdF9Db3VudGVyIGJsb2Nrc19mZXRjaGVkOwotCVBnU3RhdF9D b3VudGVyIGJsb2Nrc19oaXQ7Ci0KLQlQZ1N0YXRfQ291bnRlciByZXZfYWxsX3Zpc2libGVf cGFnZXM7Ci0JUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF9mcm96ZW5fcGFnZXM7CisJT2lkCQkJ aWQ7CQkJCS8qIHRhYmxlJ3MgT0lEICovCisJYm9vbAkJc2hhcmVkOwkJCS8qIGlzIGl0IGEg c2hhcmVkIGNhdGFsb2c/ICovCisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIGNvdW50 czsJLyogZXZlbnQgY291bnRzIHRvIGJlIHNlbnQgKi8KK30gUGdTdGF0X1ZhY3V1bVJlbGF0 aW9uU3RhdHVzOwogCi0JLyoKLQkgKiBBZGRpdGlvbmFsIGN1bXVsYXRpdmUgc3RhdCBvbiB2 YWN1dW0gb3BlcmF0aW9ucy4KLQkgKiBVc2UgYW4gZXhwZW5zaXZlIHN0cnVjdHVyZSBhcyBh biBhYnN0cmFjdGlvbiBmb3IgZGlmZmVyZW50IHR5cGVzIG9mCi0JICogcmVsYXRpb25zLgot CSAqLwotCUV4dFZhY1JlcG9ydAl2YWN1dW1fZXh0OwotfSBQZ1N0YXRfVGFibGVDb3VudHM7 Cit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVmFjdXVtREJDb3VudHMKK3sKKwlPaWQgZGJqaWQ7 CisJUGdTdGF0X0NvbW1vbkNvdW50cyBjb21tb247CisJaW50MzIgZXJyb3JzOworfSBQZ1N0 YXRfVmFjdXVtREJDb3VudHM7CiAKIC8qIC0tLS0tLS0tLS0KICAqIFBnU3RhdF9UYWJsZVN0 YXR1cwkJCVBlci10YWJsZSBzdGF0dXMgd2l0aGluIGEgYmFja2VuZApAQCAtMjcyLDYgKzI4 NiwxMiBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfVGFibGVTdGF0dXMKIAlSZWxhdGlvbgly ZWxhdGlvbjsJCS8qIHJlbCB0aGF0IGlzIHVzaW5nIHRoaXMgZW50cnkgKi8KIH0gUGdTdGF0 X1RhYmxlU3RhdHVzOwogCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfUmVsYXRpb25WYWN1dW1Q ZW5kaW5nCit7CisJT2lkCQkJaWQ7CQkJCS8qIHRhYmxlJ3MgT0lEICovCisJUGdTdGF0X1Zh Y3V1bVJlbGF0aW9uQ291bnRzIGNvdW50czsJLyogZXZlbnQgY291bnRzIHRvIGJlIHNlbnQg Ki8KK30gUGdTdGF0X1JlbGF0aW9uVmFjdXVtUGVuZGluZzsKKwogLyogLS0tLS0tLS0tLQog ICogUGdTdGF0X1RhYmxlWGFjdFN0YXR1cwkJUGVyLXRhYmxlLCBwZXItc3VidHJhbnNhY3Rp b24gc3RhdHVzCiAgKiAtLS0tLS0tLS0tCkBAIC00NjgsOCArNDg4LDYgQEAgdHlwZWRlZiBz dHJ1Y3QgUGdTdGF0X1N0YXREQkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgcGFyYWxsZWxfd29y a2Vyc19sYXVuY2hlZDsKIAogCVRpbWVzdGFtcFR6IHN0YXRfcmVzZXRfdGltZXN0YW1wOwot Ci0JRXh0VmFjUmVwb3J0IHZhY3V1bV9leHQ7CQkvKiBleHRlbmRlZCB2YWN1dW0gc3RhdGlz dGljcyAqLwogfSBQZ1N0YXRfU3RhdERCRW50cnk7CiAKIHR5cGVkZWYgc3RydWN0IFBnU3Rh dF9TdGF0RnVuY0VudHJ5CkBAIC01NTEsOCArNTY5LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdT dGF0X1N0YXRUYWJFbnRyeQogCiAJUGdTdGF0X0NvdW50ZXIgcmV2X2FsbF92aXNpYmxlX3Bh Z2VzOwogCVBnU3RhdF9Db3VudGVyIHJldl9hbGxfZnJvemVuX3BhZ2VzOwotCi0JRXh0VmFj UmVwb3J0IHZhY3V1bV9leHQ7CiB9IFBnU3RhdF9TdGF0VGFiRW50cnk7CiAKIC8qIC0tLS0t LQpAQCAtNzYwLDExICs3NzYsMTAgQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3VubGlua19yZWxh dGlvbihSZWxhdGlvbiByZWwpOwogCiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1 bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCQkJCQkJCQkgUGdTdGF0X0NvdW50ZXIg bGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKLQkJCQkJCQkJIFRpbWVz dGFtcFR6IHN0YXJ0dGltZSwgRXh0VmFjUmVwb3J0ICpwYXJhbXMpOworCQkJCQkJCQkgVGlt ZXN0YW1wVHogc3RhcnR0aW1lKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfYW5hbHl6 ZShSZWxhdGlvbiByZWwsCiAJCQkJCQkJCSAgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywg UGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcywKIAkJCQkJCQkJICBib29sIHJlc2V0Y291bnRl ciwgVGltZXN0YW1wVHogc3RhcnR0aW1lKTsKLWV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRf dmFjdXVtX2Vycm9yKE9pZCB0YWJsZW9pZCwgRXh0VmFjUmVwb3J0VHlwZSBtX3R5cGUpOwog CiAvKgogICogSWYgc3RhdHMgYXJlIGVuYWJsZWQsIGJ1dCBwZW5kaW5nIGRhdGEgaGFzbid0 IGJlZW4gcHJlcGFyZWQgeWV0LCBjYWxsCkBAIC04OTUsNiArOTEwLDE1IEBAIGV4dGVybiBp bnQJcGdzdGF0X2dldF90cmFuc2FjdGlvbmFsX2Ryb3BzKGJvb2wgaXNDb21taXQsIHN0cnVj dCB4bF94YWN0X3N0YXRzX2l0CiBleHRlcm4gdm9pZCBwZ3N0YXRfZXhlY3V0ZV90cmFuc2Fj dGlvbmFsX2Ryb3BzKGludCBuZHJvcHMsIHN0cnVjdCB4bF94YWN0X3N0YXRzX2l0ZW0gKml0 ZW1zLCBib29sIGlzX3JlZG8pOwogCiAKK2V4dGVybiB2b2lkIHBnc3RhdF9kcm9wX3ZhY3V1 bV9kYXRhYmFzZShPaWQgZGF0YWJhc2VpZCk7CitleHRlcm4gdm9pZCBwZ3N0YXRfdmFjdXVt X3JlbGF0aW9uX2RlbGV0ZV9wZW5kaW5nX2NiKE9pZCByZWxpZCk7CitleHRlcm4gdm9pZAor cGdzdGF0X3JlcG9ydF92YWN1dW1fZXh0c3RhdHMoT2lkIHRhYmxlb2lkLCBib29sIHNoYXJl ZCwKKwkJCQkJCQkJICBQZ1N0YXRfVmFjdXVtUmVsYXRpb25Db3VudHMgKnBhcmFtcyk7Citl eHRlcm4gUGdTdGF0X1JlbGF0aW9uVmFjdXVtUGVuZGluZyAqIGZpbmRfdmFjdXVtX3JlbGF0 aW9uX2VudHJ5KE9pZCByZWxpZCk7CitleHRlcm4gUGdTdGF0X1ZhY3V1bURCQ291bnRzICpw Z3N0YXRfcHJlcF92YWN1dW1fZGF0YWJhc2VfcGVuZGluZyhPaWQgZGJvaWQpOworZXh0ZXJu IFBnU3RhdF9WYWN1dW1SZWxhdGlvbkNvdW50cyAqcGdzdGF0X2ZldGNoX3N0YXRfdmFjdXVt X3RhYmVudHJ5KE9pZCByZWxpZCwgT2lkIGRiaWQpOworUGdTdGF0X1ZhY3V1bURCQ291bnRz ICpwZ3N0YXRfZmV0Y2hfc3RhdF92YWN1dW1fZGJlbnRyeShPaWQgZGJpZCk7CiAvKgogICog RnVuY3Rpb25zIGluIHBnc3RhdF93YWwuYwogICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3Bnc3RhdF9p bnRlcm5hbC5oCmluZGV4IGJmNzVlYmNlZjMxLi42MjhlNjVlNGE1ZCAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmgKKysrIGIvc3JjL2luY2x1ZGUv dXRpbHMvcGdzdGF0X2ludGVybmFsLmgKQEAgLTQ0Nyw2ICs0NDcsMTggQEAgdHlwZWRlZiBz dHJ1Y3QgUGdTdGF0U2hhcmVkX1JlbGF0aW9uCiAJUGdTdGF0X1N0YXRUYWJFbnRyeSBzdGF0 czsKIH0gUGdTdGF0U2hhcmVkX1JlbGF0aW9uOwogCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRT aGFyZWRfVmFjdXVtREIKK3sKKwlQZ1N0YXRTaGFyZWRfQ29tbW9uIGhlYWRlcjsKKwlQZ1N0 YXRfVmFjdXVtREJDb3VudHMgc3RhdHM7Cit9IFBnU3RhdFNoYXJlZF9WYWN1dW1EQjsKKwor dHlwZWRlZiBzdHJ1Y3QgUGdTdGF0U2hhcmVkX1ZhY3V1bVJlbGF0aW9uCit7CisJUGdTdGF0 U2hhcmVkX0NvbW1vbiBoZWFkZXI7CisJUGdTdGF0X1ZhY3V1bVJlbGF0aW9uQ291bnRzIHN0 YXRzOworfSBQZ1N0YXRTaGFyZWRfVmFjdXVtUmVsYXRpb247CisKIHR5cGVkZWYgc3RydWN0 IFBnU3RhdFNoYXJlZF9GdW5jdGlvbgogewogCVBnU3RhdFNoYXJlZF9Db21tb24gaGVhZGVy OwpAQCAtNjE1LDYgKzYyNyw5IEBAIGV4dGVybiBQZ1N0YXRfRW50cnlSZWYgKnBnc3RhdF9m ZXRjaF9wZW5kaW5nX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsCiBleHRlcm4gdm9pZCAqcGdz dGF0X2ZldGNoX2VudHJ5KFBnU3RhdF9LaW5kIGtpbmQsIE9pZCBkYm9pZCwgdWludDY0IG9i amlkKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9zbmFwc2hvdF9maXhlZChQZ1N0YXRfS2luZCBr aW5kKTsKIAorYm9vbCBwZ3N0YXRfdmFjdXVtX2RiX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJl ZiAqZW50cnlfcmVmLCBib29sIG5vd2FpdCk7CitleHRlcm4gYm9vbCBwZ3N0YXRfdmFjdXVt X3JlbGF0aW9uX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5v d2FpdCk7CisKIAogLyoKICAqIEZ1bmN0aW9ucyBpbiBwZ3N0YXRfYXJjaGl2ZXIuYwpkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2tpbmQuaCBiL3NyYy9pbmNsdWRl L3V0aWxzL3Bnc3RhdF9raW5kLmgKaW5kZXggZWI1ZjBiM2FlNmQuLjUyZTg4NGZiZjhiIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfa2luZC5oCisrKyBiL3NyYy9p bmNsdWRlL3V0aWxzL3Bnc3RhdF9raW5kLmgKQEAgLTM4LDkgKzM4LDExIEBACiAjZGVmaW5l IFBHU1RBVF9LSU5EX0lPCTEwCiAjZGVmaW5lIFBHU1RBVF9LSU5EX1NMUlUJMTEKICNkZWZp bmUgUEdTVEFUX0tJTkRfV0FMCTEyCisjZGVmaW5lIFBHU1RBVF9LSU5EX1ZBQ1VVTV9EQgkx MworI2RlZmluZSBQR1NUQVRfS0lORF9WQUNVVU1fUkVMQVRJT04JMTQKIAogI2RlZmluZSBQ R1NUQVRfS0lORF9CVUlMVElOX01JTiBQR1NUQVRfS0lORF9EQVRBQkFTRQotI2RlZmluZSBQ R1NUQVRfS0lORF9CVUlMVElOX01BWCBQR1NUQVRfS0lORF9XQUwKKyNkZWZpbmUgUEdTVEFU X0tJTkRfQlVJTFRJTl9NQVggUEdTVEFUX0tJTkRfVkFDVVVNX1JFTEFUSU9OCiAjZGVmaW5l IFBHU1RBVF9LSU5EX0JVSUxUSU5fU0laRSAoUEdTVEFUX0tJTkRfQlVJTFRJTl9NQVggKyAx KQogCiAvKiBDdXN0b20gc3RhdHMga2luZHMgKi8KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9y dWxlcy5vdXQKaW5kZXggMTRmMTllNWJjYmUuLmVmMmQ2NTQ1OTUzIDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMjI5Myw3NyArMjI5Myw4MSBAQCBwZ19zdGF0 X3VzZXJfdGFibGVzfCBTRUxFQ1QgcmVsaWQsCiAgICAgcmV2X2FsbF92aXNpYmxlX3BhZ2Vz CiAgICBGUk9NIHBnX3N0YXRfYWxsX3RhYmxlcwogICBXSEVSRSAoKHNjaGVtYW5hbWUgPD4g QUxMIChBUlJBWVsncGdfY2F0YWxvZyc6Om5hbWUsICdpbmZvcm1hdGlvbl9zY2hlbWEnOjpu YW1lXSkpIEFORCAoc2NoZW1hbmFtZSAhfiAnXnBnX3RvYXN0Jzo6dGV4dCkpOwotcGdfc3Rh dF92YWN1dW1fZGF0YWJhc2V8IFNFTEVDVCBkYi5vaWQgQVMgZGJvaWQsCi0gICAgZGIuZGF0 bmFtZSBBUyBkYm5hbWUsCi0gICAgc3RhdHMuZGJfYmxrc19yZWFkLAotICAgIHN0YXRzLmRi X2Jsa3NfaGl0LAotICAgIHN0YXRzLnRvdGFsX2Jsa3NfZGlydGllZCwKLSAgICBzdGF0cy50 b3RhbF9ibGtzX3dyaXR0ZW4sCi0gICAgc3RhdHMud2FsX3JlY29yZHMsCi0gICAgc3RhdHMu d2FsX2ZwaSwKLSAgICBzdGF0cy53YWxfYnl0ZXMsCi0gICAgc3RhdHMuYmxrX3JlYWRfdGlt ZSwKLSAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKLSAgICBzdGF0cy5kZWxheV90aW1lLAot ICAgIHN0YXRzLnRvdGFsX3RpbWUsCi0gICAgc3RhdHMud3JhcGFyb3VuZF9mYWlsc2FmZSwK LSAgICBzdGF0cy5lcnJvcnMKLSAgIEZST00gcGdfZGF0YWJhc2UgZGIsCi0gICAgTEFURVJB TCBwZ19zdGF0X2dldF92YWN1dW1fZGF0YWJhc2UoZGIub2lkKSBzdGF0cyhkYm9pZCwgZGJf Ymxrc19yZWFkLCBkYl9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtz X3dyaXR0ZW4sIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3Rp bWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lLCB3cmFwYXJvdW5k X2ZhaWxzYWZlLCBlcnJvcnMpOwotcGdfc3RhdF92YWN1dW1faW5kZXhlc3wgU0VMRUNUIHJl bC5vaWQgQVMgcmVsaWQsCi0gICAgbnMubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAotICAgIHJl bC5yZWxuYW1lLAotICAgIHN0YXRzLnRvdGFsX2Jsa3NfcmVhZCwKLSAgICBzdGF0cy50b3Rh bF9ibGtzX2hpdCwKLSAgICBzdGF0cy50b3RhbF9ibGtzX2RpcnRpZWQsCi0gICAgc3RhdHMu dG90YWxfYmxrc193cml0dGVuLAotICAgIHN0YXRzLnJlbF9ibGtzX3JlYWQsCi0gICAgc3Rh dHMucmVsX2Jsa3NfaGl0LAotICAgIHN0YXRzLnBhZ2VzX2RlbGV0ZWQsCi0gICAgc3RhdHMu dHVwbGVzX2RlbGV0ZWQsCi0gICAgc3RhdHMud2FsX3JlY29yZHMsCi0gICAgc3RhdHMud2Fs X2ZwaSwKLSAgICBzdGF0cy53YWxfYnl0ZXMsCi0gICAgc3RhdHMuYmxrX3JlYWRfdGltZSwK LSAgICBzdGF0cy5ibGtfd3JpdGVfdGltZSwKLSAgICBzdGF0cy5kZWxheV90aW1lLAotICAg IHN0YXRzLnRvdGFsX3RpbWUKLSAgIEZST00gKHBnX2NsYXNzIHJlbAotICAgICBKT0lOIHBn X25hbWVzcGFjZSBucyBPTiAoKG5zLm9pZCA9IHJlbC5yZWxuYW1lc3BhY2UpKSksCi0gICAg TEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1faW5kZXhlcyhyZWwub2lkKSBzdGF0cyhyZWxp ZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxrc19kaXJ0aWVk LCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFn ZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0ZWQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxf Ynl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3Rh bF90aW1lKQotICBXSEVSRSAocmVsLnJlbGtpbmQgPSAnaSc6OiJjaGFyIik7Ci1wZ19zdGF0 X3ZhY3V1bV90YWJsZXN8IFNFTEVDVCBucy5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCi0gICAg cmVsLnJlbG5hbWUsCi0gICAgc3RhdHMucmVsaWQsCi0gICAgc3RhdHMudG90YWxfYmxrc19y ZWFkLAotICAgIHN0YXRzLnRvdGFsX2Jsa3NfaGl0LAotICAgIHN0YXRzLnRvdGFsX2Jsa3Nf ZGlydGllZCwKLSAgICBzdGF0cy50b3RhbF9ibGtzX3dyaXR0ZW4sCi0gICAgc3RhdHMucmVs X2Jsa3NfcmVhZCwKLSAgICBzdGF0cy5yZWxfYmxrc19oaXQsCi0gICAgc3RhdHMucGFnZXNf c2Nhbm5lZCwKLSAgICBzdGF0cy5wYWdlc19yZW1vdmVkLAotICAgIHN0YXRzLnZtX25ld19m cm96ZW5fcGFnZXMsCi0gICAgc3RhdHMudm1fbmV3X3Zpc2libGVfcGFnZXMsCi0gICAgc3Rh dHMudm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLAotICAgIHN0YXRzLm1pc3NlZF9kZWFk X3BhZ2VzLAotICAgIHN0YXRzLnR1cGxlc19kZWxldGVkLAotICAgIHN0YXRzLnR1cGxlc19m cm96ZW4sCi0gICAgc3RhdHMucmVjZW50bHlfZGVhZF90dXBsZXMsCi0gICAgc3RhdHMubWlz c2VkX2RlYWRfdHVwbGVzLAotICAgIHN0YXRzLndyYXBhcm91bmRfZmFpbHNhZmUsCi0gICAg c3RhdHMuaW5kZXhfdmFjdXVtX2NvdW50LAotICAgIHN0YXRzLndhbF9yZWNvcmRzLAotICAg IHN0YXRzLndhbF9mcGksCi0gICAgc3RhdHMud2FsX2J5dGVzLAotICAgIHN0YXRzLmJsa19y ZWFkX3RpbWUsCi0gICAgc3RhdHMuYmxrX3dyaXRlX3RpbWUsCi0gICAgc3RhdHMuZGVsYXlf dGltZSwKLSAgICBzdGF0cy50b3RhbF90aW1lCi0gICBGUk9NIChwZ19jbGFzcyByZWwKLSAg ICAgSk9JTiBwZ19uYW1lc3BhY2UgbnMgT04gKChucy5vaWQgPSByZWwucmVsbmFtZXNwYWNl KSkpLAotICAgIExBVEVSQUwgcGdfc3RhdF9nZXRfdmFjdXVtX3RhYmxlcyhyZWwub2lkKSBz dGF0cyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtzX2hpdCwgdG90YWxfYmxr c19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtzX3JlYWQsIHJlbF9ibGtz X2hpdCwgcGFnZXNfc2Nhbm5lZCwgcGFnZXNfcmVtb3ZlZCwgdm1fbmV3X2Zyb3plbl9wYWdl cywgdm1fbmV3X3Zpc2libGVfcGFnZXMsIHZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywg bWlzc2VkX2RlYWRfcGFnZXMsIHR1cGxlc19kZWxldGVkLCB0dXBsZXNfZnJvemVuLCByZWNl bnRseV9kZWFkX3R1cGxlcywgbWlzc2VkX2RlYWRfdHVwbGVzLCB3cmFwYXJvdW5kX2ZhaWxz YWZlLCBpbmRleF92YWN1dW1fY291bnQsIHdhbF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0 ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90 aW1lKQotICBXSEVSRSAocmVsLnJlbGtpbmQgPSAncic6OiJjaGFyIik7CitwZ19zdGF0X3Zh Y3V1bV9kYXRhYmFzZXwgU0VMRUNUIGQub2lkIEFTIGRib2lkLAorICAgIGQuZGF0bmFtZSBB UyBkYm5hbWUsCisgICAgcy5kYl9ibGtzX3JlYWQsCisgICAgcy5kYl9ibGtzX2hpdCwKKyAg ICBzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAgICBzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAg ICBzLndhbF9yZWNvcmRzLAorICAgIHMud2FsX2ZwaSwKKyAgICBzLndhbF9ieXRlcywKKyAg ICBzLmJsa19yZWFkX3RpbWUsCisgICAgcy5ibGtfd3JpdGVfdGltZSwKKyAgICBzLmRlbGF5 X3RpbWUsCisgICAgcy50b3RhbF90aW1lLAorICAgIHMud3JhcGFyb3VuZF9mYWlsc2FmZSwK KyAgICBzLmVycm9ycworICAgRlJPTSBwZ19kYXRhYmFzZSBkLAorICAgIExBVEVSQUwgcGdf c3RhdF9nZXRfdmFjdXVtX2RhdGFiYXNlKGQub2lkKSBzKGRib2lkLCBkYl9ibGtzX3JlYWQs IGRiX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2RpcnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwg d2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywgYmxrX3JlYWRfdGltZSwgYmxrX3dy aXRlX3RpbWUsIGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUsIHdyYXBhcm91bmRfZmFpbHNhZmUs IGVycm9ycyk7CitwZ19zdGF0X3ZhY3V1bV9pbmRleGVzfCBTRUxFQ1QgYy5vaWQgQVMgcmVs aWQsCisgICAgaS5vaWQgQVMgaW5kZXhyZWxpZCwKKyAgICBuLm5zcG5hbWUgQVMgc2NoZW1h bmFtZSwKKyAgICBjLnJlbG5hbWUsCisgICAgaS5yZWxuYW1lIEFTIGluZGV4cmVsbmFtZSwK KyAgICBzLnRvdGFsX2Jsa3NfcmVhZCwKKyAgICBzLnRvdGFsX2Jsa3NfaGl0LAorICAgIHMu dG90YWxfYmxrc19kaXJ0aWVkLAorICAgIHMudG90YWxfYmxrc193cml0dGVuLAorICAgIHMu cmVsX2Jsa3NfcmVhZCwKKyAgICBzLnJlbF9ibGtzX2hpdCwKKyAgICBzLnBhZ2VzX2RlbGV0 ZWQsCisgICAgcy50dXBsZXNfZGVsZXRlZCwKKyAgICBzLndhbF9yZWNvcmRzLAorICAgIHMu d2FsX2ZwaSwKKyAgICBzLndhbF9ieXRlcywKKyAgICBzLmJsa19yZWFkX3RpbWUsCisgICAg cy5ibGtfd3JpdGVfdGltZSwKKyAgICBzLmRlbGF5X3RpbWUsCisgICAgcy50b3RhbF90aW1l CisgICBGUk9NICgoKHBnX2NsYXNzIGMKKyAgICAgSk9JTiBwZ19pbmRleCB4IE9OICgoYy5v aWQgPSB4LmluZHJlbGlkKSkpCisgICAgIEpPSU4gcGdfY2xhc3MgaSBPTiAoKGkub2lkID0g eC5pbmRleHJlbGlkKSkpCisgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiAoKG4u b2lkID0gYy5yZWxuYW1lc3BhY2UpKSksCisgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1 dW1faW5kZXhlcyhpLm9pZCkgcyhyZWxpZCwgdG90YWxfYmxrc19yZWFkLCB0b3RhbF9ibGtz X2hpdCwgdG90YWxfYmxrc19kaXJ0aWVkLCB0b3RhbF9ibGtzX3dyaXR0ZW4sIHJlbF9ibGtz X3JlYWQsIHJlbF9ibGtzX2hpdCwgcGFnZXNfZGVsZXRlZCwgdHVwbGVzX2RlbGV0ZWQsIHdh bF9yZWNvcmRzLCB3YWxfZnBpLCB3YWxfYnl0ZXMsIGJsa19yZWFkX3RpbWUsIGJsa193cml0 ZV90aW1lLCBkZWxheV90aW1lLCB0b3RhbF90aW1lKQorICBXSEVSRSAoYy5yZWxraW5kID0g QU5ZIChBUlJBWVsncic6OiJjaGFyIiwgJ3QnOjoiY2hhciIsICdtJzo6ImNoYXIiXSkpOwor cGdfc3RhdF92YWN1dW1fdGFibGVzfCBTRUxFQ1Qgbi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUs CisgICAgYy5yZWxuYW1lLAorICAgIHMucmVsaWQsCisgICAgcy50b3RhbF9ibGtzX3JlYWQs CisgICAgcy50b3RhbF9ibGtzX2hpdCwKKyAgICBzLnRvdGFsX2Jsa3NfZGlydGllZCwKKyAg ICBzLnRvdGFsX2Jsa3Nfd3JpdHRlbiwKKyAgICBzLnJlbF9ibGtzX3JlYWQsCisgICAgcy5y ZWxfYmxrc19oaXQsCisgICAgcy5wYWdlc19zY2FubmVkLAorICAgIHMucGFnZXNfcmVtb3Zl ZCwKKyAgICBzLnZtX25ld19mcm96ZW5fcGFnZXMsCisgICAgcy52bV9uZXdfdmlzaWJsZV9w YWdlcywKKyAgICBzLnZtX25ld192aXNpYmxlX2Zyb3plbl9wYWdlcywKKyAgICBzLm1pc3Nl ZF9kZWFkX3BhZ2VzLAorICAgIHMudHVwbGVzX2RlbGV0ZWQsCisgICAgcy50dXBsZXNfZnJv emVuLAorICAgIHMucmVjZW50bHlfZGVhZF90dXBsZXMsCisgICAgcy5taXNzZWRfZGVhZF90 dXBsZXMsCisgICAgcy53cmFwYXJvdW5kX2ZhaWxzYWZlLAorICAgIHMuaW5kZXhfdmFjdXVt X2NvdW50LAorICAgIHMud2FsX3JlY29yZHMsCisgICAgcy53YWxfZnBpLAorICAgIHMud2Fs X2J5dGVzLAorICAgIHMuYmxrX3JlYWRfdGltZSwKKyAgICBzLmJsa193cml0ZV90aW1lLAor ICAgIHMuZGVsYXlfdGltZSwKKyAgICBzLnRvdGFsX3RpbWUKKyAgIEZST00gKHBnX2NsYXNz IGMKKyAgICAgSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3Bh Y2UpKSksCisgICAgTEFURVJBTCBwZ19zdGF0X2dldF92YWN1dW1fdGFibGVzKGMub2lkKSBz KHJlbGlkLCB0b3RhbF9ibGtzX3JlYWQsIHRvdGFsX2Jsa3NfaGl0LCB0b3RhbF9ibGtzX2Rp cnRpZWQsIHRvdGFsX2Jsa3Nfd3JpdHRlbiwgcmVsX2Jsa3NfcmVhZCwgcmVsX2Jsa3NfaGl0 LCBwYWdlc19zY2FubmVkLCBwYWdlc19yZW1vdmVkLCB2bV9uZXdfZnJvemVuX3BhZ2VzLCB2 bV9uZXdfdmlzaWJsZV9wYWdlcywgdm1fbmV3X3Zpc2libGVfZnJvemVuX3BhZ2VzLCBtaXNz ZWRfZGVhZF9wYWdlcywgdHVwbGVzX2RlbGV0ZWQsIHR1cGxlc19mcm96ZW4sIHJlY2VudGx5 X2RlYWRfdHVwbGVzLCBtaXNzZWRfZGVhZF90dXBsZXMsIHdyYXBhcm91bmRfZmFpbHNhZmUs IGluZGV4X3ZhY3V1bV9jb3VudCwgd2FsX3JlY29yZHMsIHdhbF9mcGksIHdhbF9ieXRlcywg YmxrX3JlYWRfdGltZSwgYmxrX3dyaXRlX3RpbWUsIGRlbGF5X3RpbWUsIHRvdGFsX3RpbWUp CisgIFdIRVJFIChjLnJlbGtpbmQgPSBBTlkgKEFSUkFZWydyJzo6ImNoYXIiLCAndCc6OiJj aGFyIiwgJ20nOjoiY2hhciJdKSk7CiBwZ19zdGF0X3dhbHwgU0VMRUNUIHdhbF9yZWNvcmRz LAogICAgIHdhbF9mcGksCiAgICAgd2FsX2J5dGVzLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC92YWN1dW1faW5kZXhfc3RhdGlzdGljcy5vdXQgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLm91dAppbmRleCA5 ZTVkMzMzNDJjOS4uNDY1NGE1MzZhZDYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Mub3V0CkBAIC0zMCw5ICsz MCw5IEBAIFZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdFX0xJTUlUIDEyOCkgdmVz dGF0OwogLS0gTXVzdCBiZSBlbXB0eS4KIFNFTEVDVCAqCiBGUk9NIHBnX3N0YXRfdmFjdXVt X2luZGV4ZXMgdnQKLVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0JzsKLSByZWxpZCB8IHNj aGVtYW5hbWUgfCByZWxuYW1lIHwgdG90YWxfYmxrc19yZWFkIHwgdG90YWxfYmxrc19oaXQg fCB0b3RhbF9ibGtzX2RpcnRpZWQgfCB0b3RhbF9ibGtzX3dyaXR0ZW4gfCByZWxfYmxrc19y ZWFkIHwgcmVsX2Jsa3NfaGl0IHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIHwg d2FsX3JlY29yZHMgfCB3YWxfZnBpIHwgd2FsX2J5dGVzIHwgYmxrX3JlYWRfdGltZSB8IGJs a193cml0ZV90aW1lIHwgZGVsYXlfdGltZSB8IHRvdGFsX3RpbWUgCi0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorV0hFUkUgdnQuaW5kZXhy ZWxuYW1lID0gJ3Zlc3RhdCc7CisgcmVsaWQgfCBpbmRleHJlbGlkIHwgc2NoZW1hbmFtZSB8 IHJlbG5hbWUgfCBpbmRleHJlbG5hbWUgfCB0b3RhbF9ibGtzX3JlYWQgfCB0b3RhbF9ibGtz X2hpdCB8IHRvdGFsX2Jsa3NfZGlydGllZCB8IHRvdGFsX2Jsa3Nfd3JpdHRlbiB8IHJlbF9i bGtzX3JlYWQgfCByZWxfYmxrc19oaXQgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0 ZWQgfCB3YWxfcmVjb3JkcyB8IHdhbF9mcGkgfCB3YWxfYnl0ZXMgfCBibGtfcmVhZF90aW1l IHwgYmxrX3dyaXRlX3RpbWUgfCBkZWxheV90aW1lIHwgdG90YWxfdGltZSAKKy0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQogKDAgcm93cykKIAogUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRp c3RpY3M7CkBAIC01NSwxMiArNTUsMTIgQEAgQU5BTFlaRSB2ZXN0YXQ7CiBTRUxFQ1Qgb2lk IEFTIGlvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBc Z3NldAogREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0gMDsKIC0tIEJlZm9yZSB0 aGUgZmlyc3QgdmFjdXVtIGV4ZWN1dGlvbiBleHRlbmRlZCBzdGF0cyB2aWV3IGlzIGVtcHR5 LgotU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFnZXMscGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVs ZXRlZAorU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcyxwYWdlc19kZWxldGVkLHR1 cGxlc19kZWxldGVkCiBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNz IGMKLVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMu b2lkOwotICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVz X2RlbGV0ZWQgCi0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0KLSB2ZXN0YXRfcGtleSB8ICAgICAgIDMwIHwgICAgICAgICAgICAg MCB8ICAgICAgICAgICAgICAwCitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3Br ZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQ7CisgaW5kZXhyZWxuYW1lIHwgcmVscGFn ZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3Br ZXkgIHwgICAgICAgMzAgfCAgICAgICAgICAgICAwIHwgICAgICAgICAgICAgIDAKICgxIHJv dykKIAogU0VMRUNUIHJlbHBhZ2VzIEFTIGlycApAQCAtNzIsMjIgKzcyLDIyIEBAIENIRUNL UE9JTlQ7CiAtLSBUaGUgdGFibGUgYW5kIGluZGV4IGV4dGVuZGVkIHZhY3V1bSBzdGF0aXN0 aWNzIHNob3VsZCBzaG93IHVzIHRoYXQKIC0tIHZhY3V1bSBmcm96ZWQgcGFnZXMgYW5kIGNs ZWFuIHVwIHBhZ2VzLCBidXQgcGFnZXNfcmVtb3ZlZCBzdGF5ZWQgdGhlIHNhbWUKIC0tIGJl Y2F1c2Ugb2Ygbm90IGZ1bGwgdGFibGUgaGF2ZSBjbGVhbmVkIHVwCi1TRUxFQ1QgdnQucmVs bmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkID0gMCBB UyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkID4gMCBBUyB0dXBsZXNfZGVsZXRlZAor U0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxw YWdlc19kZWxldGVkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkID4gMCBB UyB0dXBsZXNfZGVsZXRlZAogRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0LCBwZ19j bGFzcyBjCi1XSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQucmVsaWQg PSBjLm9pZDsKLSAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVsZXRlZCB8IHR1 cGxlc19kZWxldGVkIAotLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tCi0gdmVzdGF0X3BrZXkgfCB0ICAgICAgICB8IHQgICAgICAg ICAgICAgfCB0CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2 dC5pbmRleHJlbGlkID0gYy5vaWQ7CisgaW5kZXhyZWxuYW1lIHwgcmVscGFnZXMgfCBwYWdl c19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3BrZXkgIHwgdCAg ICAgICAgfCB0ICAgICAgICAgICAgIHwgdAogKDEgcm93KQogCi1TRUxFQ1QgdnQucmVsbmFt ZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQg QVMgaXRkCitTRUxFQ1QgdnQuaW5kZXhyZWxuYW1lLHJlbHBhZ2VzIEFTIGlycCxwYWdlc19k ZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKIEZST00gcGdfc3RhdF92YWN1 dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYwotV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRf cGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKK1dIRVJFIHZ0LmluZGV4cmVsbmFt ZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LmluZGV4cmVsaWQgPSBjLm9pZCBcZ3NldAogLS0g U3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCi1TRUxFQ1Qgd2FsX3JlY29yZHMg QVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00gcGdfc3RhdF92 YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorU0VM RUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9mcGkgQVMgaWZw aSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhyZWxuYW1lID0gJ3Zl c3RhdF9wa2V5JyBcZ3NldAogLS0gTG9vayBpbnRvIFdBTCByZWNvcmRzIGRlbHRhcy4KIFNF TEVDVCB3YWxfcmVjb3JkcyA+IDAgQVMgZGlXUiwgd2FsX2J5dGVzID4gMCBBUyBkaVdCCi1G Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtl eSc7CitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhyZWxuYW1lID0g J3Zlc3RhdF9wa2V5JzsKICBkaXdyIHwgZGl3YiAKIC0tLS0tLSstLS0tLS0KICB0ICAgIHwg dApAQCAtOTgsMjAgKzk4LDIwIEBAIFZBQ1VVTSAoUEFSQUxMRUwgMCwgQlVGRkVSX1VTQUdF X0xJTUlUIDEyOCwgSU5ERVhfQ0xFQU5VUCBPTikgdmVzdGF0OwogLS0gaXQgaXMgbmVjZXNz YXJ5IHRvIGNoZWNrIHRoZSB3YWwgc3RhdGlzdGljcwogQ0hFQ0tQT0lOVDsKIC0tIHBhZ2Vz X3JlbW92ZWQgbXVzdCBiZSBpbmNyZWFzZWQKLVNFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2Vz LTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA+IDAgQVMgcGFnZXNf ZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID4gMCBBUyB0dXBsZXNfZGVsZXRlZAorU0VM RUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdl c19kZWxldGVkLTppcGQgPiAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0 ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyB2 dCwgcGdfY2xhc3MgYwotV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0 LnJlbGlkID0gYy5vaWQ7Ci0gICByZWxuYW1lICAgfCByZWxwYWdlcyB8IHBhZ2VzX2RlbGV0 ZWQgfCB0dXBsZXNfZGVsZXRlZCAKLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQotIHZlc3RhdF9wa2V5IHwgdCAgICAgICAgfCB0 ICAgICAgICAgICAgIHwgdAorV0hFUkUgdnQuaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBBTkQgdnQuaW5kZXhyZWxpZCA9IGMub2lkOworIGluZGV4cmVsbmFtZSB8IHJlbHBhZ2Vz IHwgcGFnZXNfZGVsZXRlZCB8IHR1cGxlc19kZWxldGVkIAorLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHZlc3RhdF9wa2V5 ICB8IHQgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKICgxIHJvdykKIAotU0VMRUNUIHZ0 LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19k ZWxldGVkIEFTIGl0ZAorU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAs cGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCiBGUk9NIHBnX3N0 YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5hbWUgPSAn dmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CitXSEVSRSB2dC5pbmRl eHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQgXGdz ZXQKIC0tIFN0b3JlIFdBTCBhZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwogU0VMRUNUIHdhbF9y ZWNvcmRzLTppd3IgQVMgZGl3ciwgd2FsX2J5dGVzLTppd2IgQVMgZGl3Yiwgd2FsX2ZwaS06 aWZwaSBBUyBkaWZwaQotRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5h bWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMg V0hFUkUgaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogLS0gV0FMIGFkdmFu Y2Ugc2hvdWxkIGJlIGRldGVjdGVkLgogU0VMRUNUIDpkaXdyID4gMCBBUyBkaVdSLCA6ZGl3 YiA+IDAgQVMgZGlXQjsKICBkaXdyIHwgZGl3YiAKQEAgLTEyMCw3ICsxMjAsNyBAQCBTRUxF Q1QgOmRpd3IgPiAwIEFTIGRpV1IsIDpkaXdiID4gMCBBUyBkaVdCOwogKDEgcm93KQogCiAt LSBTdG9yZSBXQUwgYWR2YW5jZXMgaW50byB2YXJpYWJsZXMKLVNFTEVDVCB3YWxfcmVjb3Jk cyBBUyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0 X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CitT RUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBp ZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSBpbmRleHJlbG5hbWUgPSAn dmVzdGF0X3BrZXknIFxnc2V0CiBJTlNFUlQgSU5UTyB2ZXN0YXQgU0VMRUNUIHggRlJPTSBn ZW5lcmF0ZV9zZXJpZXMoMSw6c2FtcGxlX3NpemUpIGFzIHg7CiBERUxFVEUgRlJPTSB2ZXN0 YXQgV0hFUkUgeCAlIDIgPSAwOwogLS0gVkFDVVVNIEZVTEwgZG9lc24ndCByZXBvcnQgdG8g c3RhdCBjb2xsZWN0b3IuIFNvLCBubyBhbnkgYWR2YW5jZW1lbnRzIG9mIHN0YXRpc3RpY3MK QEAgLTEzMCw3ICsxMzAsNyBAQCBWQUNVVU0gRlVMTCB2ZXN0YXQ7CiBDSEVDS1BPSU5UOwog LS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCiBTRUxFQ1Qgd2FsX3JlY29y ZHMtOml3ciBBUyBkaXdyMiwgd2FsX2J5dGVzLTppd2IgQVMgZGl3YjIsIHdhbF9mcGktOmlm cGkgQVMgZGlmcGkyCi1GUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgcmVsbmFt ZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBX SEVSRSBpbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0CiAtLSBXQUwgYW5kIG90 aGVyIHN0YXRpc3RpY3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgogU0VMRUNU IDpkaXdyMj0wIEFTIGRpV1IsIDpkaWZwaTI9MCBBUyBpRlBJLCA6ZGl3YjI9MCBBUyBkaVdC OwogIGRpd3IgfCBpZnBpIHwgZGl3YiAKQEAgLTEzOCwxOSArMTM4LDE5IEBAIFNFTEVDVCA6 ZGl3cjI9MCBBUyBkaVdSLCA6ZGlmcGkyPTAgQVMgaUZQSSwgOmRpd2IyPTAgQVMgZGlXQjsK ICB0ICAgIHwgdCAgICB8IHQKICgxIHJvdykKIAotU0VMRUNUIHZ0LnJlbG5hbWUscmVscGFn ZXMtOmlycCA8IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdl c19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCitT RUxFQ1QgdnQuaW5kZXhyZWxuYW1lLHJlbHBhZ2VzLTppcnAgPCAwIEFTIHJlbHBhZ2VzLHBh Z2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMgcGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06 aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRlZAogRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVz IHZ0LCBwZ19jbGFzcyBjCi1XSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQg dnQucmVsaWQgPSBjLm9pZDsKLSAgIHJlbG5hbWUgICB8IHJlbHBhZ2VzIHwgcGFnZXNfZGVs ZXRlZCB8IHR1cGxlc19kZWxldGVkIAotLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCi0gdmVzdGF0X3BrZXkgfCB0ICAgICAgICB8 IHQgICAgICAgICAgICAgfCB0CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3Br ZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQ7CisgaW5kZXhyZWxuYW1lIHwgcmVscGFn ZXMgfCBwYWdlc19kZWxldGVkIHwgdHVwbGVzX2RlbGV0ZWQgCistLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdmVzdGF0X3Br ZXkgIHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdAogKDEgcm93KQogCi1TRUxFQ1Qg dnQucmVsbmFtZSxyZWxwYWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVz X2RlbGV0ZWQgQVMgaXRkCitTRUxFQ1QgdnQuaW5kZXhyZWxuYW1lLHJlbHBhZ2VzIEFTIGly cCxwYWdlc19kZWxldGVkIEFTIGlwZCx0dXBsZXNfZGVsZXRlZCBBUyBpdGQKIEZST00gcGdf c3RhdF92YWN1dW1faW5kZXhlcyB2dCwgcGdfY2xhc3MgYwotV0hFUkUgdnQucmVsbmFtZSA9 ICd2ZXN0YXRfcGtleScgQU5EIHZ0LnJlbGlkID0gYy5vaWQgXGdzZXQKK1dIRVJFIHZ0Lmlu ZGV4cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgQU5EIHZ0LmluZGV4cmVsaWQgPSBjLm9pZCBc Z3NldAogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCi1TRUxFQ1Qgd2Fs X3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZST00g cGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBc Z3NldAorU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdhbF9m cGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhyZWxu YW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogREVMRVRFIEZST00gdmVzdGF0OwogVFJVTkNB VEUgdmVzdGF0OwogVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4 LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CkBAIC0xNTgsNyArMTU4LDcgQEAgVkFDVVVN IChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9O KSB2ZXN0YXQ7CiBDSEVDS1BPSU5UOwogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFy aWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0dXBsZXMgZnJvbSB0aGUgdGFibGUKIFNFTEVD VCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3IzLCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiMywg d2FsX2ZwaS06aWZwaSBBUyBkaWZwaTMKLUZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBX SEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAorRlJPTSBwZ19zdGF0X3ZhY3V1 bV9pbmRleGVzIFdIRVJFIGluZGV4cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKIC0t VGhlcmUgYXJlIG5vdGhpbmcgY2hhbmdlZAogU0VMRUNUIDpkaXdyMz0wIEFTIGRpV1IsIDpk aWZwaTM9MCBBUyBpRlBJLCA6ZGl3YjM9MCBBUyBkaVdCOwogIGRpd3IgfCBpZnBpIHwgZGl3 YiAKQEAgLTE3MSwxMiArMTcxLDEyIEBAIFNFTEVDVCA6ZGl3cjM9MCBBUyBkaVdSLCA6ZGlm cGkzPTAgQVMgaUZQSSwgOmRpd2IzPTAgQVMgZGlXQjsKIC0tIGluIHZhY3V1bSBleHRlbmRl ZCBzdGF0aXN0aWNzLgogLS0gVGhlIHBhZ2VzX2Zyb3plbiwgcGFnZXNfc2Nhbm5lZCB2YWx1 ZXMgc2hvdWxkbid0IGJlIGNoYW5nZWQKIC0tCi1TRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdl cy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2Vz X2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK1NF TEVDVCB2dC5pbmRleHJlbG5hbWUscmVscGFnZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFn ZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVkLHR1cGxlc19kZWxldGVkLTpp dGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCiBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMg dnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2 dC5yZWxpZCA9IGMub2lkOwotICAgcmVsbmFtZSAgIHwgcmVscGFnZXMgfCBwYWdlc19kZWxl dGVkIHwgdHVwbGVzX2RlbGV0ZWQgCi0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KLSB2ZXN0YXRfcGtleSB8IGYgICAgICAgIHwg dCAgICAgICAgICAgICB8IHQKK1dIRVJFIHZ0LmluZGV4cmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgQU5EIHZ0LmluZGV4cmVsaWQgPSBjLm9pZDsKKyBpbmRleHJlbG5hbWUgfCByZWxwYWdl cyB8IHBhZ2VzX2RlbGV0ZWQgfCB0dXBsZXNfZGVsZXRlZCAKKy0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB2ZXN0YXRfcGtl eSAgfCBmICAgICAgICB8IHQgICAgICAgICAgICAgfCB0CiAoMSByb3cpCiAKIERST1AgVEFC TEUgdmVzdGF0OwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2lu ZGV4X3N0YXRpc3RpY3Muc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4 X3N0YXRpc3RpY3Muc3FsCmluZGV4IDliN2U2NDUxODdkLi41N2U1NDIwYjliNiAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtX2luZGV4X3N0YXRpc3RpY3Muc3Fs CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bV9pbmRleF9zdGF0aXN0aWNzLnNx bApAQCAtMjcsNyArMjcsNyBAQCBWQUNVVU0gKFBBUkFMTEVMIDAsIEJVRkZFUl9VU0FHRV9M SU1JVCAxMjgpIHZlc3RhdDsKIC0tIE11c3QgYmUgZW1wdHkuCiBTRUxFQ1QgKgogRlJPTSBw Z19zdGF0X3ZhY3V1bV9pbmRleGVzIHZ0Ci1XSEVSRSB2dC5yZWxuYW1lID0gJ3Zlc3RhdCc7 CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0JzsKIAogUkVTRVQgdHJhY2tfdmFj dXVtX3N0YXRpc3RpY3M7CiBEUk9QIFRBQkxFIHZlc3RhdCBDQVNDQURFOwpAQCAtNDksOSAr NDksOSBAQCBTRUxFQ1Qgb2lkIEFTIGlvaWQgZnJvbSBwZ19jbGFzcyB3aGVyZSByZWxuYW1l ID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogCiBERUxFVEUgRlJPTSB2ZXN0YXQgV0hFUkUgeCAl IDIgPSAwOwogLS0gQmVmb3JlIHRoZSBmaXJzdCB2YWN1dW0gZXhlY3V0aW9uIGV4dGVuZGVk IHN0YXRzIHZpZXcgaXMgZW1wdHkuCi1TRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcyxwYWdl c19kZWxldGVkLHR1cGxlc19kZWxldGVkCitTRUxFQ1QgdnQuaW5kZXhyZWxuYW1lLHJlbHBh Z2VzLHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQKIEZST00gcGdfc3RhdF92YWN1dW1f aW5kZXhlcyB2dCwgcGdfY2xhc3MgYwotV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtl eScgQU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVz dGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQ7CiBTRUxFQ1QgcmVscGFnZXMg QVMgaXJwCiBGUk9NIHBnX2NsYXNzIGMKIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3BrZXkn IFxnc2V0CkBAIC02MywxOSArNjMsMTkgQEAgQ0hFQ0tQT0lOVDsKIC0tIFRoZSB0YWJsZSBh bmQgaW5kZXggZXh0ZW5kZWQgdmFjdXVtIHN0YXRpc3RpY3Mgc2hvdWxkIHNob3cgdXMgdGhh dAogLS0gdmFjdXVtIGZyb3plZCBwYWdlcyBhbmQgY2xlYW4gdXAgcGFnZXMsIGJ1dCBwYWdl c19yZW1vdmVkIHN0YXllZCB0aGUgc2FtZQogLS0gYmVjYXVzZSBvZiBub3QgZnVsbCB0YWJs ZSBoYXZlIGNsZWFuZWQgdXAKLVNFTEVDVCB2dC5yZWxuYW1lLHJlbHBhZ2VzLTppcnAgPSAw IEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVz X2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkCitTRUxFQ1QgdnQuaW5kZXhyZWxuYW1l LHJlbHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQgPSAwIEFTIHBh Z2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQgPiAwIEFTIHR1cGxlc19kZWxldGVkCiBGUk9N IHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5h bWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwotU0VMRUNUIHZ0LnJl bG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxl dGVkIEFTIGl0ZAorV0hFUkUgdnQuaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQg dnQuaW5kZXhyZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdl cyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCiBG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CitXSEVS RSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0g Yy5vaWQgXGdzZXQKIAogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCi1T RUxFQ1Qgd2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBp ZnBpIEZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3Rh dF9wa2V5JyBcZ3NldAorU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMg aXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUg aW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogCiAtLSBMb29rIGludG8gV0FM IHJlY29yZHMgZGVsdGFzLgogU0VMRUNUIHdhbF9yZWNvcmRzID4gMCBBUyBkaVdSLCB3YWxf Ynl0ZXMgPiAwIEFTIGRpV0IKLUZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSBy ZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JzsKK0ZST00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBX SEVSRSBpbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknOwogCiBERUxFVEUgRlJPTSB2ZXN0 YXQ7OwogVkFDVVVNIChQQVJBTExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRF WF9DTEVBTlVQIE9OKSB2ZXN0YXQ7CkBAIC04MywyMiArODMsMjIgQEAgVkFDVVVNIChQQVJB TExFTCAwLCBCVUZGRVJfVVNBR0VfTElNSVQgMTI4LCBJTkRFWF9DTEVBTlVQIE9OKSB2ZXN0 YXQ7CiBDSEVDS1BPSU5UOwogCiAtLSBwYWdlc19yZW1vdmVkIG11c3QgYmUgaW5jcmVhc2Vk Ci1TRUxFQ1QgdnQucmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdlcyxwYWdl c19kZWxldGVkLTppcGQgPiAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0 ZCA+IDAgQVMgdHVwbGVzX2RlbGV0ZWQKK1NFTEVDVCB2dC5pbmRleHJlbG5hbWUscmVscGFn ZXMtOmlycCA9IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID4gMCBBUyBwYWdl c19kZWxldGVkLHR1cGxlc19kZWxldGVkLTppdGQgPiAwIEFTIHR1cGxlc19kZWxldGVkCiBG Uk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJl bG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwotU0VMRUNUIHZ0 LnJlbG5hbWUscmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19k ZWxldGVkIEFTIGl0ZAorV0hFUkUgdnQuaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBB TkQgdnQuaW5kZXhyZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxw YWdlcyBBUyBpcnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRk CiBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0 LnJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CitX SEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlk ID0gYy5vaWQgXGdzZXQKIAogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVz CiBTRUxFQ1Qgd2FsX3JlY29yZHMtOml3ciBBUyBkaXdyLCB3YWxfYnl0ZXMtOml3YiBBUyBk aXdiLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpCi1GUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4 ZXMgV0hFUkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKK0ZST00gcGdfc3RhdF92 YWN1dW1faW5kZXhlcyBXSEVSRSBpbmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIFxnc2V0 CiAKIC0tIFdBTCBhZHZhbmNlIHNob3VsZCBiZSBkZXRlY3RlZC4KIFNFTEVDVCA6ZGl3ciA+ IDAgQVMgZGlXUiwgOmRpd2IgPiAwIEFTIGRpV0I7CiAKIC0tIFN0b3JlIFdBTCBhZHZhbmNl cyBpbnRvIHZhcmlhYmxlcwotU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMg QVMgaXdiLHdhbF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hF UkUgcmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKK1NFTEVDVCB3YWxfcmVjb3JkcyBB UyBpd3Isd2FsX2J5dGVzIEFTIGl3Yix3YWxfZnBpIEFTIGlmcGkgRlJPTSBwZ19zdGF0X3Zh Y3V1bV9pbmRleGVzIFdIRVJFIGluZGV4cmVsbmFtZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQK IAogSU5TRVJUIElOVE8gdmVzdGF0IFNFTEVDVCB4IEZST00gZ2VuZXJhdGVfc2VyaWVzKDEs OnNhbXBsZV9zaXplKSBhcyB4OwogREVMRVRFIEZST00gdmVzdGF0IFdIRVJFIHggJSAyID0g MDsKQEAgLTExMCwyMCArMTEwLDIwIEBAIENIRUNLUE9JTlQ7CiAKIC0tIFN0b3JlIFdBTCBh ZHZhbmNlcyBpbnRvIHZhcmlhYmxlcwogU0VMRUNUIHdhbF9yZWNvcmRzLTppd3IgQVMgZGl3 cjIsIHdhbF9ieXRlcy06aXdiIEFTIGRpd2IyLCB3YWxfZnBpLTppZnBpIEFTIGRpZnBpMgot RlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIHJlbG5hbWUgPSAndmVzdGF0X3Br ZXknIFxnc2V0CitGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhyZWxu YW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogCiAtLSBXQUwgYW5kIG90aGVyIHN0YXRpc3Rp Y3MgYWR2YW5jZSBzaG91bGQgbm90IGJlIGRldGVjdGVkLgogU0VMRUNUIDpkaXdyMj0wIEFT IGRpV1IsIDpkaWZwaTI9MCBBUyBpRlBJLCA6ZGl3YjI9MCBBUyBkaVdCOwogCi1TRUxFQ1Qg dnQucmVsbmFtZSxyZWxwYWdlcy06aXJwIDwgMCBBUyByZWxwYWdlcyxwYWdlc19kZWxldGVk LTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0ZWQtOml0ZCA9IDAgQVMg dHVwbGVzX2RlbGV0ZWQKK1NFTEVDVCB2dC5pbmRleHJlbG5hbWUscmVscGFnZXMtOmlycCA8 IDAgQVMgcmVscGFnZXMscGFnZXNfZGVsZXRlZC06aXBkID0gMCBBUyBwYWdlc19kZWxldGVk LHR1cGxlc19kZWxldGVkLTppdGQgPSAwIEFTIHR1cGxlc19kZWxldGVkCiBGUk9NIHBnX3N0 YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5hbWUgPSAn dmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkOwotU0VMRUNUIHZ0LnJlbG5hbWUs cmVscGFnZXMgQVMgaXJwLHBhZ2VzX2RlbGV0ZWQgQVMgaXBkLHR1cGxlc19kZWxldGVkIEFT IGl0ZAorV0hFUkUgdnQuaW5kZXhyZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBBTkQgdnQuaW5k ZXhyZWxpZCA9IGMub2lkOworU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcyBBUyBp cnAscGFnZXNfZGVsZXRlZCBBUyBpcGQsdHVwbGVzX2RlbGV0ZWQgQVMgaXRkCiBGUk9NIHBn X3N0YXRfdmFjdXVtX2luZGV4ZXMgdnQsIHBnX2NsYXNzIGMKLVdIRVJFIHZ0LnJlbG5hbWUg PSAndmVzdGF0X3BrZXknIEFORCB2dC5yZWxpZCA9IGMub2lkIFxnc2V0CitXSEVSRSB2dC5p bmRleHJlbG5hbWUgPSAndmVzdGF0X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQg XGdzZXQKIAogLS0gU3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzCi1TRUxFQ1Qg d2FsX3JlY29yZHMgQVMgaXdyLHdhbF9ieXRlcyBBUyBpd2Isd2FsX2ZwaSBBUyBpZnBpIEZS T00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBcZ3NldAorU0VMRUNUIHdhbF9yZWNvcmRzIEFTIGl3cix3YWxfYnl0ZXMgQVMgaXdiLHdh bF9mcGkgQVMgaWZwaSBGUk9NIHBnX3N0YXRfdmFjdXVtX2luZGV4ZXMgV0hFUkUgaW5kZXhy ZWxuYW1lID0gJ3Zlc3RhdF9wa2V5JyBcZ3NldAogCiBERUxFVEUgRlJPTSB2ZXN0YXQ7CiBU UlVOQ0FURSB2ZXN0YXQ7CkBAIC0xMzMsNyArMTMzLDcgQEAgQ0hFQ0tQT0lOVDsKIAogLS0g U3RvcmUgV0FMIGFkdmFuY2VzIGludG8gdmFyaWFibGVzIGFmdGVyIHJlbW92aW5nIGFsbCB0 dXBsZXMgZnJvbSB0aGUgdGFibGUKIFNFTEVDVCB3YWxfcmVjb3Jkcy06aXdyIEFTIGRpd3Iz LCB3YWxfYnl0ZXMtOml3YiBBUyBkaXdiMywgd2FsX2ZwaS06aWZwaSBBUyBkaWZwaTMKLUZS T00gcGdfc3RhdF92YWN1dW1faW5kZXhlcyBXSEVSRSByZWxuYW1lID0gJ3Zlc3RhdF9wa2V5 JyBcZ3NldAorRlJPTSBwZ19zdGF0X3ZhY3V1bV9pbmRleGVzIFdIRVJFIGluZGV4cmVsbmFt ZSA9ICd2ZXN0YXRfcGtleScgXGdzZXQKIAogLS1UaGVyZSBhcmUgbm90aGluZyBjaGFuZ2Vk CiBTRUxFQ1QgOmRpd3IzPTAgQVMgZGlXUiwgOmRpZnBpMz0wIEFTIGlGUEksIDpkaXdiMz0w IEFTIGRpV0I7CkBAIC0xNDMsOSArMTQzLDkgQEAgU0VMRUNUIDpkaXdyMz0wIEFTIGRpV1Is IDpkaWZwaTM9MCBBUyBpRlBJLCA6ZGl3YjM9MCBBUyBkaVdCOwogLS0gaW4gdmFjdXVtIGV4 dGVuZGVkIHN0YXRpc3RpY3MuCiAtLSBUaGUgcGFnZXNfZnJvemVuLCBwYWdlc19zY2FubmVk IHZhbHVlcyBzaG91bGRuJ3QgYmUgY2hhbmdlZAogLS0KLVNFTEVDVCB2dC5yZWxuYW1lLHJl bHBhZ2VzLTppcnAgPSAwIEFTIHJlbHBhZ2VzLHBhZ2VzX2RlbGV0ZWQtOmlwZCA9IDAgQVMg cGFnZXNfZGVsZXRlZCx0dXBsZXNfZGVsZXRlZC06aXRkID0gMCBBUyB0dXBsZXNfZGVsZXRl ZAorU0VMRUNUIHZ0LmluZGV4cmVsbmFtZSxyZWxwYWdlcy06aXJwID0gMCBBUyByZWxwYWdl cyxwYWdlc19kZWxldGVkLTppcGQgPSAwIEFTIHBhZ2VzX2RlbGV0ZWQsdHVwbGVzX2RlbGV0 ZWQtOml0ZCA9IDAgQVMgdHVwbGVzX2RlbGV0ZWQKIEZST00gcGdfc3RhdF92YWN1dW1faW5k ZXhlcyB2dCwgcGdfY2xhc3MgYwotV0hFUkUgdnQucmVsbmFtZSA9ICd2ZXN0YXRfcGtleScg QU5EIHZ0LnJlbGlkID0gYy5vaWQ7CitXSEVSRSB2dC5pbmRleHJlbG5hbWUgPSAndmVzdGF0 X3BrZXknIEFORCB2dC5pbmRleHJlbGlkID0gYy5vaWQ7CiAKIERST1AgVEFCTEUgdmVzdGF0 OwogUkVTRVQgdHJhY2tfdmFjdXVtX3N0YXRpc3RpY3M7Ci0tIAoyLjM0LjEKCg== --------------0PfjJh6R8CncLnHAydjM2Cj3 Content-Type: text/x-patch; charset=UTF-8; name="v25-0005-Add-documentation-about-the-system-views-that-are-us.patch" Content-Disposition: attachment; filename*0="v25-0005-Add-documentation-about-the-system-views-that-are-u"; filename*1="s.patch" Content-Transfer-Encoding: base64 RnJvbSA0ZjkzNzM1MGU2ZjU3MGU5YTU3NmFiZGJjNzY5OGIzNTBmNGQwMjg4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVuYSBSeWJha2luYSA8YS5yeWJha2luYUBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogVGh1LCAxOSBEZWMgMjAyNCAxMjo1Nzo0OSArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggNS81XSBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGUgc3lzdGVtIHZp ZXdzIHRoYXQgYXJlIHVzZWQgaW4KIHRoZSBtYWNoaW5lcnkgb2YgdmFjdXVtIHN0YXRpc3Rp Y3MuCgotLS0KIGRvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCB8IDc1NSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3NTUgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbCBi L2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAppbmRleCA0MTg3MTkxZWE3NC4uMTgz ZmIwYmZjZTMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeXN0ZW0tdmlld3Muc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvc3lzdGVtLXZpZXdzLnNnbWwKQEAgLTU1NDUsNCArNTU0NSw3 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 --------------0PfjJh6R8CncLnHAydjM2Cj3--