Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p2dMw-0004f1-5U for pgsql-hackers@arkaria.postgresql.org; Tue, 06 Dec 2022 19:12:42 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1p2dMu-0005JJ-6g for pgsql-hackers@arkaria.postgresql.org; Tue, 06 Dec 2022 19:12:40 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p2dMt-0005I7-6z for pgsql-hackers@lists.postgresql.org; Tue, 06 Dec 2022 19:12:39 +0000 Received: from mail-pj1-x102e.google.com ([2607:f8b0:4864:20::102e]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1p2dMk-0000Yv-JH for pgsql-hackers@lists.postgresql.org; Tue, 06 Dec 2022 19:12:38 +0000 Received: by mail-pj1-x102e.google.com with SMTP id u5so5998387pjy.5 for ; Tue, 06 Dec 2022 11:12:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=gtKBaRZ3lvygl2IAQMm17UncQpCYtbDSvwi3tfusL1A=; b=MoU06hxXDmMAEqhzO79E+1PSiP6gg2MT6bn3EfWCgyPBNdY79Lid006cpsuVIh9euh kOCrwzfpDZUxrRFDEt4U51Z0PLnT6PJ/D0kLtTb3ltZVvWAZquZtF7GMKsweHPDJI6nX RRVU+7KKb9Mg1myfQlDw4QgUBqSHdQwyovHLa2NFEkIa1AAitYcMMwoXSfHW+idLmdCL E/xv3g+vm+EQeV7HnaFtiYp/A7ng5ngGvGYrq0UmlIK5m8TQ1jkQ+Qp5SO4tGHlBxCEN RJZ/Iarr496FO3D1hxa1roIdCPIqA9ICQblToxyBtTpRuKWoPNTn+g+FQObzmZ0LS5t0 dAag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=gtKBaRZ3lvygl2IAQMm17UncQpCYtbDSvwi3tfusL1A=; b=6ePVIYgoWia54hV2MReHvAlxSwxYt6dumYTdlECvwyNwX98XG4EgpInIG3ShyByoFE wTUjn2awkCuSRRfruU+Q/kpmlc7ifQctEBwxiEPImDbhOXGnB7b9yfD8JN7wcE2hEE4F SP0y7x93eHct/tQOM3IdDkgV/31uMw1smIlkSsyIOMWqdmBg0c3UToDWiQopNlVe9Bfp 9e7u8DNcjHTd6JdzSNZpamrnzmpGpgY09hgX280iF34RroKWVrMSo7cuuCV/TCi7CvBu WRsz1Yx3maeOAguAXhlvuem3StekKJvHBzHNt2V18YFmbswaSyhqo1u+mPYHWqvXDDau B/Ew== X-Gm-Message-State: ANoB5pmVGlT2+FjsHLNp4iEyUMA71fvE+oKSMOhKJ5Ixo+TkTw/EnpY2 B08PVlQeJho4NeSuxHofIW4= X-Google-Smtp-Source: AA0mqf7RffhZVIKBGXReTWF1iLqZ+Of9mLZY6m3clfs3xJWySN6snpjeck+ilS/5RCZZSbFydltG0A== X-Received: by 2002:a17:902:c992:b0:189:651d:5c9a with SMTP id g18-20020a170902c99200b00189651d5c9amr57612329plc.52.1670353949386; Tue, 06 Dec 2022 11:12:29 -0800 (PST) Received: from [192.168.20.186] ([205.251.233.176]) by smtp.gmail.com with ESMTPSA id z18-20020a170903019200b00177f4ef7970sm13073518plg.11.2022.12.06.11.12.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 06 Dec 2022 11:12:28 -0800 (PST) Content-Type: multipart/mixed; boundary="------------NuvZ0DKzStamcEUxm1QltWmx" Message-ID: Date: Tue, 6 Dec 2022 20:11:08 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Subject: Re: Split index and table statistics into different types of stats Content-Language: en-US From: "Drouvot, Bertrand" To: Bharath Rupireddy Cc: Andres Freund , Melanie Plageman , PostgreSQL Hackers References: <20221101003006.3ehvn2prai26rkrf@awork3.anarazel.de> <4cc5476f-4360-1bed-c60d-2c21adf7db13@gmail.com> <06517d27-7a81-3b60-60c4-9a92c6498981@gmail.com> <8e8713ed-1663-f39b-effc-bd3e1632039a@gmail.com> <20221116201202.3k74ajawyom2c3eq@awork3.anarazel.de> <76dece9f-160a-0210-0396-9146c8e4831a@gmail.com> <20221120231906.aayfz5jpipqd6hoz@awork3.anarazel.de> <06a5ac56-7d9e-ccd8-6566-f076f5139354@gmail.com> <8612273d-8efc-c20a-094f-639fd663c531@gmail.com> In-Reply-To: <8612273d-8efc-c20a-094f-639fd663c531@gmail.com> 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. --------------NuvZ0DKzStamcEUxm1QltWmx Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi, On 11/22/22 8:12 AM, Drouvot, Bertrand wrote: > Hi, > > On 11/22/22 7:19 AM, Bharath Rupireddy wrote: >> On Mon, Nov 21, 2022 at 7:03 PM Drouvot, Bertrand >> wrote: >>> >>> On 11/21/22 12:19 AM, Andres Freund wrote: >>>> >>>> That's better, but still seems like quite a bit of repetition, given the >>>> number of accessors. I think I like my idea of a macro defining the whole >>>> function a bit better. >>>> >>> >>> Got it, what about creating another preparatory commit to first introduce something like: >>> >>> " >>> #define PGSTAT_DEFINE_REL_FIELD_ACCESSOR(function_name_prefix, stat_name) \ >>> Datum \ >>> function_name_prefix##_##stat_name(PG_FUNCTION_ARGS) \ >>> { \ >>> Oid                     relid = PG_GETARG_OID(0); \ >>> int64           result; \ >>> PgStat_StatTabEntry *tabentry; \ >>> if ((tabentry = pgstat_fetch_stat_tabentry(relid)) == NULL) \ >>>          result = 0; \ >>> else \ >>>          result = (int64) (tabentry->stat_name); \ >>> PG_RETURN_INT64(result); \ >>> } \ >>> >>> PGSTAT_DEFINE_REL_FIELD_ACCESSOR(pg_stat_get, numscans); >>> >>> PGSTAT_DEFINE_REL_FIELD_ACCESSOR(pg_stat_get, tuples_returned); >>> . >>> . >>> . >>> " >>> >>> If that makes sense to you, I'll submit this preparatory patch. >> >> I think the macros stitching the function declarations and definitions >> is a great idea to avoid code duplicacy. We seem to be using that >> approach already - PG_FUNCTION_INFO_V1, SH_DECLARE, SH_DEFINE and its >> friends, STEMMER_MODULE and so on. +1 for first applying this >> principle for existing functions. Looking forward to the patch. >> > > Thanks! Patch proposal submitted in [1]. > > I'll resume working on the current thread once [1] is committed. > > [1]: https://www.postgresql.org/message-id/d547a9bc-76c2-f875-df74-3ad6fd9d6236%40gmail.com > As [1] mentioned above has been committed (83a1a1b566), please find attached V5 related to this thread making use of the new macros (namely PG_STAT_GET_RELENTRY_INT64 and PG_STAT_GET_RELENTRY_TIMESTAMPTZ). I switched from using "CppConcat" to using "##", as it looks to me it's easier to read now that we are adding another concatenation to the game (due to the table/index split). The (Tab,tab) or (Ind,ind) passed as arguments to the macros look "weird" (I don't have a better idea yet): purpose is to follow the naming convention for PgStat_StatTabEntry/PgStat_StatIndEntry and pgstat_fetch_stat_tabentry/pgstat_fetch_stat_indentry, thoughts? Looking forward to your feedback, Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------NuvZ0DKzStamcEUxm1QltWmx Content-Type: text/plain; charset=UTF-8; name="v5-0001-split_tables_indexes_stats.patch" Content-Disposition: attachment; filename="v5-0001-split_tables_indexes_stats.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9jb21tb24vcmVsYXRpb24uYyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9jb21tb24vcmVsYXRpb24uYwppbmRleCAzODJhNDJmZjdkLi4y NTliZDA2YWVkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL3JlbGF0 aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2NvbW1vbi9yZWxhdGlvbi5jCkBAIC03 Myw3ICs3MywxMCBAQCByZWxhdGlvbl9vcGVuKE9pZCByZWxhdGlvbklkLCBMT0NLTU9ERSBs b2NrbW9kZSkKIAlpZiAoUmVsYXRpb25Vc2VzTG9jYWxCdWZmZXJzKHIpKQogCQlNeVhhY3RG bGFncyB8PSBYQUNUX0ZMQUdTX0FDQ0VTU0VEVEVNUE5BTUVTUEFDRTsKIAotCXBnc3RhdF9p bml0X3JlbGF0aW9uKHIpOworCWlmIChyLT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9J TkRFWCkKKwkJcGdzdGF0X2luaXRfaW5kZXgocik7CisJZWxzZQorCQlwZ3N0YXRfaW5pdF90 YWJsZShyKTsKIAogCXJldHVybiByOwogfQpAQCAtMTIzLDcgKzEyNiwxMCBAQCB0cnlfcmVs YXRpb25fb3BlbihPaWQgcmVsYXRpb25JZCwgTE9DS01PREUgbG9ja21vZGUpCiAJaWYgKFJl bGF0aW9uVXNlc0xvY2FsQnVmZmVycyhyKSkKIAkJTXlYYWN0RmxhZ3MgfD0gWEFDVF9GTEFH U19BQ0NFU1NFRFRFTVBOQU1FU1BBQ0U7CiAKLQlwZ3N0YXRfaW5pdF9yZWxhdGlvbihyKTsK KwlpZiAoci0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRfSU5ERVgpCisJCXBnc3RhdF9p bml0X2luZGV4KHIpOworCWVsc2UKKwkJcGdzdGF0X2luaXRfdGFibGUocik7CiAKIAlyZXR1 cm4gcjsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9pbmRleC9pbmRleGFt LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaW5kZXgvaW5kZXhhbS5jCmluZGV4IGRjMzAzOTk1 ZTUuLmNlZWJjNzkzMDIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9pbmRleC9p bmRleGFtLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2luZGV4L2luZGV4YW0uYwpAQCAt NTkwLDcgKzU5MCw3IEBAIGluZGV4X2ZldGNoX2hlYXAoSW5kZXhTY2FuRGVzYyBzY2FuLCBU dXBsZVRhYmxlU2xvdCAqc2xvdCkKIAkJCQkJCQkJCSZzY2FuLT54c19oZWFwX2NvbnRpbnVl LCAmYWxsX2RlYWQpOwogCiAJaWYgKGZvdW5kKQotCQlwZ3N0YXRfY291bnRfaGVhcF9mZXRj aChzY2FuLT5pbmRleFJlbGF0aW9uKTsKKwkJcGdzdGF0X2NvdW50X2luZGV4X2ZldGNoKHNj YW4tPmluZGV4UmVsYXRpb24pOwogCiAJLyoKIAkgKiBJZiB3ZSBzY2FubmVkIGEgd2hvbGUg SE9UIGNoYWluIGFuZCBmb3VuZCBvbmx5IGRlYWQgdHVwbGVzLCB0ZWxsIGluZGV4CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYyBiL3NyYy9iYWNrZW5kL2NhdGFs b2cvaGVhcC5jCmluZGV4IGJkZDQxM2YwMWIuLmQ1YjcxZmRkMWUgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVh cC5jCkBAIC00MDQsNyArNDA0LDEwIEBAIGhlYXBfY3JlYXRlKGNvbnN0IGNoYXIgKnJlbG5h bWUsCiAJCQkJCQkJCQkgcmVsdGFibGVzcGFjZSk7CiAKIAkvKiBlbnN1cmUgdGhhdCBzdGF0 cyBhcmUgZHJvcHBlZCBpZiB0cmFuc2FjdGlvbiBhYm9ydHMgKi8KLQlwZ3N0YXRfY3JlYXRl X3JlbGF0aW9uKHJlbCk7CisJaWYgKHJlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRf SU5ERVgpCisJCXBnc3RhdF9jcmVhdGVfaW5kZXgocmVsKTsKKwllbHNlCisJCXBnc3RhdF9j cmVhdGVfdGFibGUocmVsKTsKIAogCXJldHVybiByZWw7CiB9CkBAIC0xODUzLDcgKzE4NTYs NyBAQCBoZWFwX2Ryb3Bfd2l0aF9jYXRhbG9nKE9pZCByZWxpZCkKIAkJUmVsYXRpb25Ecm9w U3RvcmFnZShyZWwpOwogCiAJLyogZW5zdXJlIHRoYXQgc3RhdHMgYXJlIGRyb3BwZWQgaWYg dHJhbnNhY3Rpb24gY29tbWl0cyAqLwotCXBnc3RhdF9kcm9wX3JlbGF0aW9uKHJlbCk7CisJ cGdzdGF0X2Ryb3BfdGFibGUocmVsKTsKIAogCS8qCiAJICogQ2xvc2UgcmVsY2FjaGUgZW50 cnksIGJ1dCAqa2VlcCogQWNjZXNzRXhjbHVzaXZlTG9jayBvbiB0aGUgcmVsYXRpb24KZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvaW5kZXguYyBiL3NyYy9iYWNrZW5kL2Nh dGFsb2cvaW5kZXguYwppbmRleCA2MWYxZDM5MjZhLi4yOGI5NGZlZjdmIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9jYXRhbG9nL2luZGV4LmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxv Zy9pbmRleC5jCkBAIC0xNzUyLDcgKzE3NTIsNyBAQCBpbmRleF9jb25jdXJyZW50bHlfc3dh cChPaWQgbmV3SW5kZXhJZCwgT2lkIG9sZEluZGV4SWQsIGNvbnN0IGNoYXIgKm9sZE5hbWUp CiAJY2hhbmdlRGVwZW5kZW5jaWVzT24oUmVsYXRpb25SZWxhdGlvbklkLCBvbGRJbmRleElk LCBuZXdJbmRleElkKTsKIAogCS8qIGNvcHkgb3ZlciBzdGF0aXN0aWNzIGZyb20gb2xkIHRv IG5ldyBpbmRleCAqLwotCXBnc3RhdF9jb3B5X3JlbGF0aW9uX3N0YXRzKG5ld0NsYXNzUmVs LCBvbGRDbGFzc1JlbCk7CisJcGdzdGF0X2NvcHlfaW5kZXhfc3RhdHMobmV3Q2xhc3NSZWws IG9sZENsYXNzUmVsKTsKIAogCS8qIENvcHkgZGF0YSBvZiBwZ19zdGF0aXN0aWMgZnJvbSB0 aGUgb2xkIGluZGV4IHRvIHRoZSBuZXcgb25lICovCiAJQ29weVN0YXRpc3RpY3Mob2xkSW5k ZXhJZCwgbmV3SW5kZXhJZCk7CkBAIC0yMzI2LDcgKzIzMjYsNyBAQCBpbmRleF9kcm9wKE9p ZCBpbmRleElkLCBib29sIGNvbmN1cnJlbnQsIGJvb2wgY29uY3VycmVudF9sb2NrX21vZGUp CiAJCVJlbGF0aW9uRHJvcFN0b3JhZ2UodXNlckluZGV4UmVsYXRpb24pOwogCiAJLyogZW5z dXJlIHRoYXQgc3RhdHMgYXJlIGRyb3BwZWQgaWYgdHJhbnNhY3Rpb24gY29tbWl0cyAqLwot CXBnc3RhdF9kcm9wX3JlbGF0aW9uKHVzZXJJbmRleFJlbGF0aW9uKTsKKwlwZ3N0YXRfZHJv cF9pbmRleCh1c2VySW5kZXhSZWxhdGlvbik7CiAKIAkvKgogCSAqIENsb3NlIGFuZCBmbHVz aCB0aGUgaW5kZXgncyByZWxjYWNoZSBlbnRyeSwgdG8gZW5zdXJlIHJlbGNhY2hlIGRvZXNu J3QKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBi L3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCAyZDgxMDRiMDkw Li5hNjEyYWU4MWVkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92 aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBA IC02NTUsMjkgKzY1NSwyOSBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X2FsbF90YWJsZXMgQVMK ICAgICAgICAgICAgIEMub2lkIEFTIHJlbGlkLAogICAgICAgICAgICAgTi5uc3BuYW1lIEFT IHNjaGVtYW5hbWUsCiAgICAgICAgICAgICBDLnJlbG5hbWUgQVMgcmVsbmFtZSwKLSAgICAg ICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKEMub2lkKSBBUyBzZXFfc2NhbiwKLSAgICAg ICAgICAgIHBnX3N0YXRfZ2V0X2xhc3RzY2FuKEMub2lkKSBBUyBsYXN0X3NlcV9zY2FuLAot ICAgICAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKEMub2lkKSBBUyBzZXFf dHVwX3JlYWQsCi0gICAgICAgICAgICBzdW0ocGdfc3RhdF9nZXRfbnVtc2NhbnMoSS5pbmRl eHJlbGlkKSk6OmJpZ2ludCBBUyBpZHhfc2NhbiwKLSAgICAgICAgICAgIG1heChwZ19zdGF0 X2dldF9sYXN0c2NhbihJLmluZGV4cmVsaWQpKSBBUyBsYXN0X2lkeF9zY2FuLAotICAgICAg ICAgICAgc3VtKHBnX3N0YXRfZ2V0X3R1cGxlc19mZXRjaGVkKEkuaW5kZXhyZWxpZCkpOjpi aWdpbnQgKwotICAgICAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2ZldGNoZWQoQy5vaWQp IEFTIGlkeF90dXBfZmV0Y2gsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5z ZXJ0ZWQoQy5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3R1 cGxlc191cGRhdGVkKEMub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgICAgICBwZ19zdGF0 X2dldF90dXBsZXNfZGVsZXRlZChDLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICAgICAg cGdfc3RhdF9nZXRfdHVwbGVzX2hvdF91cGRhdGVkKEMub2lkKSBBUyBuX3R1cF9ob3RfdXBk LAotICAgICAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMoQy5vaWQpIEFTIG5fbGl2 ZV90dXAsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyhDLm9pZCkgQVMg bl9kZWFkX3R1cCwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X21vZF9zaW5jZV9hbmFseXpl KEMub2lkKSBBUyBuX21vZF9zaW5jZV9hbmFseXplLAotICAgICAgICAgICAgcGdfc3RhdF9n ZXRfaW5zX3NpbmNlX3ZhY3V1bShDLm9pZCkgQVMgbl9pbnNfc2luY2VfdmFjdXVtLAotICAg ICAgICAgICAgcGdfc3RhdF9nZXRfbGFzdF92YWN1dW1fdGltZShDLm9pZCkgYXMgbGFzdF92 YWN1dW0sCi0gICAgICAgICAgICBwZ19zdGF0X2dldF9sYXN0X2F1dG92YWN1dW1fdGltZShD Lm9pZCkgYXMgbGFzdF9hdXRvdmFjdXVtLAotICAgICAgICAgICAgcGdfc3RhdF9nZXRfbGFz dF9hbmFseXplX3RpbWUoQy5vaWQpIGFzIGxhc3RfYW5hbHl6ZSwKLSAgICAgICAgICAgIHBn X3N0YXRfZ2V0X2xhc3RfYXV0b2FuYWx5emVfdGltZShDLm9pZCkgYXMgbGFzdF9hdXRvYW5h bHl6ZSwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudChDLm9pZCkgQVMg dmFjdXVtX2NvdW50LAotICAgICAgICAgICAgcGdfc3RhdF9nZXRfYXV0b3ZhY3V1bV9jb3Vu dChDLm9pZCkgQVMgYXV0b3ZhY3V1bV9jb3VudCwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0 X2FuYWx5emVfY291bnQoQy5vaWQpIEFTIGFuYWx5emVfY291bnQsCi0gICAgICAgICAgICBw Z19zdGF0X2dldF9hdXRvYW5hbHl6ZV9jb3VudChDLm9pZCkgQVMgYXV0b2FuYWx5emVfY291 bnQKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2FucyhDLm9pZCkgQVMgc2Vx X3NjYW4sCisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfbGFzdHNjYW4oQy5vaWQpIEFT IGxhc3Rfc2VxX3NjYW4sCisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3Jl dHVybmVkKEMub2lkKSBBUyBzZXFfdHVwX3JlYWQsCisgICAgICAgICAgICBzdW0ocGdfc3Rh dF9nZXRfaW5kX251bXNjYW5zKEkuaW5kZXhyZWxpZCkpOjpiaWdpbnQgQVMgaWR4X3NjYW4s CisgICAgICAgICAgICBtYXgocGdfc3RhdF9nZXRfaW5kX2xhc3RzY2FuKEkuaW5kZXhyZWxp ZCkpIEFTIGxhc3RfaWR4X3NjYW4sCisgICAgICAgICAgICBzdW0ocGdfc3RhdF9nZXRfaW5k X3R1cGxlc19mZXRjaGVkKEkuaW5kZXhyZWxpZCkpOjpiaWdpbnQgKworICAgICAgICAgICAg cGdfc3RhdF9nZXRfdGFiX3R1cGxlc19mZXRjaGVkKEMub2lkKSBBUyBpZHhfdHVwX2ZldGNo LAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZChDLm9pZCkg QVMgbl90dXBfaW5zLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRh dGVkKEMub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJf dHVwbGVzX2RlbGV0ZWQoQy5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgICAgIHBnX3N0 YXRfZ2V0X3RhYl90dXBsZXNfaG90X3VwZGF0ZWQoQy5vaWQpIEFTIG5fdHVwX2hvdF91cGQs CisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMoQy5vaWQpIEFTIG5f bGl2ZV90dXAsCisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXMoQy5v aWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfbW9kX3Np bmNlX2FuYWx5emUoQy5vaWQpIEFTIG5fbW9kX3NpbmNlX2FuYWx5emUsCisgICAgICAgICAg ICBwZ19zdGF0X2dldF90YWJfaW5zX3NpbmNlX3ZhY3V1bShDLm9pZCkgQVMgbl9pbnNfc2lu Y2VfdmFjdXVtLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xhc3RfdmFjdXVtX3Rp bWUoQy5vaWQpIGFzIGxhc3RfdmFjdXVtLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfdGFi X2xhc3RfYXV0b3ZhY3V1bV90aW1lKEMub2lkKSBhcyBsYXN0X2F1dG92YWN1dW0sCisgICAg ICAgICAgICBwZ19zdGF0X2dldF90YWJfbGFzdF9hbmFseXplX3RpbWUoQy5vaWQpIGFzIGxh c3RfYW5hbHl6ZSwKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9sYXN0X2F1dG9hbmFs eXplX3RpbWUoQy5vaWQpIGFzIGxhc3RfYXV0b2FuYWx5emUsCisgICAgICAgICAgICBwZ19z dGF0X2dldF90YWJfdmFjdXVtX2NvdW50KEMub2lkKSBBUyB2YWN1dW1fY291bnQsCisgICAg ICAgICAgICBwZ19zdGF0X2dldF90YWJfYXV0b3ZhY3V1bV9jb3VudChDLm9pZCkgQVMgYXV0 b3ZhY3V1bV9jb3VudCwKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9hbmFseXplX2Nv dW50KEMub2lkKSBBUyBhbmFseXplX2NvdW50LAorICAgICAgICAgICAgcGdfc3RhdF9nZXRf dGFiX2F1dG9hbmFseXplX2NvdW50KEMub2lkKSBBUyBhdXRvYW5hbHl6ZV9jb3VudAogICAg IEZST00gcGdfY2xhc3MgQyBMRUZUIEpPSU4KICAgICAgICAgIHBnX2luZGV4IEkgT04gQy5v aWQgPSBJLmluZHJlbGlkCiAgICAgICAgICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIE4gT04g KE4ub2lkID0gQy5yZWxuYW1lc3BhY2UpCkBAIC02ODksOSArNjg5LDkgQEAgQ1JFQVRFIFZJ RVcgcGdfc3RhdF94YWN0X2FsbF90YWJsZXMgQVMKICAgICAgICAgICAgIEMub2lkIEFTIHJl bGlkLAogICAgICAgICAgICAgTi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCiAgICAgICAgICAg ICBDLnJlbG5hbWUgQVMgcmVsbmFtZSwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3hhY3Rf bnVtc2NhbnMoQy5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRf dGFiX3hhY3RfbnVtc2NhbnMoQy5vaWQpIEFTIHNlcV9zY2FuLAogICAgICAgICAgICAgcGdf c3RhdF9nZXRfeGFjdF90dXBsZXNfcmV0dXJuZWQoQy5vaWQpIEFTIHNlcV90dXBfcmVhZCwK LSAgICAgICAgICAgIHN1bShwZ19zdGF0X2dldF94YWN0X251bXNjYW5zKEkuaW5kZXhyZWxp ZCkpOjpiaWdpbnQgQVMgaWR4X3NjYW4sCisgICAgICAgICAgICBzdW0ocGdfc3RhdF9nZXRf aW5kX3hhY3RfbnVtc2NhbnMoSS5pbmRleHJlbGlkKSk6OmJpZ2ludCBBUyBpZHhfc2NhbiwK ICAgICAgICAgICAgIHN1bShwZ19zdGF0X2dldF94YWN0X3R1cGxlc19mZXRjaGVkKEkuaW5k ZXhyZWxpZCkpOjpiaWdpbnQgKwogICAgICAgICAgICAgcGdfc3RhdF9nZXRfeGFjdF90dXBs ZXNfZmV0Y2hlZChDLm9pZCkgQVMgaWR4X3R1cF9mZXRjaCwKICAgICAgICAgICAgIHBnX3N0 YXRfZ2V0X3hhY3RfdHVwbGVzX2luc2VydGVkKEMub2lkKSBBUyBuX3R1cF9pbnMsCkBAIC03 MjksMzEgKzcyOSwzMSBAQCBDUkVBVEUgVklFVyBwZ19zdGF0aW9fYWxsX3RhYmxlcyBBUwog ICAgICAgICAgICAgQy5vaWQgQVMgcmVsaWQsCiAgICAgICAgICAgICBOLm5zcG5hbWUgQVMg c2NoZW1hbmFtZSwKICAgICAgICAgICAgIEMucmVsbmFtZSBBUyByZWxuYW1lLAotICAgICAg ICAgICAgcGdfc3RhdF9nZXRfYmxvY2tzX2ZldGNoZWQoQy5vaWQpIC0KLSAgICAgICAgICAg ICAgICAgICAgcGdfc3RhdF9nZXRfYmxvY2tzX2hpdChDLm9pZCkgQVMgaGVhcF9ibGtzX3Jl YWQsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF9ibG9ja3NfaGl0KEMub2lkKSBBUyBoZWFw X2Jsa3NfaGl0LAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2Jsb2Nrc19mZXRjaGVk KEMub2lkKSAtCisgICAgICAgICAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9ibG9ja3Nf aGl0KEMub2lkKSBBUyBoZWFwX2Jsa3NfcmVhZCwKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl9ibG9ja3NfaGl0KEMub2lkKSBBUyBoZWFwX2Jsa3NfaGl0LAogICAgICAgICAgICAg SS5pZHhfYmxrc19yZWFkIEFTIGlkeF9ibGtzX3JlYWQsCiAgICAgICAgICAgICBJLmlkeF9i bGtzX2hpdCBBUyBpZHhfYmxrc19oaXQsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF9ibG9j a3NfZmV0Y2hlZChULm9pZCkgLQotICAgICAgICAgICAgICAgICAgICBwZ19zdGF0X2dldF9i bG9ja3NfaGl0KFQub2lkKSBBUyB0b2FzdF9ibGtzX3JlYWQsCi0gICAgICAgICAgICBwZ19z dGF0X2dldF9ibG9ja3NfaGl0KFQub2lkKSBBUyB0b2FzdF9ibGtzX2hpdCwKKyAgICAgICAg ICAgIHBnX3N0YXRfZ2V0X3RhYl9ibG9ja3NfZmV0Y2hlZChULm9pZCkgLQorICAgICAgICAg ICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfYmxvY2tzX2hpdChULm9pZCkgQVMgdG9hc3Rf Ymxrc19yZWFkLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2Jsb2Nrc19oaXQoVC5v aWQpIEFTIHRvYXN0X2Jsa3NfaGl0LAogICAgICAgICAgICAgWC5pZHhfYmxrc19yZWFkIEFT IHRpZHhfYmxrc19yZWFkLAogICAgICAgICAgICAgWC5pZHhfYmxrc19oaXQgQVMgdGlkeF9i bGtzX2hpdAogICAgIEZST00gcGdfY2xhc3MgQyBMRUZUIEpPSU4KICAgICAgICAgICAgIHBn X2NsYXNzIFQgT04gQy5yZWx0b2FzdHJlbGlkID0gVC5vaWQKICAgICAgICAgICAgIExFRlQg Sk9JTiBwZ19uYW1lc3BhY2UgTiBPTiAoTi5vaWQgPSBDLnJlbG5hbWVzcGFjZSkKICAgICAg ICAgICAgIExFRlQgSk9JTiBMQVRFUkFMICgKLSAgICAgICAgICAgICAgU0VMRUNUIHN1bShw Z19zdGF0X2dldF9ibG9ja3NfZmV0Y2hlZChpbmRleHJlbGlkKSAtCi0gICAgICAgICAgICAg ICAgICAgICAgICAgcGdfc3RhdF9nZXRfYmxvY2tzX2hpdChpbmRleHJlbGlkKSk6OmJpZ2lu dAorICAgICAgICAgICAgICBTRUxFQ1Qgc3VtKHBnX3N0YXRfZ2V0X2luZF9ibG9ja3NfZmV0 Y2hlZChpbmRleHJlbGlkKSAtCisgICAgICAgICAgICAgICAgICAgICAgICAgcGdfc3RhdF9n ZXRfaW5kX2Jsb2Nrc19oaXQoaW5kZXhyZWxpZCkpOjpiaWdpbnQKICAgICAgICAgICAgICAg ICAgICAgIEFTIGlkeF9ibGtzX3JlYWQsCi0gICAgICAgICAgICAgICAgICAgICBzdW0ocGdf c3RhdF9nZXRfYmxvY2tzX2hpdChpbmRleHJlbGlkKSk6OmJpZ2ludAorICAgICAgICAgICAg ICAgICAgICAgc3VtKHBnX3N0YXRfZ2V0X2luZF9ibG9ja3NfaGl0KGluZGV4cmVsaWQpKTo6 YmlnaW50CiAgICAgICAgICAgICAgICAgICAgICBBUyBpZHhfYmxrc19oaXQKICAgICAgICAg ICAgICAgRlJPTSBwZ19pbmRleCBXSEVSRSBpbmRyZWxpZCA9IEMub2lkICkgSSBPTiB0cnVl CiAgICAgICAgICAgICBMRUZUIEpPSU4gTEFURVJBTCAoCi0gICAgICAgICAgICAgIFNFTEVD VCBzdW0ocGdfc3RhdF9nZXRfYmxvY2tzX2ZldGNoZWQoaW5kZXhyZWxpZCkgLQotICAgICAg ICAgICAgICAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2Jsb2Nrc19oaXQoaW5kZXhyZWxpZCkp OjpiaWdpbnQKKyAgICAgICAgICAgICAgU0VMRUNUIHN1bShwZ19zdGF0X2dldF9pbmRfYmxv Y2tzX2ZldGNoZWQoaW5kZXhyZWxpZCkgLQorICAgICAgICAgICAgICAgICAgICAgICAgIHBn X3N0YXRfZ2V0X2luZF9ibG9ja3NfaGl0KGluZGV4cmVsaWQpKTo6YmlnaW50CiAgICAgICAg ICAgICAgICAgICAgICBBUyBpZHhfYmxrc19yZWFkLAotICAgICAgICAgICAgICAgICAgICAg c3VtKHBnX3N0YXRfZ2V0X2Jsb2Nrc19oaXQoaW5kZXhyZWxpZCkpOjpiaWdpbnQKKyAgICAg ICAgICAgICAgICAgICAgIHN1bShwZ19zdGF0X2dldF9pbmRfYmxvY2tzX2hpdChpbmRleHJl bGlkKSk6OmJpZ2ludAogICAgICAgICAgICAgICAgICAgICAgQVMgaWR4X2Jsa3NfaGl0CiAg ICAgICAgICAgICAgIEZST00gcGdfaW5kZXggV0hFUkUgaW5kcmVsaWQgPSBULm9pZCApIFgg T04gdHJ1ZQogICAgIFdIRVJFIEMucmVsa2luZCBJTiAoJ3InLCAndCcsICdtJyk7CkBAIC03 NzUsMTAgKzc3NSwxMCBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X2FsbF9pbmRleGVzIEFTCiAg ICAgICAgICAgICBOLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKICAgICAgICAgICAgIEMucmVs bmFtZSBBUyByZWxuYW1lLAogICAgICAgICAgICAgSS5yZWxuYW1lIEFTIGluZGV4cmVsbmFt ZSwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKEkub2lkKSBBUyBpZHhfc2Nh biwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2xhc3RzY2FuKEkub2lkKSBBUyBsYXN0X2lk eF9zY2FuLAotICAgICAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKEkub2lk KSBBUyBpZHhfdHVwX3JlYWQsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfZmV0 Y2hlZChJLm9pZCkgQVMgaWR4X3R1cF9mZXRjaAorICAgICAgICAgICAgcGdfc3RhdF9nZXRf aW5kX251bXNjYW5zKEkub2lkKSBBUyBpZHhfc2NhbiwKKyAgICAgICAgICAgIHBnX3N0YXRf Z2V0X2luZF9sYXN0c2NhbihJLm9pZCkgQVMgbGFzdF9pZHhfc2NhbiwKKyAgICAgICAgICAg IHBnX3N0YXRfZ2V0X2luZF90dXBsZXNfcmV0dXJuZWQoSS5vaWQpIEFTIGlkeF90dXBfcmVh ZCwKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2luZF90dXBsZXNfZmV0Y2hlZChJLm9pZCkg QVMgaWR4X3R1cF9mZXRjaAogICAgIEZST00gcGdfY2xhc3MgQyBKT0lOCiAgICAgICAgICAg ICBwZ19pbmRleCBYIE9OIEMub2lkID0gWC5pbmRyZWxpZCBKT0lOCiAgICAgICAgICAgICBw Z19jbGFzcyBJIE9OIEkub2lkID0gWC5pbmRleHJlbGlkCkBAIC04MDIsOSArODAyLDkgQEAg Q1JFQVRFIFZJRVcgcGdfc3RhdGlvX2FsbF9pbmRleGVzIEFTCiAgICAgICAgICAgICBOLm5z cG5hbWUgQVMgc2NoZW1hbmFtZSwKICAgICAgICAgICAgIEMucmVsbmFtZSBBUyByZWxuYW1l LAogICAgICAgICAgICAgSS5yZWxuYW1lIEFTIGluZGV4cmVsbmFtZSwKLSAgICAgICAgICAg IHBnX3N0YXRfZ2V0X2Jsb2Nrc19mZXRjaGVkKEkub2lkKSAtCi0gICAgICAgICAgICAgICAg ICAgIHBnX3N0YXRfZ2V0X2Jsb2Nrc19oaXQoSS5vaWQpIEFTIGlkeF9ibGtzX3JlYWQsCi0g ICAgICAgICAgICBwZ19zdGF0X2dldF9ibG9ja3NfaGl0KEkub2lkKSBBUyBpZHhfYmxrc19o aXQKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2luZF9ibG9ja3NfZmV0Y2hlZChJLm9pZCkg LQorICAgICAgICAgICAgICAgICAgICBwZ19zdGF0X2dldF9pbmRfYmxvY2tzX2hpdChJLm9p ZCkgQVMgaWR4X2Jsa3NfcmVhZCwKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2luZF9ibG9j a3NfaGl0KEkub2lkKSBBUyBpZHhfYmxrc19oaXQKICAgICBGUk9NIHBnX2NsYXNzIEMgSk9J TgogICAgICAgICAgICAgcGdfaW5kZXggWCBPTiBDLm9pZCA9IFguaW5kcmVsaWQgSk9JTgog ICAgICAgICAgICAgcGdfY2xhc3MgSSBPTiBJLm9pZCA9IFguaW5kZXhyZWxpZApAQCAtODI2 LDkgKzgyNiw5IEBAIENSRUFURSBWSUVXIHBnX3N0YXRpb19hbGxfc2VxdWVuY2VzIEFTCiAg ICAgICAgICAgICBDLm9pZCBBUyByZWxpZCwKICAgICAgICAgICAgIE4ubnNwbmFtZSBBUyBz Y2hlbWFuYW1lLAogICAgICAgICAgICAgQy5yZWxuYW1lIEFTIHJlbG5hbWUsCi0gICAgICAg ICAgICBwZ19zdGF0X2dldF9ibG9ja3NfZmV0Y2hlZChDLm9pZCkgLQotICAgICAgICAgICAg ICAgICAgICBwZ19zdGF0X2dldF9ibG9ja3NfaGl0KEMub2lkKSBBUyBibGtzX3JlYWQsCi0g ICAgICAgICAgICBwZ19zdGF0X2dldF9ibG9ja3NfaGl0KEMub2lkKSBBUyBibGtzX2hpdAor ICAgICAgICAgICAgcGdfc3RhdF9nZXRfaW5kX2Jsb2Nrc19mZXRjaGVkKEMub2lkKSAtCisg ICAgICAgICAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9ibG9ja3NfaGl0KEMub2lkKSBB UyBibGtzX3JlYWQsCisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfYmxvY2tzX2hpdChD Lm9pZCkgQVMgYmxrc19oaXQKICAgICBGUk9NIHBnX2NsYXNzIEMKICAgICAgICAgICAgIExF RlQgSk9JTiBwZ19uYW1lc3BhY2UgTiBPTiAoTi5vaWQgPSBDLnJlbG5hbWVzcGFjZSkKICAg ICBXSEVSRSBDLnJlbGtpbmQgPSAnUyc7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9y YWdlL2J1ZmZlci9idWZtZ3IuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1n ci5jCmluZGV4IDczZDMwYmY2MTkuLmYxYTdhOGFhOGQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2Uv YnVmZmVyL2J1Zm1nci5jCkBAIC03NzYsMTEgKzc3NiwxOSBAQCBSZWFkQnVmZmVyRXh0ZW5k ZWQoUmVsYXRpb24gcmVsbiwgRm9ya051bWJlciBmb3JrTnVtLCBCbG9ja051bWJlciBibG9j a051bSwKIAkgKiBSZWFkIHRoZSBidWZmZXIsIGFuZCB1cGRhdGUgcGdzdGF0IGNvdW50ZXJz IHRvIHJlZmxlY3QgYSBjYWNoZSBoaXQgb3IKIAkgKiBtaXNzLgogCSAqLwotCXBnc3RhdF9j b3VudF9idWZmZXJfcmVhZChyZWxuKTsKKwlpZiAocmVsbi0+cmRfcmVsLT5yZWxraW5kID09 IFJFTEtJTkRfSU5ERVgpCisJCXBnc3RhdF9jb3VudF9pbmRleF9idWZmZXJfcmVhZChyZWxu KTsKKwllbHNlCisJCXBnc3RhdF9jb3VudF90YWJsZV9idWZmZXJfcmVhZChyZWxuKTsKIAli dWYgPSBSZWFkQnVmZmVyX2NvbW1vbihSZWxhdGlvbkdldFNtZ3IocmVsbiksIHJlbG4tPnJk X3JlbC0+cmVscGVyc2lzdGVuY2UsCiAJCQkJCQkJZm9ya051bSwgYmxvY2tOdW0sIG1vZGUs IHN0cmF0ZWd5LCAmaGl0KTsKIAlpZiAoaGl0KQotCQlwZ3N0YXRfY291bnRfYnVmZmVyX2hp dChyZWxuKTsKKwl7CisJCWlmIChyZWxuLT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9J TkRFWCkKKwkJCXBnc3RhdF9jb3VudF9pbmRleF9idWZmZXJfaGl0KHJlbG4pOworCQllbHNl CisJCQlwZ3N0YXRfY291bnRfdGFibGVfYnVmZmVyX2hpdChyZWxuKTsKKwl9CiAJcmV0dXJu IGJ1ZjsKIH0KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvTWFr ZWZpbGUgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9NYWtlZmlsZQppbmRleCBhMmU4 NTA3ZmQ2Li43NDQxZjRjZTg1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9NYWtlZmlsZQorKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9NYWtlZmls ZQpAQCAtMjIsMTEgKzIyLDEyIEBAIE9CSlMgPSBcCiAJcGdzdGF0X2NoZWNrcG9pbnRlci5v IFwKIAlwZ3N0YXRfZGF0YWJhc2UubyBcCiAJcGdzdGF0X2Z1bmN0aW9uLm8gXAotCXBnc3Rh dF9yZWxhdGlvbi5vIFwKKwlwZ3N0YXRfaW5kZXgubyBcCiAJcGdzdGF0X3JlcGxzbG90Lm8g XAogCXBnc3RhdF9zaG1lbS5vIFwKIAlwZ3N0YXRfc2xydS5vIFwKIAlwZ3N0YXRfc3Vic2Ny aXB0aW9uLm8gXAorCXBnc3RhdF90YWJsZS5vIFwKIAlwZ3N0YXRfd2FsLm8gXAogCXBnc3Rh dF94YWN0Lm8gXAogCXdhaXRfZXZlbnQubwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvbWVzb24uYnVpbGQgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9t ZXNvbi5idWlsZAppbmRleCA1YjNiNTU4YTY3Li5lNmJmM2M1OWI2IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9tZXNvbi5idWlsZAorKysgYi9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9tZXNvbi5idWlsZApAQCAtNywxMSArNywxMiBAQCBiYWNrZW5k X3NvdXJjZXMgKz0gZmlsZXMoCiAgICdwZ3N0YXRfY2hlY2twb2ludGVyLmMnLAogICAncGdz dGF0X2RhdGFiYXNlLmMnLAogICAncGdzdGF0X2Z1bmN0aW9uLmMnLAotICAncGdzdGF0X3Jl bGF0aW9uLmMnLAorICAncGdzdGF0X2luZGV4LmMnLAogICAncGdzdGF0X3JlcGxzbG90LmMn LAogICAncGdzdGF0X3NobWVtLmMnLAogICAncGdzdGF0X3NscnUuYycsCiAgICdwZ3N0YXRf c3Vic2NyaXB0aW9uLmMnLAorICAncGdzdGF0X3RhYmxlLmMnLAogICAncGdzdGF0X3dhbC5j JywKICAgJ3Bnc3RhdF94YWN0LmMnLAogICAnd2FpdF9ldmVudC5jJywKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0LmMKaW5kZXggMWViZTNiYmYyOS4uZDQ5YTVlYTRiYiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTcyLDEwICs3MiwxMSBAQAog ICogLSBwZ3N0YXRfY2hlY2twb2ludGVyLmMKICAqIC0gcGdzdGF0X2RhdGFiYXNlLmMKICAq IC0gcGdzdGF0X2Z1bmN0aW9uLmMKLSAqIC0gcGdzdGF0X3JlbGF0aW9uLmMKKyAqIC0gcGdz dGF0X2luZGV4LmMKICAqIC0gcGdzdGF0X3JlcGxzbG90LmMKICAqIC0gcGdzdGF0X3NscnUu YwogICogLSBwZ3N0YXRfc3Vic2NyaXB0aW9uLmMKKyAqIC0gcGdzdGF0X3RhYmxlLmMKICAq IC0gcGdzdGF0X3dhbC5jCiAgKgogICogV2hlbmV2ZXIgcG9zc2libGUgaW5mcmFzdHJ1Y3R1 cmUgZmlsZXMgc2hvdWxkIG5vdCBjb250YWluIGNvZGUgcmVsYXRlZCB0bwpAQCAtMjY5LDE4 ICsyNzAsMzIgQEAgc3RhdGljIGNvbnN0IFBnU3RhdF9LaW5kSW5mbyBwZ3N0YXRfa2luZF9p bmZvc1tQR1NUQVRfTlVNX0tJTkRTXSA9IHsKIAkJLnJlc2V0X3RpbWVzdGFtcF9jYiA9IHBn c3RhdF9kYXRhYmFzZV9yZXNldF90aW1lc3RhbXBfY2IsCiAJfSwKIAotCVtQR1NUQVRfS0lO RF9SRUxBVElPTl0gPSB7Ci0JCS5uYW1lID0gInJlbGF0aW9uIiwKKwlbUEdTVEFUX0tJTkRf VEFCTEVdID0geworCQkubmFtZSA9ICJ0YWJsZSIsCiAKIAkJLmZpeGVkX2Ftb3VudCA9IGZh bHNlLAogCi0JCS5zaGFyZWRfc2l6ZSA9IHNpemVvZihQZ1N0YXRTaGFyZWRfUmVsYXRpb24p LAotCQkuc2hhcmVkX2RhdGFfb2ZmID0gb2Zmc2V0b2YoUGdTdGF0U2hhcmVkX1JlbGF0aW9u LCBzdGF0cyksCi0JCS5zaGFyZWRfZGF0YV9sZW4gPSBzaXplb2YoKChQZ1N0YXRTaGFyZWRf UmVsYXRpb24gKikgMCktPnN0YXRzKSwKKwkJLnNoYXJlZF9zaXplID0gc2l6ZW9mKFBnU3Rh dFNoYXJlZF9UYWJsZSksCisJCS5zaGFyZWRfZGF0YV9vZmYgPSBvZmZzZXRvZihQZ1N0YXRT aGFyZWRfVGFibGUsIHN0YXRzKSwKKwkJLnNoYXJlZF9kYXRhX2xlbiA9IHNpemVvZigoKFBn U3RhdFNoYXJlZF9UYWJsZSAqKSAwKS0+c3RhdHMpLAogCQkucGVuZGluZ19zaXplID0gc2l6 ZW9mKFBnU3RhdF9UYWJsZVN0YXR1cyksCiAKLQkJLmZsdXNoX3BlbmRpbmdfY2IgPSBwZ3N0 YXRfcmVsYXRpb25fZmx1c2hfY2IsCi0JCS5kZWxldGVfcGVuZGluZ19jYiA9IHBnc3RhdF9y ZWxhdGlvbl9kZWxldGVfcGVuZGluZ19jYiwKKwkJLmZsdXNoX3BlbmRpbmdfY2IgPSBwZ3N0 YXRfdGFibGVfZmx1c2hfY2IsCisJCS5kZWxldGVfcGVuZGluZ19jYiA9IHBnc3RhdF90YWJs ZV9kZWxldGVfcGVuZGluZ19jYiwKKwl9LAorCisJW1BHU1RBVF9LSU5EX0lOREVYXSA9IHsK KwkJLm5hbWUgPSAiaW5kZXgiLAorCisJCS5maXhlZF9hbW91bnQgPSBmYWxzZSwKKworCQku c2hhcmVkX3NpemUgPSBzaXplb2YoUGdTdGF0U2hhcmVkX0luZGV4KSwKKwkJLnNoYXJlZF9k YXRhX29mZiA9IG9mZnNldG9mKFBnU3RhdFNoYXJlZF9JbmRleCwgc3RhdHMpLAorCQkuc2hh cmVkX2RhdGFfbGVuID0gc2l6ZW9mKCgoUGdTdGF0U2hhcmVkX0luZGV4ICopIDApLT5zdGF0 cyksCisJCS5wZW5kaW5nX3NpemUgPSBzaXplb2YoUGdTdGF0X0luZGV4U3RhdHVzKSwKKwor CQkuZmx1c2hfcGVuZGluZ19jYiA9IHBnc3RhdF9pbmRleF9mbHVzaF9jYiwKKwkJLmRlbGV0 ZV9wZW5kaW5nX2NiID0gcGdzdGF0X2luZGV4X2RlbGV0ZV9wZW5kaW5nX2NiLAogCX0sCiAK IAlbUEdTVEFUX0tJTkRfRlVOQ1RJT05dID0gewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0X2luZGV4LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXRfaW5kZXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwLi4xM2I0OGIxMWU1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0X2luZGV4LmMKQEAgLTAsMCArMSwyOTcgQEAKKy8qIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAqCisgKiBwZ3N0YXRfaW5kZXguYworICoJICBJbXBsZW1lbnRhdGlv biBvZiBpbmRleCBzdGF0aXN0aWNzLgorICoKKyAqIFRoaXMgZmlsZSBjb250YWlucyB0aGUg aW1wbGVtZW50YXRpb24gb2YgZnVuY3Rpb24gaW5kZXguIEl0IGlzIGtlcHQKKyAqIHNlcGFy YXRlIGZyb20gcGdzdGF0LmMgdG8gZW5mb3JjZSB0aGUgbGluZSBiZXR3ZWVuIHRoZSBzdGF0 aXN0aWNzIGFjY2VzcyAvCisgKiBzdG9yYWdlIGltcGxlbWVudGF0aW9uIGFuZCB0aGUgZGV0 YWlscyBhYm91dCBpbmRpdmlkdWFsIHR5cGVzIG9mCisgKiBzdGF0aXN0aWNzLgorICoKKyAq IENvcHlyaWdodCAoYykgMjAwMS0yMDIyLCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVu dCBHcm91cAorICoKKyAqIElERU5USUZJQ0FUSU9OCisgKgkgIHNyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdF9pbmRleC5jCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8K KworI2luY2x1ZGUgInBvc3RncmVzLmgiCisKKyNpbmNsdWRlICJhY2Nlc3MveGFjdC5oIgor I2luY2x1ZGUgInV0aWxzL3Bnc3RhdF9pbnRlcm5hbC5oIgorI2luY2x1ZGUgInV0aWxzL3Jl bC5oIgorI2luY2x1ZGUgImNhdGFsb2cvY2F0YWxvZy5oIgorCitzdGF0aWMgUGdTdGF0X0lu ZGV4U3RhdHVzICpwZ3N0YXRfcHJlcF9pbmRleF9wZW5kaW5nKE9pZCByZWxfaWQsIGJvb2wg aXNzaGFyZWQpOworCisvKgorICogQ29weSBzdGF0cyBiZXR3ZWVuIGluZGV4ZXMuIFRoaXMg aXMgdXNlZCBmb3IgdGhpbmdzIGxpa2UgUkVJTkRFWAorICogQ09OQ1VSUkVOVExZLgorICov Cit2b2lkCitwZ3N0YXRfY29weV9pbmRleF9zdGF0cyhSZWxhdGlvbiBkc3QsIFJlbGF0aW9u IHNyYykKK3sKKwlQZ1N0YXRfU3RhdEluZEVudHJ5ICpzcmNzdGF0czsKKwlQZ1N0YXRTaGFy ZWRfSW5kZXggKmRzdHNoc3RhdHM7CisJUGdTdGF0X0VudHJ5UmVmICpkc3RfcmVmOworCisJ c3Jjc3RhdHMgPSBwZ3N0YXRfZmV0Y2hfc3RhdF9pbmRlbnRyeV9leHQoc3JjLT5yZF9yZWwt PnJlbGlzc2hhcmVkLAorCQkJCQkJCQkJCQkgIFJlbGF0aW9uR2V0UmVsaWQoc3JjKSk7CisJ aWYgKCFzcmNzdGF0cykKKwkJcmV0dXJuOworCisJZHN0X3JlZiA9IHBnc3RhdF9nZXRfZW50 cnlfcmVmX2xvY2tlZChQR1NUQVRfS0lORF9JTkRFWCwKKwkJCQkJCQkJCQkgIGRzdC0+cmRf cmVsLT5yZWxpc3NoYXJlZCA/IEludmFsaWRPaWQgOiBNeURhdGFiYXNlSWQsCisJCQkJCQkJ CQkJICBSZWxhdGlvbkdldFJlbGlkKGRzdCksCisJCQkJCQkJCQkJICBmYWxzZSk7CisKKwlk c3RzaHN0YXRzID0gKFBnU3RhdFNoYXJlZF9JbmRleCAqKSBkc3RfcmVmLT5zaGFyZWRfc3Rh dHM7CisJZHN0c2hzdGF0cy0+c3RhdHMgPSAqc3Jjc3RhdHM7CisKKwlwZ3N0YXRfdW5sb2Nr X2VudHJ5KGRzdF9yZWYpOworfQorCisvKgorICogSW5pdGlhbGl6ZSBhIHJlbGNhY2hlIGVu dHJ5IHRvIGNvdW50IGFjY2VzcyBzdGF0aXN0aWNzLiAgQ2FsbGVkIHdoZW5ldmVyIGFuCisg KiBpbmRleCBpcyBvcGVuZWQuCisgKgorICogV2UgYXNzdW1lIHRoYXQgYSByZWxjYWNoZSBl bnRyeSdzIHBnc3RhdGluZF9pbmZvIGZpZWxkIGlzIHplcm9lZCBieSByZWxjYWNoZS5jCisg KiB3aGVuIHRoZSByZWxjYWNoZSBlbnRyeSBpcyBtYWRlOyB0aGVyZWFmdGVyIGl0IGlzIGxv bmctbGl2ZWQgZGF0YS4KKyAqCisgKiBUaGlzIGRvZXMgbm90IGNyZWF0ZSBhIHJlZmVyZW5j ZSB0byBhIHN0YXRzIGVudHJ5IGluIHNoYXJlZCBtZW1vcnksIG5vcgorICogYWxsb2NhdGUg bWVtb3J5IGZvciB0aGUgcGVuZGluZyBzdGF0cy4gVGhhdCBoYXBwZW5zIGluCisgKiBwZ3N0 YXRfYXNzb2NfaW5kZXgoKS4KKyAqLwordm9pZAorcGdzdGF0X2luaXRfaW5kZXgoUmVsYXRp b24gcmVsKQoreworCS8qCisJICogV2Ugb25seSBjb3VudCBzdGF0cyBmb3IgaW5kZXhlcwor CSAqLworCUFzc2VydChyZWwtPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX0lOREVYKTsK KworCWlmICghcGdzdGF0X3RyYWNrX2NvdW50cykKKwl7CisJCWlmIChyZWwtPnBnc3RhdGlu ZF9pbmZvICE9IE5VTEwpCisJCQlwZ3N0YXRfdW5saW5rX2luZGV4KHJlbCk7CisKKwkJLyog V2UncmUgbm90IGNvdW50aW5nIGF0IGFsbCAqLworCQlyZWwtPnBnc3RhdF9lbmFibGVkID0g ZmFsc2U7CisJCXJlbC0+cGdzdGF0aW5kX2luZm8gPSBOVUxMOworCQlyZXR1cm47CisJfQor CisJcmVsLT5wZ3N0YXRfZW5hYmxlZCA9IHRydWU7Cit9CisKKy8qCisgKiBQcmVwYXJlIGZv ciBzdGF0aXN0aWNzIGZvciB0aGlzIGluZGV4IHRvIGJlIGNvbGxlY3RlZC4KKyAqCisgKiBU aGlzIGVuc3VyZXMgd2UgaGF2ZSBhIHJlZmVyZW5jZSB0byB0aGUgc3RhdHMgZW50cnkgYmVm b3JlIHN0YXRzIGNhbiBiZQorICogZ2VuZXJhdGVkLiBUaGF0IGlzIGltcG9ydGFudCBiZWNh dXNlIGFuIGluZGV4IGRyb3AgaW4gYW5vdGhlcgorICogY29ubmVjdGlvbiBjb3VsZCBvdGhl cndpc2UgbGVhZCB0byB0aGUgc3RhdHMgZW50cnkgYmVpbmcgZHJvcHBlZCwgd2hpY2ggdGhl bgorICogbGF0ZXIgd291bGQgZ2V0IHJlY3JlYXRlZCB3aGVuIGZsdXNoaW5nIHN0YXRzLgor ICoKKyAqIFRoaXMgaXMgc2VwYXJhdGUgZnJvbSBwZ3N0YXRfaW5pdF9pbmRleCgpIGFzIGl0 IGlzIG5vdCB1bmNvbW1vbiBmb3IKKyAqIHJlbGNhY2hlIGVudHJpZXMgdG8gYmUgb3BlbmVk IHdpdGhvdXQgZXZlciBnZXR0aW5nIHN0YXRzIHJlcG9ydGVkLgorICovCit2b2lkCitwZ3N0 YXRfYXNzb2NfaW5kZXgoUmVsYXRpb24gcmVsKQoreworCUFzc2VydChyZWwtPnBnc3RhdF9l bmFibGVkKTsKKwlBc3NlcnQocmVsLT5wZ3N0YXRpbmRfaW5mbyA9PSBOVUxMKTsKKworCS8q IEVsc2UgZmluZCBvciBtYWtlIHRoZSBQZ1N0YXRfSW5kZXhTdGF0dXMgZW50cnksIGFuZCB1 cGRhdGUgbGluayAqLworCXJlbC0+cGdzdGF0aW5kX2luZm8gPSBwZ3N0YXRfcHJlcF9pbmRl eF9wZW5kaW5nKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwKKwkJCQkJCQkJCQkJCQlyZWwtPnJk X3JlbC0+cmVsaXNzaGFyZWQpOworCisJLyogZG9uJ3QgYWxsb3cgbGluayBhIHN0YXRzIHRv IG11bHRpcGxlIHJlbGNhY2hlIGVudHJpZXMgKi8KKwlBc3NlcnQocmVsLT5wZ3N0YXRpbmRf aW5mby0+cmVsYXRpb24gPT0gTlVMTCk7CisKKwkvKiBtYXJrIHRoaXMgcmVsYXRpb24gYXMg dGhlIG93bmVyICovCisJcmVsLT5wZ3N0YXRpbmRfaW5mby0+cmVsYXRpb24gPSByZWw7Cit9 CisKKy8qCisgKiBCcmVhayB0aGUgbXV0dWFsIGxpbmsgYmV0d2VlbiBhIHJlbGNhY2hlIGVu dHJ5IGFuZCBwZW5kaW5nIGluZGV4IHN0YXRzIGVudHJ5LgorICogVGhpcyBtdXN0IGJlIGNh bGxlZCB3aGVuZXZlciBvbmUgZW5kIG9mIHRoZSBsaW5rIGlzIHJlbW92ZWQuCisgKi8KK3Zv aWQKK3Bnc3RhdF91bmxpbmtfaW5kZXgoUmVsYXRpb24gcmVsKQoreworCisJaWYgKHJlbC0+ cGdzdGF0aW5kX2luZm8gPT0gTlVMTCkKKwkJcmV0dXJuOworCisJLyogbGluayBzYW5pdHkg Y2hlY2sgZm9yIHRoZSBpbmRleCBzdGF0cyAqLworCWlmIChyZWwtPnBnc3RhdGluZF9pbmZv KQorCXsKKwkJQXNzZXJ0KHJlbC0+cGdzdGF0aW5kX2luZm8tPnJlbGF0aW9uID09IHJlbCk7 CisJCXJlbC0+cGdzdGF0aW5kX2luZm8tPnJlbGF0aW9uID0gTlVMTDsKKwkJcmVsLT5wZ3N0 YXRpbmRfaW5mbyA9IE5VTEw7CisJfQorfQorCisvKgorICogRW5zdXJlIHRoYXQgaW5kZXgg c3RhdHMgYXJlIGRyb3BwZWQgaWYgdHJhbnNhY3Rpb24gYWJvcnRzLgorICovCit2b2lkCitw Z3N0YXRfY3JlYXRlX2luZGV4KFJlbGF0aW9uIHJlbCkKK3sKKwlwZ3N0YXRfY3JlYXRlX3Ry YW5zYWN0aW9uYWwoUEdTVEFUX0tJTkRfSU5ERVgsCisJCQkJCQkJCXJlbC0+cmRfcmVsLT5y ZWxpc3NoYXJlZCA/IEludmFsaWRPaWQgOiBNeURhdGFiYXNlSWQsCisJCQkJCQkJCVJlbGF0 aW9uR2V0UmVsaWQocmVsKSk7Cit9CisKKy8qCisgKiBFbnN1cmUgdGhhdCBpbmRleCBzdGF0 cyBhcmUgZHJvcHBlZCBpZiB0cmFuc2FjdGlvbiBjb21taXRzLgorICovCit2b2lkCitwZ3N0 YXRfZHJvcF9pbmRleChSZWxhdGlvbiByZWwpCit7CisJcGdzdGF0X2Ryb3BfdHJhbnNhY3Rp b25hbChQR1NUQVRfS0lORF9JTkRFWCwKKwkJCQkJCQkgIHJlbC0+cmRfcmVsLT5yZWxpc3No YXJlZCA/IEludmFsaWRPaWQgOiBNeURhdGFiYXNlSWQsCisJCQkJCQkJICBSZWxhdGlvbkdl dFJlbGlkKHJlbCkpOworfQorCisvKgorICogU3VwcG9ydCBmdW5jdGlvbiBmb3IgdGhlIFNR TC1jYWxsYWJsZSBwZ3N0YXQqIGZ1bmN0aW9ucy4gUmV0dXJucworICogdGhlIGNvbGxlY3Rl ZCBzdGF0aXN0aWNzIGZvciBvbmUgaW5kZXggb3IgTlVMTC4gTlVMTCBkb2Vzbid0IG1lYW4K KyAqIHRoYXQgdGhlIGluZGV4IGRvZXNuJ3QgZXhpc3QsIGp1c3QgdGhhdCB0aGVyZSBhcmUg bm8gc3RhdGlzdGljcywgc28gdGhlCisgKiBjYWxsZXIgaXMgYmV0dGVyIG9mZiB0byByZXBv cnQgWkVSTyBpbnN0ZWFkLgorICovCitQZ1N0YXRfU3RhdEluZEVudHJ5ICoKK3Bnc3RhdF9m ZXRjaF9zdGF0X2luZGVudHJ5KE9pZCByZWxpZCkKK3sKKwlyZXR1cm4gcGdzdGF0X2ZldGNo X3N0YXRfaW5kZW50cnlfZXh0KElzU2hhcmVkUmVsYXRpb24ocmVsaWQpLCByZWxpZCk7Cit9 CisKKy8qCisgKiBNb3JlIGVmZmljaWVudCB2ZXJzaW9uIG9mIHBnc3RhdF9mZXRjaF9zdGF0 X2luZGVudHJ5KCksIGFsbG93aW5nIHRvIHNwZWNpZnkKKyAqIHdoZXRoZXIgdGhlIHRvLWJl LWFjY2Vzc2VkIGluZGV4IGlzIHNoYXJlZCBvciBub3QuCisgKi8KK1BnU3RhdF9TdGF0SW5k RW50cnkgKgorcGdzdGF0X2ZldGNoX3N0YXRfaW5kZW50cnlfZXh0KGJvb2wgc2hhcmVkLCBP aWQgcmVsb2lkKQoreworCU9pZAkJCWRib2lkID0gKHNoYXJlZCA/IEludmFsaWRPaWQgOiBN eURhdGFiYXNlSWQpOworCisJcmV0dXJuIChQZ1N0YXRfU3RhdEluZEVudHJ5ICopCisJCXBn c3RhdF9mZXRjaF9lbnRyeShQR1NUQVRfS0lORF9JTkRFWCwgZGJvaWQsIHJlbG9pZCk7Cit9 CisKKy8qCisgKiBmaW5kIGFueSBleGlzdGluZyBQZ1N0YXRfSW5kZXhTdGF0dXMgZW50cnkg Zm9yIHJlbAorICoKKyAqIEZpbmQgYW55IGV4aXN0aW5nIFBnU3RhdF9JbmRleFN0YXR1cyBl bnRyeSBmb3IgcmVsX2lkIGluIHRoZSBjdXJyZW50CisgKiBkYXRhYmFzZS4gSWYgbm90IGZv dW5kLCB0cnkgZmluZGluZyBmcm9tIHNoYXJlZCBpbmRleGVzLgorICoKKyAqIElmIG5vIGVu dHJ5IGZvdW5kLCByZXR1cm4gTlVMTCwgZG9uJ3QgY3JlYXRlIGEgbmV3IG9uZQorICovCitQ Z1N0YXRfSW5kZXhTdGF0dXMgKgorZmluZF9pbmRzdGF0X2VudHJ5KE9pZCByZWxfaWQpCit7 CisJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CisKKwllbnRyeV9yZWYgPSBwZ3N0YXRf ZmV0Y2hfcGVuZGluZ19lbnRyeShQR1NUQVRfS0lORF9JTkRFWCwgTXlEYXRhYmFzZUlkLCBy ZWxfaWQpOworCWlmICghZW50cnlfcmVmKQorCQllbnRyeV9yZWYgPSBwZ3N0YXRfZmV0Y2hf cGVuZGluZ19lbnRyeShQR1NUQVRfS0lORF9JTkRFWCwgSW52YWxpZE9pZCwgcmVsX2lkKTsK KworCWlmIChlbnRyeV9yZWYpCisJCXJldHVybiBlbnRyeV9yZWYtPnBlbmRpbmc7CisJcmV0 dXJuIE5VTEw7Cit9CisKKy8qCisgKiBGbHVzaCBvdXQgcGVuZGluZyBzdGF0cyBmb3IgdGhl IGVudHJ5CisgKgorICogSWYgbm93YWl0IGlzIHRydWUsIHRoaXMgZnVuY3Rpb24gcmV0dXJu cyBmYWxzZSBpZiBsb2NrIGNvdWxkIG5vdAorICogaW1tZWRpYXRlbHkgYWNxdWlyZWQsIG90 aGVyd2lzZSB0cnVlIGlzIHJldHVybmVkLgorICoKKyAqIFNvbWUgb2YgdGhlIHN0YXRzIGFy ZSBjb3BpZWQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgcGVuZGluZyBkYXRhYmFzZSBzdGF0cwor ICogZW50cnkgd2hlbiBzdWNjZXNzZnVsbHkgZmx1c2hpbmcuCisgKi8KK2Jvb2wKK3Bnc3Rh dF9pbmRleF9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dh aXQpCit7CisJc3RhdGljIGNvbnN0IFBnU3RhdF9JbmRleENvdW50cyBhbGxfemVyb2VzOwor CU9pZAkJCWRib2lkOworCisJUGdTdGF0X0luZGV4U3RhdHVzICpsc3RhdHM7IC8qIHBlbmRp bmcgc3RhdHMgZW50cnkgICovCisJUGdTdGF0U2hhcmVkX0luZGV4ICpzaHJlbGNvbXN0YXRz OworCVBnU3RhdF9TdGF0SW5kRW50cnkgKmluZGVudHJ5OwkvKiBpbmRleCBlbnRyeSBvZiBz aGFyZWQgc3RhdHMgKi8KKwlQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnk7CS8qIHBlbmRp bmcgZGF0YWJhc2UgZW50cnkgKi8KKworCWRib2lkID0gZW50cnlfcmVmLT5zaGFyZWRfZW50 cnktPmtleS5kYm9pZDsKKwlsc3RhdHMgPSAoUGdTdGF0X0luZGV4U3RhdHVzICopIGVudHJ5 X3JlZi0+cGVuZGluZzsKKwlzaHJlbGNvbXN0YXRzID0gKFBnU3RhdFNoYXJlZF9JbmRleCAq KSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKworCS8qCisJICogSWdub3JlIGVudHJpZXMg dGhhdCBkaWRuJ3QgYWNjdW11bGF0ZSBhbnkgYWN0dWFsIGNvdW50cywgc3VjaCBhcworCSAq IGluZGV4ZXMgdGhhdCB3ZXJlIG9wZW5lZCBieSB0aGUgcGxhbm5lciBidXQgbm90IHVzZWQu CisJICovCisJaWYgKG1lbWNtcCgmbHN0YXRzLT5pX2NvdW50cywgJmFsbF96ZXJvZXMsCisJ CQkgICBzaXplb2YoUGdTdGF0X0luZGV4Q291bnRzKSkgPT0gMCkKKwl7CisJCXJldHVybiB0 cnVlOworCX0KKworCWlmICghcGdzdGF0X2xvY2tfZW50cnkoZW50cnlfcmVmLCBub3dhaXQp KQorCQlyZXR1cm4gZmFsc2U7CisKKwkvKiBhZGQgdGhlIHZhbHVlcyB0byB0aGUgc2hhcmVk IGVudHJ5LiAqLworCWluZGVudHJ5ID0gJnNocmVsY29tc3RhdHMtPnN0YXRzOworCisJaW5k ZW50cnktPm51bXNjYW5zICs9IGxzdGF0cy0+aV9jb3VudHMuaV9udW1zY2FuczsKKworCWlm IChsc3RhdHMtPmlfY291bnRzLmlfbnVtc2NhbnMpCisJeworCQlUaW1lc3RhbXBUeiB0ID0g R2V0Q3VycmVudFRyYW5zYWN0aW9uU3RvcFRpbWVzdGFtcCgpOworCisJCWlmICh0ID4gaW5k ZW50cnktPmxhc3RzY2FuKQorCQkJaW5kZW50cnktPmxhc3RzY2FuID0gdDsKKwl9CisJaW5k ZW50cnktPnR1cGxlc19yZXR1cm5lZCArPSBsc3RhdHMtPmlfY291bnRzLmlfdHVwbGVzX3Jl dHVybmVkOworCWluZGVudHJ5LT50dXBsZXNfZmV0Y2hlZCArPSBsc3RhdHMtPmlfY291bnRz LmlfdHVwbGVzX2ZldGNoZWQ7CisJaW5kZW50cnktPmJsb2Nrc19mZXRjaGVkICs9IGxzdGF0 cy0+aV9jb3VudHMuaV9ibG9ja3NfZmV0Y2hlZDsKKwlpbmRlbnRyeS0+YmxvY2tzX2hpdCAr PSBsc3RhdHMtPmlfY291bnRzLmlfYmxvY2tzX2hpdDsKKworCXBnc3RhdF91bmxvY2tfZW50 cnkoZW50cnlfcmVmKTsKKworCS8qIFRoZSBlbnRyeSB3YXMgc3VjY2Vzc2Z1bGx5IGZsdXNo ZWQsIGFkZCB0aGUgc2FtZSB0byBkYXRhYmFzZSBzdGF0cyAqLworCWRiZW50cnkgPSBwZ3N0 YXRfcHJlcF9kYXRhYmFzZV9wZW5kaW5nKGRib2lkKTsKKwlkYmVudHJ5LT5uX3R1cGxlc19y ZXR1cm5lZCArPSBsc3RhdHMtPmlfY291bnRzLmlfdHVwbGVzX3JldHVybmVkOworCWRiZW50 cnktPm5fdHVwbGVzX2ZldGNoZWQgKz0gbHN0YXRzLT5pX2NvdW50cy5pX3R1cGxlc19mZXRj aGVkOworCWRiZW50cnktPm5fYmxvY2tzX2ZldGNoZWQgKz0gbHN0YXRzLT5pX2NvdW50cy5p X2Jsb2Nrc19mZXRjaGVkOworCWRiZW50cnktPm5fYmxvY2tzX2hpdCArPSBsc3RhdHMtPmlf Y291bnRzLmlfYmxvY2tzX2hpdDsKKworCXJldHVybiB0cnVlOworfQorCit2b2lkCitwZ3N0 YXRfaW5kZXhfZGVsZXRlX3BlbmRpbmdfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYp Cit7CisJUGdTdGF0X0luZGV4U3RhdHVzICpwZW5kaW5nID0gKFBnU3RhdF9JbmRleFN0YXR1 cyAqKSBlbnRyeV9yZWYtPnBlbmRpbmc7CisKKwlpZiAocGVuZGluZy0+cmVsYXRpb24pCisJ CXBnc3RhdF91bmxpbmtfaW5kZXgocGVuZGluZy0+cmVsYXRpb24pOworfQorCisvKgorICog RmluZCBvciBjcmVhdGUgYSBQZ1N0YXRfSW5kZXhTdGF0dXMgZW50cnkgZm9yIHJlbC4gTmV3 IGVudHJ5IGlzIGNyZWF0ZWQgYW5kCisgKiBpbml0aWFsaXplZCBpZiBub3QgZXhpc3RzLgor ICovCitzdGF0aWMgUGdTdGF0X0luZGV4U3RhdHVzICoKK3Bnc3RhdF9wcmVwX2luZGV4X3Bl bmRpbmcoT2lkIHJlbF9pZCwgYm9vbCBpc3NoYXJlZCkKK3sKKwlQZ1N0YXRfRW50cnlSZWYg KmVudHJ5X3JlZjsKKwlQZ1N0YXRfSW5kZXhTdGF0dXMgKnBlbmRpbmc7CisKKwllbnRyeV9y ZWYgPSBwZ3N0YXRfcHJlcF9wZW5kaW5nX2VudHJ5KFBHU1RBVF9LSU5EX0lOREVYLAorCQkJ CQkJCQkJCSAgaXNzaGFyZWQgPyBJbnZhbGlkT2lkIDogTXlEYXRhYmFzZUlkLAorCQkJCQkJ CQkJCSAgcmVsX2lkLCBOVUxMKTsKKwlwZW5kaW5nID0gZW50cnlfcmVmLT5wZW5kaW5nOwor CXBlbmRpbmctPnJfaWQgPSByZWxfaWQ7CisJcGVuZGluZy0+cl9zaGFyZWQgPSBpc3NoYXJl ZDsKKworCXJldHVybiBwZW5kaW5nOworfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXRfdGFibGUuYwpzaW1pbGFyaXR5IGluZGV4IDc1JQpyZW5hbWUgZnJvbSBz cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwpyZW5hbWUgdG8g c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3RhYmxlLmMKaW5kZXggYTljMDUx NTNkOS4uYjljMjliZDdjMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv cGdzdGF0X3RhYmxlLmMKQEAgLTEsOSArMSw5IEBACiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAgKgotICogcGdzdGF0X3JlbGF0aW9uLmMKLSAqCSAgSW1wbGVtZW50YXRpb24gb2YgcmVs YXRpb24gc3RhdGlzdGljcy4KKyAqIHBnc3RhdF90YWJsZS5jCisgKgkgIEltcGxlbWVudGF0 aW9uIG9mIHRhYmxlIHN0YXRpc3RpY3MuCiAgKgotICogVGhpcyBmaWxlIGNvbnRhaW5zIHRo ZSBpbXBsZW1lbnRhdGlvbiBvZiBmdW5jdGlvbiByZWxhdGlvbi4gSXQgaXMga2VwdAorICog VGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBmdW5jdGlvbiB0YWJs ZS4gSXQgaXMga2VwdAogICogc2VwYXJhdGUgZnJvbSBwZ3N0YXQuYyB0byBlbmZvcmNlIHRo ZSBsaW5lIGJldHdlZW4gdGhlIHN0YXRpc3RpY3MgYWNjZXNzIC8KICAqIHN0b3JhZ2UgaW1w bGVtZW50YXRpb24gYW5kIHRoZSBkZXRhaWxzIGFib3V0IGluZGl2aWR1YWwgdHlwZXMgb2YK ICAqIHN0YXRpc3RpY3MuCkBAIC0xMSw3ICsxMSw3IEBACiAgKiBDb3B5cmlnaHQgKGMpIDIw MDEtMjAyMiwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKICAqCiAgKiBJ REVOVElGSUNBVElPTgotICoJICBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRf cmVsYXRpb24uYworICoJICBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfdGFi bGUuYwogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiAKQEAgLTQ0LDc0ICs0NCw0OCBA QCB0eXBlZGVmIHN0cnVjdCBUd29QaGFzZVBnU3RhdFJlY29yZAogfSBUd29QaGFzZVBnU3Rh dFJlY29yZDsKIAogCi1zdGF0aWMgUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfcHJlcF9y ZWxhdGlvbl9wZW5kaW5nKE9pZCByZWxfaWQsIGJvb2wgaXNzaGFyZWQpOwotc3RhdGljIHZv aWQgYWRkX3RhYnN0YXRfeGFjdF9sZXZlbChQZ1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9p bmZvLCBpbnQgbmVzdF9sZXZlbCk7Ci1zdGF0aWMgdm9pZCBlbnN1cmVfdGFic3RhdF94YWN0 X2xldmVsKFBnU3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0X2luZm8pOworc3RhdGljIFBnU3Rh dF9UYWJsZVN0YXR1cyAqcGdzdGF0X3ByZXBfdGFibGVfcGVuZGluZyhPaWQgcmVsX2lkLCBi b29sIGlzc2hhcmVkKTsKK3N0YXRpYyB2b2lkIGFkZF90YWJzdGF0X3hhY3RfbGV2ZWwoUGdT dGF0X1RhYmxlU3RhdHVzICpwZ3N0YXR0YWJfaW5mbywgaW50IG5lc3RfbGV2ZWwpOworc3Rh dGljIHZvaWQgZW5zdXJlX3RhYnN0YXRfeGFjdF9sZXZlbChQZ1N0YXRfVGFibGVTdGF0dXMg KnBnc3RhdHRhYl9pbmZvKTsKIHN0YXRpYyB2b2lkIHNhdmVfdHJ1bmNkcm9wX2NvdW50ZXJz KFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5zLCBib29sIGlzX2Ryb3ApOwogc3RhdGlj IHZvaWQgcmVzdG9yZV90cnVuY2Ryb3BfY291bnRlcnMoUGdTdGF0X1RhYmxlWGFjdFN0YXR1 cyAqdHJhbnMpOwogCi0KLS8qCi0gKiBDb3B5IHN0YXRzIGJldHdlZW4gcmVsYXRpb25zLiBU aGlzIGlzIHVzZWQgZm9yIHRoaW5ncyBsaWtlIFJFSU5ERVgKLSAqIENPTkNVUlJFTlRMWS4K LSAqLwotdm9pZAotcGdzdGF0X2NvcHlfcmVsYXRpb25fc3RhdHMoUmVsYXRpb24gZHN0LCBS ZWxhdGlvbiBzcmMpCi17Ci0JUGdTdGF0X1N0YXRUYWJFbnRyeSAqc3Jjc3RhdHM7Ci0JUGdT dGF0U2hhcmVkX1JlbGF0aW9uICpkc3RzaHN0YXRzOwotCVBnU3RhdF9FbnRyeVJlZiAqZHN0 X3JlZjsKLQotCXNyY3N0YXRzID0gcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnlfZXh0KHNy Yy0+cmRfcmVsLT5yZWxpc3NoYXJlZCwKLQkJCQkJCQkJCQkJICBSZWxhdGlvbkdldFJlbGlk KHNyYykpOwotCWlmICghc3Jjc3RhdHMpCi0JCXJldHVybjsKLQotCWRzdF9yZWYgPSBwZ3N0 YXRfZ2V0X2VudHJ5X3JlZl9sb2NrZWQoUEdTVEFUX0tJTkRfUkVMQVRJT04sCi0JCQkJCQkJ CQkJICBkc3QtPnJkX3JlbC0+cmVsaXNzaGFyZWQgPyBJbnZhbGlkT2lkIDogTXlEYXRhYmFz ZUlkLAotCQkJCQkJCQkJCSAgUmVsYXRpb25HZXRSZWxpZChkc3QpLAotCQkJCQkJCQkJCSAg ZmFsc2UpOwotCi0JZHN0c2hzdGF0cyA9IChQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKikgZHN0 X3JlZi0+c2hhcmVkX3N0YXRzOwotCWRzdHNoc3RhdHMtPnN0YXRzID0gKnNyY3N0YXRzOwot Ci0JcGdzdGF0X3VubG9ja19lbnRyeShkc3RfcmVmKTsKLX0KLQogLyoKICAqIEluaXRpYWxp emUgYSByZWxjYWNoZSBlbnRyeSB0byBjb3VudCBhY2Nlc3Mgc3RhdGlzdGljcy4gIENhbGxl ZCB3aGVuZXZlciBhCi0gKiByZWxhdGlvbiBpcyBvcGVuZWQuCisgKiB0YWJsZSBpcyBvcGVu ZWQuCiAgKgotICogV2UgYXNzdW1lIHRoYXQgYSByZWxjYWNoZSBlbnRyeSdzIHBnc3RhdF9p bmZvIGZpZWxkIGlzIHplcm9lZCBieSByZWxjYWNoZS5jCisgKiBXZSBhc3N1bWUgdGhhdCBh IHJlbGNhY2hlIGVudHJ5J3MgcGdzdGF0dGFiX2luZm8gZmllbGQgaXMgemVyb2VkIGJ5IHJl bGNhY2hlLmMKICAqIHdoZW4gdGhlIHJlbGNhY2hlIGVudHJ5IGlzIG1hZGU7IHRoZXJlYWZ0 ZXIgaXQgaXMgbG9uZy1saXZlZCBkYXRhLgogICoKICAqIFRoaXMgZG9lcyBub3QgY3JlYXRl IGEgcmVmZXJlbmNlIHRvIGEgc3RhdHMgZW50cnkgaW4gc2hhcmVkIG1lbW9yeSwgbm9yCiAg KiBhbGxvY2F0ZSBtZW1vcnkgZm9yIHRoZSBwZW5kaW5nIHN0YXRzLiBUaGF0IGhhcHBlbnMg aW4KLSAqIHBnc3RhdF9hc3NvY19yZWxhdGlvbigpLgorICogcGdzdGF0X2Fzc29jX3RhYmxl KCkuCiAgKi8KIHZvaWQKLXBnc3RhdF9pbml0X3JlbGF0aW9uKFJlbGF0aW9uIHJlbCkKK3Bn c3RhdF9pbml0X3RhYmxlKFJlbGF0aW9uIHJlbCkKIHsKIAljaGFyCQlyZWxraW5kID0gcmVs LT5yZF9yZWwtPnJlbGtpbmQ7CiAKKwlBc3NlcnQocmVsa2luZCAhPSBSRUxLSU5EX0lOREVY KTsKKwogCS8qCiAJICogV2Ugb25seSBjb3VudCBzdGF0cyBmb3IgcmVsYXRpb25zIHdpdGgg c3RvcmFnZSBhbmQgcGFydGl0aW9uZWQgdGFibGVzCiAJICovCiAJaWYgKCFSRUxLSU5EX0hB U19TVE9SQUdFKHJlbGtpbmQpICYmIHJlbGtpbmQgIT0gUkVMS0lORF9QQVJUSVRJT05FRF9U QUJMRSkKIAl7CiAJCXJlbC0+cGdzdGF0X2VuYWJsZWQgPSBmYWxzZTsKLQkJcmVsLT5wZ3N0 YXRfaW5mbyA9IE5VTEw7CisJCXJlbC0+cGdzdGF0dGFiX2luZm8gPSBOVUxMOwogCQlyZXR1 cm47CiAJfQogCiAJaWYgKCFwZ3N0YXRfdHJhY2tfY291bnRzKQogCXsKLQkJaWYgKHJlbC0+ cGdzdGF0X2luZm8pCi0JCQlwZ3N0YXRfdW5saW5rX3JlbGF0aW9uKHJlbCk7CisJCWlmIChy ZWwtPnBnc3RhdHRhYl9pbmZvICE9IE5VTEwpCisJCQlwZ3N0YXRfdW5saW5rX3RhYmxlKHJl bCk7CiAKIAkJLyogV2UncmUgbm90IGNvdW50aW5nIGF0IGFsbCAqLwogCQlyZWwtPnBnc3Rh dF9lbmFibGVkID0gZmFsc2U7Ci0JCXJlbC0+cGdzdGF0X2luZm8gPSBOVUxMOworCQlyZWwt PnBnc3RhdHRhYl9pbmZvID0gTlVMTDsKIAkJcmV0dXJuOwogCX0KIApAQCAtMTE5LDg5ICs5 Myw5MiBAQCBwZ3N0YXRfaW5pdF9yZWxhdGlvbihSZWxhdGlvbiByZWwpCiB9CiAKIC8qCi0g KiBQcmVwYXJlIGZvciBzdGF0aXN0aWNzIGZvciB0aGlzIHJlbGF0aW9uIHRvIGJlIGNvbGxl Y3RlZC4KKyAqIFByZXBhcmUgZm9yIHN0YXRpc3RpY3MgZm9yIHRoaXMgdGFibGUgdG8gYmUg Y29sbGVjdGVkLgogICoKICAqIFRoaXMgZW5zdXJlcyB3ZSBoYXZlIGEgcmVmZXJlbmNlIHRv IHRoZSBzdGF0cyBlbnRyeSBiZWZvcmUgc3RhdHMgY2FuIGJlCi0gKiBnZW5lcmF0ZWQuIFRo YXQgaXMgaW1wb3J0YW50IGJlY2F1c2UgYSByZWxhdGlvbiBkcm9wIGluIGFub3RoZXIgY29u bmVjdGlvbgorICogZ2VuZXJhdGVkLiBUaGF0IGlzIGltcG9ydGFudCBiZWNhdXNlIGEgdGFi bGUgZHJvcCBpbiBhbm90aGVyIGNvbm5lY3Rpb24KICAqIGNvdWxkIG90aGVyd2lzZSBsZWFk IHRvIHRoZSBzdGF0cyBlbnRyeSBiZWluZyBkcm9wcGVkLCB3aGljaCB0aGVuIGxhdGVyCiAg KiB3b3VsZCBnZXQgcmVjcmVhdGVkIHdoZW4gZmx1c2hpbmcgc3RhdHMuCiAgKgotICogVGhp cyBpcyBzZXBhcmF0ZSBmcm9tIHBnc3RhdF9pbml0X3JlbGF0aW9uKCkgYXMgaXQgaXMgbm90 IHVuY29tbW9uIGZvcgorICogVGhpcyBpcyBzZXBhcmF0ZSBmcm9tIHBnc3RhdF9pbml0X3Rh YmxlKCkgYXMgaXQgaXMgbm90IHVuY29tbW9uIGZvcgogICogcmVsY2FjaGUgZW50cmllcyB0 byBiZSBvcGVuZWQgd2l0aG91dCBldmVyIGdldHRpbmcgc3RhdHMgcmVwb3J0ZWQuCiAgKi8K IHZvaWQKLXBnc3RhdF9hc3NvY19yZWxhdGlvbihSZWxhdGlvbiByZWwpCitwZ3N0YXRfYXNz b2NfdGFibGUoUmVsYXRpb24gcmVsKQogewogCUFzc2VydChyZWwtPnBnc3RhdF9lbmFibGVk KTsKLQlBc3NlcnQocmVsLT5wZ3N0YXRfaW5mbyA9PSBOVUxMKTsKKwlBc3NlcnQocmVsLT5w Z3N0YXR0YWJfaW5mbyA9PSBOVUxMKTsKIAogCS8qIEVsc2UgZmluZCBvciBtYWtlIHRoZSBQ Z1N0YXRfVGFibGVTdGF0dXMgZW50cnksIGFuZCB1cGRhdGUgbGluayAqLwotCXJlbC0+cGdz dGF0X2luZm8gPSBwZ3N0YXRfcHJlcF9yZWxhdGlvbl9wZW5kaW5nKFJlbGF0aW9uR2V0UmVs aWQocmVsKSwKKwlyZWwtPnBnc3RhdHRhYl9pbmZvID0gcGdzdGF0X3ByZXBfdGFibGVfcGVu ZGluZyhSZWxhdGlvbkdldFJlbGlkKHJlbCksCiAJCQkJCQkJCQkJCQkJcmVsLT5yZF9yZWwt PnJlbGlzc2hhcmVkKTsKIAogCS8qIGRvbid0IGFsbG93IGxpbmsgYSBzdGF0cyB0byBtdWx0 aXBsZSByZWxjYWNoZSBlbnRyaWVzICovCi0JQXNzZXJ0KHJlbC0+cGdzdGF0X2luZm8tPnJl bGF0aW9uID09IE5VTEwpOworCUFzc2VydChyZWwtPnBnc3RhdHRhYl9pbmZvLT5yZWxhdGlv biA9PSBOVUxMKTsKIAogCS8qIG1hcmsgdGhpcyByZWxhdGlvbiBhcyB0aGUgb3duZXIgKi8K LQlyZWwtPnBnc3RhdF9pbmZvLT5yZWxhdGlvbiA9IHJlbDsKKwlyZWwtPnBnc3RhdHRhYl9p bmZvLT5yZWxhdGlvbiA9IHJlbDsKIH0KIAogLyoKLSAqIEJyZWFrIHRoZSBtdXR1YWwgbGlu ayBiZXR3ZWVuIGEgcmVsY2FjaGUgZW50cnkgYW5kIHBlbmRpbmcgc3RhdHMgZW50cnkuCisg KiBCcmVhayB0aGUgbXV0dWFsIGxpbmsgYmV0d2VlbiBhIHJlbGNhY2hlIGVudHJ5IGFuZCBw ZW5kaW5nIHRhYmxlIHN0YXRzIGVudHJ5LgogICogVGhpcyBtdXN0IGJlIGNhbGxlZCB3aGVu ZXZlciBvbmUgZW5kIG9mIHRoZSBsaW5rIGlzIHJlbW92ZWQuCiAgKi8KIHZvaWQKLXBnc3Rh dF91bmxpbmtfcmVsYXRpb24oUmVsYXRpb24gcmVsKQorcGdzdGF0X3VubGlua190YWJsZShS ZWxhdGlvbiByZWwpCiB7Ci0JLyogcmVtb3ZlIHRoZSBsaW5rIHRvIHN0YXRzIGluZm8gaWYg YW55ICovCi0JaWYgKHJlbC0+cGdzdGF0X2luZm8gPT0gTlVMTCkKKworCWlmIChyZWwtPnBn c3RhdHRhYl9pbmZvID09IE5VTEwpCiAJCXJldHVybjsKIAotCS8qIGxpbmsgc2FuaXR5IGNo ZWNrICovCi0JQXNzZXJ0KHJlbC0+cGdzdGF0X2luZm8tPnJlbGF0aW9uID09IHJlbCk7Ci0J cmVsLT5wZ3N0YXRfaW5mby0+cmVsYXRpb24gPSBOVUxMOwotCXJlbC0+cGdzdGF0X2luZm8g PSBOVUxMOworCS8qIGxpbmsgc2FuaXR5IGNoZWNrIGZvciB0aGUgdGFibGUgc3RhdHMgKi8K KwlpZiAocmVsLT5wZ3N0YXR0YWJfaW5mbykKKwl7CisJCUFzc2VydChyZWwtPnBnc3RhdHRh Yl9pbmZvLT5yZWxhdGlvbiA9PSByZWwpOworCQlyZWwtPnBnc3RhdHRhYl9pbmZvLT5yZWxh dGlvbiA9IE5VTEw7CisJCXJlbC0+cGdzdGF0dGFiX2luZm8gPSBOVUxMOworCX0KIH0KIAog LyoKLSAqIEVuc3VyZSB0aGF0IHN0YXRzIGFyZSBkcm9wcGVkIGlmIHRyYW5zYWN0aW9uIGFi b3J0cy4KKyAqIEVuc3VyZSB0aGF0IHRhYmxlIHN0YXRzIGFyZSBkcm9wcGVkIGlmIHRyYW5z YWN0aW9uIGFib3J0cy4KICAqLwogdm9pZAotcGdzdGF0X2NyZWF0ZV9yZWxhdGlvbihSZWxh dGlvbiByZWwpCitwZ3N0YXRfY3JlYXRlX3RhYmxlKFJlbGF0aW9uIHJlbCkKIHsKLQlwZ3N0 YXRfY3JlYXRlX3RyYW5zYWN0aW9uYWwoUEdTVEFUX0tJTkRfUkVMQVRJT04sCisJcGdzdGF0 X2NyZWF0ZV90cmFuc2FjdGlvbmFsKFBHU1RBVF9LSU5EX1RBQkxFLAogCQkJCQkJCQlyZWwt PnJkX3JlbC0+cmVsaXNzaGFyZWQgPyBJbnZhbGlkT2lkIDogTXlEYXRhYmFzZUlkLAogCQkJ CQkJCQlSZWxhdGlvbkdldFJlbGlkKHJlbCkpOwogfQogCiAvKgotICogRW5zdXJlIHRoYXQg c3RhdHMgYXJlIGRyb3BwZWQgaWYgdHJhbnNhY3Rpb24gY29tbWl0cy4KKyAqIEVuc3VyZSB0 aGF0IHRhYmxlIHN0YXRzIGFyZSBkcm9wcGVkIGlmIHRyYW5zYWN0aW9uIGNvbW1pdHMuCiAg Ki8KIHZvaWQKLXBnc3RhdF9kcm9wX3JlbGF0aW9uKFJlbGF0aW9uIHJlbCkKK3Bnc3RhdF9k cm9wX3RhYmxlKFJlbGF0aW9uIHJlbCkKIHsKIAlpbnQJCQluZXN0X2xldmVsID0gR2V0Q3Vy cmVudFRyYW5zYWN0aW9uTmVzdExldmVsKCk7Ci0JUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0 YXRfaW5mbzsKKwlQZ1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdHRhYl9pbmZvOwogCi0JcGdz dGF0X2Ryb3BfdHJhbnNhY3Rpb25hbChQR1NUQVRfS0lORF9SRUxBVElPTiwKKwlwZ3N0YXRf ZHJvcF90cmFuc2FjdGlvbmFsKFBHU1RBVF9LSU5EX1RBQkxFLAogCQkJCQkJCSAgcmVsLT5y ZF9yZWwtPnJlbGlzc2hhcmVkID8gSW52YWxpZE9pZCA6IE15RGF0YWJhc2VJZCwKIAkJCQkJ CQkgIFJlbGF0aW9uR2V0UmVsaWQocmVsKSk7CiAKLQlpZiAoIXBnc3RhdF9zaG91bGRfY291 bnRfcmVsYXRpb24ocmVsKSkKKwlpZiAoIXBnc3RhdF9zaG91bGRfY291bnRfdGFibGUocmVs KSkKIAkJcmV0dXJuOwogCiAJLyoKIAkgKiBUcmFuc2FjdGlvbmFsbHkgc2V0IGNvdW50ZXJz IHRvIDAuIFRoYXQgZW5zdXJlcyB0aGF0IGFjY2Vzc2VzIHRvCiAJICogcGdfc3RhdF94YWN0 X2FsbF90YWJsZXMgaW5zaWRlIHRoZSB0cmFuc2FjdGlvbiBzaG93IDAuCiAJICovCi0JcGdz dGF0X2luZm8gPSByZWwtPnBnc3RhdF9pbmZvOwotCWlmIChwZ3N0YXRfaW5mby0+dHJhbnMg JiYKLQkJcGdzdGF0X2luZm8tPnRyYW5zLT5uZXN0X2xldmVsID09IG5lc3RfbGV2ZWwpCisJ cGdzdGF0dGFiX2luZm8gPSByZWwtPnBnc3RhdHRhYl9pbmZvOworCWlmIChwZ3N0YXR0YWJf aW5mby0+dHJhbnMgJiYKKwkJcGdzdGF0dGFiX2luZm8tPnRyYW5zLT5uZXN0X2xldmVsID09 IG5lc3RfbGV2ZWwpCiAJewotCQlzYXZlX3RydW5jZHJvcF9jb3VudGVycyhwZ3N0YXRfaW5m by0+dHJhbnMsIHRydWUpOwotCQlwZ3N0YXRfaW5mby0+dHJhbnMtPnR1cGxlc19pbnNlcnRl ZCA9IDA7Ci0JCXBnc3RhdF9pbmZvLT50cmFucy0+dHVwbGVzX3VwZGF0ZWQgPSAwOwotCQlw Z3N0YXRfaW5mby0+dHJhbnMtPnR1cGxlc19kZWxldGVkID0gMDsKKwkJc2F2ZV90cnVuY2Ry b3BfY291bnRlcnMocGdzdGF0dGFiX2luZm8tPnRyYW5zLCB0cnVlKTsKKwkJcGdzdGF0dGFi X2luZm8tPnRyYW5zLT50dXBsZXNfaW5zZXJ0ZWQgPSAwOworCQlwZ3N0YXR0YWJfaW5mby0+ dHJhbnMtPnR1cGxlc191cGRhdGVkID0gMDsKKwkJcGdzdGF0dGFiX2luZm8tPnRyYW5zLT50 dXBsZXNfZGVsZXRlZCA9IDA7CiAJfQogfQogCkBAIC0yMTMsNyArMTkwLDcgQEAgcGdzdGF0 X3JlcG9ydF92YWN1dW0oT2lkIHRhYmxlb2lkLCBib29sIHNoYXJlZCwKIAkJCQkJIFBnU3Rh dF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMpCiB7CiAJ UGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7Ci0JUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpz aHRhYmVudHJ5OworCVBnU3RhdFNoYXJlZF9UYWJsZSAqc2h0YWJlbnRyeTsKIAlQZ1N0YXRf U3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKIAlPaWQJCQlkYm9pZCA9IChzaGFyZWQgPyBJbnZh bGlkT2lkIDogTXlEYXRhYmFzZUlkKTsKIAlUaW1lc3RhbXBUeiB0czsKQEAgLTIyNSwxMCAr MjAyLDEwIEBAIHBnc3RhdF9yZXBvcnRfdmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFy ZWQsCiAJdHMgPSBHZXRDdXJyZW50VGltZXN0YW1wKCk7CiAKIAkvKiBibG9jayBhY3F1aXJp bmcgbG9jayBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIHBnc3RhdF9yZXBvcnRfYXV0b3ZhYygp ICovCi0JZW50cnlfcmVmID0gcGdzdGF0X2dldF9lbnRyeV9yZWZfbG9ja2VkKFBHU1RBVF9L SU5EX1JFTEFUSU9OLAorCWVudHJ5X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVmX2xvY2tl ZChQR1NUQVRfS0lORF9UQUJMRSwKIAkJCQkJCQkJCQkJZGJvaWQsIHRhYmxlb2lkLCBmYWxz ZSk7CiAKLQlzaHRhYmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqKSBlbnRyeV9y ZWYtPnNoYXJlZF9zdGF0czsKKwlzaHRhYmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9UYWJsZSAq KSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKIAl0YWJlbnRyeSA9ICZzaHRhYmVudHJ5LT5z dGF0czsKIAogCXRhYmVudHJ5LT5saXZlX3R1cGxlcyA9IGxpdmV0dXBsZXM7CkBAIC0yNzIs NyArMjQ5LDcgQEAgcGdzdGF0X3JlcG9ydF9hbmFseXplKFJlbGF0aW9uIHJlbCwKIAkJCQkJ ICBib29sIHJlc2V0Y291bnRlcikKIHsKIAlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsK LQlQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKnNodGFiZW50cnk7CisJUGdTdGF0U2hhcmVkX1Rh YmxlICpzaHRhYmVudHJ5OwogCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5OwogCU9p ZAkJCWRib2lkID0gKHJlbC0+cmRfcmVsLT5yZWxpc3NoYXJlZCA/IEludmFsaWRPaWQgOiBN eURhdGFiYXNlSWQpOwogCkBAIC0yOTEsMzEgKzI2OCwzMSBAQCBwZ3N0YXRfcmVwb3J0X2Fu YWx5emUoUmVsYXRpb24gcmVsLAogCSAqCiAJICogV2FzdGUgbm8gdGltZSBvbiBwYXJ0aXRp b25lZCB0YWJsZXMsIHRob3VnaC4KIAkgKi8KLQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9y ZWxhdGlvbihyZWwpICYmCisJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfdGFibGUocmVsKSAm JgogCQlyZWwtPnJkX3JlbC0+cmVsa2luZCAhPSBSRUxLSU5EX1BBUlRJVElPTkVEX1RBQkxF KQogCXsKIAkJUGdTdGF0X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnM7CiAKLQkJZm9yICh0cmFu cyA9IHJlbC0+cGdzdGF0X2luZm8tPnRyYW5zOyB0cmFuczsgdHJhbnMgPSB0cmFucy0+dXBw ZXIpCisJCWZvciAodHJhbnMgPSByZWwtPnBnc3RhdHRhYl9pbmZvLT50cmFuczsgdHJhbnM7 IHRyYW5zID0gdHJhbnMtPnVwcGVyKQogCQl7CiAJCQlsaXZldHVwbGVzIC09IHRyYW5zLT50 dXBsZXNfaW5zZXJ0ZWQgLSB0cmFucy0+dHVwbGVzX2RlbGV0ZWQ7CiAJCQlkZWFkdHVwbGVz IC09IHRyYW5zLT50dXBsZXNfdXBkYXRlZCArIHRyYW5zLT50dXBsZXNfZGVsZXRlZDsKIAkJ fQogCQkvKiBjb3VudCBzdHVmZiBpbnNlcnRlZCBieSBhbHJlYWR5LWFib3J0ZWQgc3VieGFj dHMsIHRvbyAqLwotCQlkZWFkdHVwbGVzIC09IHJlbC0+cGdzdGF0X2luZm8tPnRfY291bnRz LnRfZGVsdGFfZGVhZF90dXBsZXM7CisJCWRlYWR0dXBsZXMgLT0gcmVsLT5wZ3N0YXR0YWJf aW5mby0+dF9jb3VudHMudF9kZWx0YV9kZWFkX3R1cGxlczsKIAkJLyogU2luY2UgQU5BTFla RSdzIGNvdW50cyBhcmUgZXN0aW1hdGVzLCB3ZSBjb3VsZCBoYXZlIHVuZGVyZmxvd2VkICov CiAJCWxpdmV0dXBsZXMgPSBNYXgobGl2ZXR1cGxlcywgMCk7CiAJCWRlYWR0dXBsZXMgPSBN YXgoZGVhZHR1cGxlcywgMCk7CiAJfQogCiAJLyogYmxvY2sgYWNxdWlyaW5nIGxvY2sgZm9y IHRoZSBzYW1lIHJlYXNvbiBhcyBwZ3N0YXRfcmVwb3J0X2F1dG92YWMoKSAqLwotCWVudHJ5 X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVmX2xvY2tlZChQR1NUQVRfS0lORF9SRUxBVElP TiwgZGJvaWQsCisJZW50cnlfcmVmID0gcGdzdGF0X2dldF9lbnRyeV9yZWZfbG9ja2VkKFBH U1RBVF9LSU5EX1RBQkxFLCBkYm9pZCwKIAkJCQkJCQkJCQkJUmVsYXRpb25HZXRSZWxpZChy ZWwpLAogCQkJCQkJCQkJCQlmYWxzZSk7CiAJLyogY2FuJ3QgZ2V0IGRyb3BwZWQgd2hpbGUg YWNjZXNzZWQgKi8KIAlBc3NlcnQoZW50cnlfcmVmICE9IE5VTEwgJiYgZW50cnlfcmVmLT5z aGFyZWRfc3RhdHMgIT0gTlVMTCk7CiAKLQlzaHRhYmVudHJ5ID0gKFBnU3RhdFNoYXJlZF9S ZWxhdGlvbiAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKwlzaHRhYmVudHJ5ID0gKFBn U3RhdFNoYXJlZF9UYWJsZSAqKSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKIAl0YWJlbnRy eSA9ICZzaHRhYmVudHJ5LT5zdGF0czsKIAogCXRhYmVudHJ5LT5saXZlX3R1cGxlcyA9IGxp dmV0dXBsZXM7CkBAIC0zNDksMTIgKzMyNiwxMiBAQCBwZ3N0YXRfcmVwb3J0X2FuYWx5emUo UmVsYXRpb24gcmVsLAogdm9pZAogcGdzdGF0X2NvdW50X2hlYXBfaW5zZXJ0KFJlbGF0aW9u IHJlbCwgUGdTdGF0X0NvdW50ZXIgbikKIHsKLQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9y ZWxhdGlvbihyZWwpKQorCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3RhYmxlKHJlbCkpCiAJ ewotCQlQZ1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvID0gcmVsLT5wZ3N0YXRfaW5m bzsKKwkJUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXR0YWJfaW5mbyA9IHJlbC0+cGdzdGF0 dGFiX2luZm87CiAKLQkJZW5zdXJlX3RhYnN0YXRfeGFjdF9sZXZlbChwZ3N0YXRfaW5mbyk7 Ci0JCXBnc3RhdF9pbmZvLT50cmFucy0+dHVwbGVzX2luc2VydGVkICs9IG47CisJCWVuc3Vy ZV90YWJzdGF0X3hhY3RfbGV2ZWwocGdzdGF0dGFiX2luZm8pOworCQlwZ3N0YXR0YWJfaW5m by0+dHJhbnMtPnR1cGxlc19pbnNlcnRlZCArPSBuOwogCX0KIH0KIApAQCAtMzY0LDE2ICsz NDEsMTYgQEAgcGdzdGF0X2NvdW50X2hlYXBfaW5zZXJ0KFJlbGF0aW9uIHJlbCwgUGdTdGF0 X0NvdW50ZXIgbikKIHZvaWQKIHBnc3RhdF9jb3VudF9oZWFwX3VwZGF0ZShSZWxhdGlvbiBy ZWwsIGJvb2wgaG90KQogewotCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJl bCkpCisJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfdGFibGUocmVsKSkKIAl7Ci0JCVBnU3Rh dF9UYWJsZVN0YXR1cyAqcGdzdGF0X2luZm8gPSByZWwtPnBnc3RhdF9pbmZvOworCQlQZ1N0 YXRfVGFibGVTdGF0dXMgKnBnc3RhdHRhYl9pbmZvID0gcmVsLT5wZ3N0YXR0YWJfaW5mbzsK IAotCQllbnN1cmVfdGFic3RhdF94YWN0X2xldmVsKHBnc3RhdF9pbmZvKTsKLQkJcGdzdGF0 X2luZm8tPnRyYW5zLT50dXBsZXNfdXBkYXRlZCsrOworCQllbnN1cmVfdGFic3RhdF94YWN0 X2xldmVsKHBnc3RhdHRhYl9pbmZvKTsKKwkJcGdzdGF0dGFiX2luZm8tPnRyYW5zLT50dXBs ZXNfdXBkYXRlZCsrOwogCiAJCS8qIHRfdHVwbGVzX2hvdF91cGRhdGVkIGlzIG5vbnRyYW5z YWN0aW9uYWwsIHNvIGp1c3QgYWR2YW5jZSBpdCAqLwogCQlpZiAoaG90KQotCQkJcGdzdGF0 X2luZm8tPnRfY291bnRzLnRfdHVwbGVzX2hvdF91cGRhdGVkKys7CisJCQlwZ3N0YXR0YWJf aW5mby0+dF9jb3VudHMudF90dXBsZXNfaG90X3VwZGF0ZWQrKzsKIAl9CiB9CiAKQEAgLTM4 MywxMiArMzYwLDEyIEBAIHBnc3RhdF9jb3VudF9oZWFwX3VwZGF0ZShSZWxhdGlvbiByZWws IGJvb2wgaG90KQogdm9pZAogcGdzdGF0X2NvdW50X2hlYXBfZGVsZXRlKFJlbGF0aW9uIHJl bCkKIHsKLQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQorCWlmIChw Z3N0YXRfc2hvdWxkX2NvdW50X3RhYmxlKHJlbCkpCiAJewotCQlQZ1N0YXRfVGFibGVTdGF0 dXMgKnBnc3RhdF9pbmZvID0gcmVsLT5wZ3N0YXRfaW5mbzsKKwkJUGdTdGF0X1RhYmxlU3Rh dHVzICpwZ3N0YXR0YWJfaW5mbyA9IHJlbC0+cGdzdGF0dGFiX2luZm87CiAKLQkJZW5zdXJl X3RhYnN0YXRfeGFjdF9sZXZlbChwZ3N0YXRfaW5mbyk7Ci0JCXBnc3RhdF9pbmZvLT50cmFu cy0+dHVwbGVzX2RlbGV0ZWQrKzsKKwkJZW5zdXJlX3RhYnN0YXRfeGFjdF9sZXZlbChwZ3N0 YXR0YWJfaW5mbyk7CisJCXBnc3RhdHRhYl9pbmZvLT50cmFucy0+dHVwbGVzX2RlbGV0ZWQr KzsKIAl9CiB9CiAKQEAgLTM5OCwxNSArMzc1LDE1IEBAIHBnc3RhdF9jb3VudF9oZWFwX2Rl bGV0ZShSZWxhdGlvbiByZWwpCiB2b2lkCiBwZ3N0YXRfY291bnRfdHJ1bmNhdGUoUmVsYXRp b24gcmVsKQogewotCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCisJ aWYgKHBnc3RhdF9zaG91bGRfY291bnRfdGFibGUocmVsKSkKIAl7Ci0JCVBnU3RhdF9UYWJs ZVN0YXR1cyAqcGdzdGF0X2luZm8gPSByZWwtPnBnc3RhdF9pbmZvOworCQlQZ1N0YXRfVGFi bGVTdGF0dXMgKnBnc3RhdHRhYl9pbmZvID0gcmVsLT5wZ3N0YXR0YWJfaW5mbzsKIAotCQll bnN1cmVfdGFic3RhdF94YWN0X2xldmVsKHBnc3RhdF9pbmZvKTsKLQkJc2F2ZV90cnVuY2Ry b3BfY291bnRlcnMocGdzdGF0X2luZm8tPnRyYW5zLCBmYWxzZSk7Ci0JCXBnc3RhdF9pbmZv LT50cmFucy0+dHVwbGVzX2luc2VydGVkID0gMDsKLQkJcGdzdGF0X2luZm8tPnRyYW5zLT50 dXBsZXNfdXBkYXRlZCA9IDA7Ci0JCXBnc3RhdF9pbmZvLT50cmFucy0+dHVwbGVzX2RlbGV0 ZWQgPSAwOworCQllbnN1cmVfdGFic3RhdF94YWN0X2xldmVsKHBnc3RhdHRhYl9pbmZvKTsK KwkJc2F2ZV90cnVuY2Ryb3BfY291bnRlcnMocGdzdGF0dGFiX2luZm8tPnRyYW5zLCBmYWxz ZSk7CisJCXBnc3RhdHRhYl9pbmZvLT50cmFucy0+dHVwbGVzX2luc2VydGVkID0gMDsKKwkJ cGdzdGF0dGFiX2luZm8tPnRyYW5zLT50dXBsZXNfdXBkYXRlZCA9IDA7CisJCXBnc3RhdHRh Yl9pbmZvLT50cmFucy0+dHVwbGVzX2RlbGV0ZWQgPSAwOwogCX0KIH0KIApAQCAtNDIxLDEx ICszOTgsMTEgQEAgcGdzdGF0X2NvdW50X3RydW5jYXRlKFJlbGF0aW9uIHJlbCkKIHZvaWQK IHBnc3RhdF91cGRhdGVfaGVhcF9kZWFkX3R1cGxlcyhSZWxhdGlvbiByZWwsIGludCBkZWx0 YSkKIHsKLQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQorCWlmIChw Z3N0YXRfc2hvdWxkX2NvdW50X3RhYmxlKHJlbCkpCiAJewotCQlQZ1N0YXRfVGFibGVTdGF0 dXMgKnBnc3RhdF9pbmZvID0gcmVsLT5wZ3N0YXRfaW5mbzsKKwkJUGdTdGF0X1RhYmxlU3Rh dHVzICpwZ3N0YXR0YWJfaW5mbyA9IHJlbC0+cGdzdGF0dGFiX2luZm87CiAKLQkJcGdzdGF0 X2luZm8tPnRfY291bnRzLnRfZGVsdGFfZGVhZF90dXBsZXMgLT0gZGVsdGE7CisJCXBnc3Rh dHRhYl9pbmZvLT50X2NvdW50cy50X2RlbHRhX2RlYWRfdHVwbGVzIC09IGRlbHRhOwogCX0K IH0KIApAQCAtNDUxLDcgKzQyOCw3IEBAIHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5X2V4 dChib29sIHNoYXJlZCwgT2lkIHJlbG9pZCkKIAlPaWQJCQlkYm9pZCA9IChzaGFyZWQgPyBJ bnZhbGlkT2lkIDogTXlEYXRhYmFzZUlkKTsKIAogCXJldHVybiAoUGdTdGF0X1N0YXRUYWJF bnRyeSAqKQotCQlwZ3N0YXRfZmV0Y2hfZW50cnkoUEdTVEFUX0tJTkRfUkVMQVRJT04sIGRi b2lkLCByZWxvaWQpOworCQlwZ3N0YXRfZmV0Y2hfZW50cnkoUEdTVEFUX0tJTkRfVEFCTEUs IGRib2lkLCByZWxvaWQpOwogfQogCiAvKgpAQCAtNDY3LDkgKzQ0NCw5IEBAIGZpbmRfdGFi c3RhdF9lbnRyeShPaWQgcmVsX2lkKQogewogCVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVm OwogCi0JZW50cnlfcmVmID0gcGdzdGF0X2ZldGNoX3BlbmRpbmdfZW50cnkoUEdTVEFUX0tJ TkRfUkVMQVRJT04sIE15RGF0YWJhc2VJZCwgcmVsX2lkKTsKKwllbnRyeV9yZWYgPSBwZ3N0 YXRfZmV0Y2hfcGVuZGluZ19lbnRyeShQR1NUQVRfS0lORF9UQUJMRSwgTXlEYXRhYmFzZUlk LCByZWxfaWQpOwogCWlmICghZW50cnlfcmVmKQotCQllbnRyeV9yZWYgPSBwZ3N0YXRfZmV0 Y2hfcGVuZGluZ19lbnRyeShQR1NUQVRfS0lORF9SRUxBVElPTiwgSW52YWxpZE9pZCwgcmVs X2lkKTsKKwkJZW50cnlfcmVmID0gcGdzdGF0X2ZldGNoX3BlbmRpbmdfZW50cnkoUEdTVEFU X0tJTkRfVEFCTEUsIEludmFsaWRPaWQsIHJlbF9pZCk7CiAKIAlpZiAoZW50cnlfcmVmKQog CQlyZXR1cm4gZW50cnlfcmVmLT5wZW5kaW5nOwpAQCAtNDc3LDcgKzQ1NCw3IEBAIGZpbmRf dGFic3RhdF9lbnRyeShPaWQgcmVsX2lkKQogfQogCiAvKgotICogUGVyZm9ybSByZWxhdGlv biBzdGF0cyBzcGVjaWZpYyBlbmQtb2YtdHJhbnNhY3Rpb24gd29yay4gSGVscGVyIGZvcgor ICogUGVyZm9ybSB0YWJsZSBzdGF0cyBzcGVjaWZpYyBlbmQtb2YtdHJhbnNhY3Rpb24gd29y ay4gSGVscGVyIGZvcgogICogQXRFT1hhY3RfUGdTdGF0LgogICoKICAqIFRyYW5zZmVyIHRy YW5zYWN0aW9uYWwgaW5zZXJ0L3VwZGF0ZSBjb3VudHMgaW50byB0aGUgYmFzZSB0YWJzdGF0 IGVudHJpZXMuCkBAIC00ODUsNyArNDYyLDcgQEAgZmluZF90YWJzdGF0X2VudHJ5KE9pZCBy ZWxfaWQpCiAgKiBUb3BUcmFuc2FjdGlvbkNvbnRleHQgYW5kIHdpbGwgZ28gYXdheSBhbnl3 YXkuCiAgKi8KIHZvaWQKLUF0RU9YYWN0X1BnU3RhdF9SZWxhdGlvbnMoUGdTdGF0X1N1Ylhh Y3RTdGF0dXMgKnhhY3Rfc3RhdGUsIGJvb2wgaXNDb21taXQpCitBdEVPWGFjdF9QZ1N0YXRf VGFibGVzKFBnU3RhdF9TdWJYYWN0U3RhdHVzICp4YWN0X3N0YXRlLCBib29sIGlzQ29tbWl0 KQogewogCVBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5zOwogCkBAIC01MzYsMTQgKzUx MywxNCBAQCBBdEVPWGFjdF9QZ1N0YXRfUmVsYXRpb25zKFBnU3RhdF9TdWJYYWN0U3RhdHVz ICp4YWN0X3N0YXRlLCBib29sIGlzQ29tbWl0KQogfQogCiAvKgotICogUGVyZm9ybSByZWxh dGlvbiBzdGF0cyBzcGVjaWZpYyBlbmQtb2Ytc3ViLXRyYW5zYWN0aW9uIHdvcmsuIEhlbHBl ciBmb3IKKyAqIFBlcmZvcm0gdGFibGUgc3RhdHMgc3BlY2lmaWMgZW5kLW9mLXN1Yi10cmFu c2FjdGlvbiB3b3JrLiBIZWxwZXIgZm9yCiAgKiBBdEVPU3ViWGFjdF9QZ1N0YXQuCiAgKgog ICogVHJhbnNmZXIgdHJhbnNhY3Rpb25hbCBpbnNlcnQvdXBkYXRlIGNvdW50cyBpbnRvIHRo ZSBuZXh0IGhpZ2hlcgogICogc3VidHJhbnNhY3Rpb24gc3RhdGUuCiAgKi8KIHZvaWQKLUF0 RU9TdWJYYWN0X1BnU3RhdF9SZWxhdGlvbnMoUGdTdGF0X1N1YlhhY3RTdGF0dXMgKnhhY3Rf c3RhdGUsIGJvb2wgaXNDb21taXQsIGludCBuZXN0RGVwdGgpCitBdEVPU3ViWGFjdF9QZ1N0 YXRfVGFibGVzKFBnU3RhdF9TdWJYYWN0U3RhdHVzICp4YWN0X3N0YXRlLCBib29sIGlzQ29t bWl0LCBpbnQgbmVzdERlcHRoKQogewogCVBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5z OwogCVBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKm5leHRfdHJhbnM7CkBAIC02MjAsMTEgKzU5 NywxMSBAQCBBdEVPU3ViWGFjdF9QZ1N0YXRfUmVsYXRpb25zKFBnU3RhdF9TdWJYYWN0U3Rh dHVzICp4YWN0X3N0YXRlLCBib29sIGlzQ29tbWl0LCBpbgogfQogCiAvKgotICogR2VuZXJh dGUgMlBDIHJlY29yZHMgZm9yIGFsbCB0aGUgcGVuZGluZyB0cmFuc2FjdGlvbi1kZXBlbmRl bnQgcmVsYXRpb24KKyAqIEdlbmVyYXRlIDJQQyByZWNvcmRzIGZvciBhbGwgdGhlIHBlbmRp bmcgdHJhbnNhY3Rpb24tZGVwZW5kZW50IHRhYmxlCiAgKiBzdGF0cy4KICAqLwogdm9pZAot QXRQcmVwYXJlX1BnU3RhdF9SZWxhdGlvbnMoUGdTdGF0X1N1YlhhY3RTdGF0dXMgKnhhY3Rf c3RhdGUpCitBdFByZXBhcmVfUGdTdGF0X1RhYmxlcyhQZ1N0YXRfU3ViWGFjdFN0YXR1cyAq eGFjdF9zdGF0ZSkKIHsKIAlQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFuczsKIApAQCAt NjU5LDEwICs2MzYsMTAgQEAgQXRQcmVwYXJlX1BnU3RhdF9SZWxhdGlvbnMoUGdTdGF0X1N1 YlhhY3RTdGF0dXMgKnhhY3Rfc3RhdGUpCiAgKiByZXBvcnRlZCB0byB0aGUgc3RhdHMgc3lz dGVtIGltbWVkaWF0ZWx5LCB3aGlsZSB0aGUgZWZmZWN0cyBvbiBsaXZlIGFuZAogICogZGVh ZCB0dXBsZSBjb3VudHMgYXJlIHByZXNlcnZlZCBpbiB0aGUgMlBDIHN0YXRlIGZpbGUuCiAg KgotICogTm90ZTogQXRFT1hhY3RfUGdTdGF0X1JlbGF0aW9ucyBpcyBub3QgY2FsbGVkIGR1 cmluZyBQUkVQQVJFLgorICogTm90ZTogQXRFT1hhY3RfUGdTdGF0X1RhYmxlcyBpcyBub3Qg Y2FsbGVkIGR1cmluZyBQUkVQQVJFLgogICovCiB2b2lkCi1Qb3N0UHJlcGFyZV9QZ1N0YXRf UmVsYXRpb25zKFBnU3RhdF9TdWJYYWN0U3RhdHVzICp4YWN0X3N0YXRlKQorUG9zdFByZXBh cmVfUGdTdGF0X1RhYmxlcyhQZ1N0YXRfU3ViWGFjdFN0YXR1cyAqeGFjdF9zdGF0ZSkKIHsK IAlQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFuczsKIApAQCAtNjg1LDI3ICs2NjIsMjcg QEAgcGdzdGF0X3R3b3BoYXNlX3Bvc3Rjb21taXQoVHJhbnNhY3Rpb25JZCB4aWQsIHVpbnQx NiBpbmZvLAogCQkJCQkJICAgdm9pZCAqcmVjZGF0YSwgdWludDMyIGxlbikKIHsKIAlUd29Q aGFzZVBnU3RhdFJlY29yZCAqcmVjID0gKFR3b1BoYXNlUGdTdGF0UmVjb3JkICopIHJlY2Rh dGE7Ci0JUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbzsKKwlQZ1N0YXRfVGFibGVT dGF0dXMgKnBnc3RhdHRhYl9pbmZvOwogCiAJLyogRmluZCBvciBjcmVhdGUgYSB0YWJzdGF0 IGVudHJ5IGZvciB0aGUgcmVsICovCi0JcGdzdGF0X2luZm8gPSBwZ3N0YXRfcHJlcF9yZWxh dGlvbl9wZW5kaW5nKHJlYy0+dF9pZCwgcmVjLT50X3NoYXJlZCk7CisJcGdzdGF0dGFiX2lu Zm8gPSBwZ3N0YXRfcHJlcF90YWJsZV9wZW5kaW5nKHJlYy0+dF9pZCwgcmVjLT50X3NoYXJl ZCk7CiAKIAkvKiBTYW1lIG1hdGggYXMgaW4gQXRFT1hhY3RfUGdTdGF0LCBjb21taXQgY2Fz ZSAqLwotCXBnc3RhdF9pbmZvLT50X2NvdW50cy50X3R1cGxlc19pbnNlcnRlZCArPSByZWMt PnR1cGxlc19pbnNlcnRlZDsKLQlwZ3N0YXRfaW5mby0+dF9jb3VudHMudF90dXBsZXNfdXBk YXRlZCArPSByZWMtPnR1cGxlc191cGRhdGVkOwotCXBnc3RhdF9pbmZvLT50X2NvdW50cy50 X3R1cGxlc19kZWxldGVkICs9IHJlYy0+dHVwbGVzX2RlbGV0ZWQ7Ci0JcGdzdGF0X2luZm8t PnRfY291bnRzLnRfdHJ1bmNkcm9wcGVkID0gcmVjLT50X3RydW5jZHJvcHBlZDsKKwlwZ3N0 YXR0YWJfaW5mby0+dF9jb3VudHMudF90dXBsZXNfaW5zZXJ0ZWQgKz0gcmVjLT50dXBsZXNf aW5zZXJ0ZWQ7CisJcGdzdGF0dGFiX2luZm8tPnRfY291bnRzLnRfdHVwbGVzX3VwZGF0ZWQg Kz0gcmVjLT50dXBsZXNfdXBkYXRlZDsKKwlwZ3N0YXR0YWJfaW5mby0+dF9jb3VudHMudF90 dXBsZXNfZGVsZXRlZCArPSByZWMtPnR1cGxlc19kZWxldGVkOworCXBnc3RhdHRhYl9pbmZv LT50X2NvdW50cy50X3RydW5jZHJvcHBlZCA9IHJlYy0+dF90cnVuY2Ryb3BwZWQ7CiAJaWYg KHJlYy0+dF90cnVuY2Ryb3BwZWQpCiAJewogCQkvKiBmb3JnZXQgbGl2ZS9kZWFkIHN0YXRz IHNlZW4gYnkgYmFja2VuZCB0aHVzIGZhciAqLwotCQlwZ3N0YXRfaW5mby0+dF9jb3VudHMu dF9kZWx0YV9saXZlX3R1cGxlcyA9IDA7Ci0JCXBnc3RhdF9pbmZvLT50X2NvdW50cy50X2Rl bHRhX2RlYWRfdHVwbGVzID0gMDsKKwkJcGdzdGF0dGFiX2luZm8tPnRfY291bnRzLnRfZGVs dGFfbGl2ZV90dXBsZXMgPSAwOworCQlwZ3N0YXR0YWJfaW5mby0+dF9jb3VudHMudF9kZWx0 YV9kZWFkX3R1cGxlcyA9IDA7CiAJfQotCXBnc3RhdF9pbmZvLT50X2NvdW50cy50X2RlbHRh X2xpdmVfdHVwbGVzICs9CisJcGdzdGF0dGFiX2luZm8tPnRfY291bnRzLnRfZGVsdGFfbGl2 ZV90dXBsZXMgKz0KIAkJcmVjLT50dXBsZXNfaW5zZXJ0ZWQgLSByZWMtPnR1cGxlc19kZWxl dGVkOwotCXBnc3RhdF9pbmZvLT50X2NvdW50cy50X2RlbHRhX2RlYWRfdHVwbGVzICs9CisJ cGdzdGF0dGFiX2luZm8tPnRfY291bnRzLnRfZGVsdGFfZGVhZF90dXBsZXMgKz0KIAkJcmVj LT50dXBsZXNfdXBkYXRlZCArIHJlYy0+dHVwbGVzX2RlbGV0ZWQ7Ci0JcGdzdGF0X2luZm8t PnRfY291bnRzLnRfY2hhbmdlZF90dXBsZXMgKz0KKwlwZ3N0YXR0YWJfaW5mby0+dF9jb3Vu dHMudF9jaGFuZ2VkX3R1cGxlcyArPQogCQlyZWMtPnR1cGxlc19pbnNlcnRlZCArIHJlYy0+ dHVwbGVzX3VwZGF0ZWQgKwogCQlyZWMtPnR1cGxlc19kZWxldGVkOwogfQpAQCAtNzIxLDEw ICs2OTgsMTAgQEAgcGdzdGF0X3R3b3BoYXNlX3Bvc3RhYm9ydChUcmFuc2FjdGlvbklkIHhp ZCwgdWludDE2IGluZm8sCiAJCQkJCQkgIHZvaWQgKnJlY2RhdGEsIHVpbnQzMiBsZW4pCiB7 CiAJVHdvUGhhc2VQZ1N0YXRSZWNvcmQgKnJlYyA9IChUd29QaGFzZVBnU3RhdFJlY29yZCAq KSByZWNkYXRhOwotCVBnU3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0X2luZm87CisJUGdTdGF0 X1RhYmxlU3RhdHVzICpwZ3N0YXR0YWJfaW5mbzsKIAogCS8qIEZpbmQgb3IgY3JlYXRlIGEg dGFic3RhdCBlbnRyeSBmb3IgdGhlIHJlbCAqLwotCXBnc3RhdF9pbmZvID0gcGdzdGF0X3By ZXBfcmVsYXRpb25fcGVuZGluZyhyZWMtPnRfaWQsIHJlYy0+dF9zaGFyZWQpOworCXBnc3Rh dHRhYl9pbmZvID0gcGdzdGF0X3ByZXBfdGFibGVfcGVuZGluZyhyZWMtPnRfaWQsIHJlYy0+ dF9zaGFyZWQpOwogCiAJLyogU2FtZSBtYXRoIGFzIGluIEF0RU9YYWN0X1BnU3RhdCwgYWJv cnQgY2FzZSAqLwogCWlmIChyZWMtPnRfdHJ1bmNkcm9wcGVkKQpAQCAtNzMzLDEwICs3MTAs MTAgQEAgcGdzdGF0X3R3b3BoYXNlX3Bvc3RhYm9ydChUcmFuc2FjdGlvbklkIHhpZCwgdWlu dDE2IGluZm8sCiAJCXJlYy0+dHVwbGVzX3VwZGF0ZWQgPSByZWMtPnVwZGF0ZWRfcHJlX3Ry dW5jZHJvcDsKIAkJcmVjLT50dXBsZXNfZGVsZXRlZCA9IHJlYy0+ZGVsZXRlZF9wcmVfdHJ1 bmNkcm9wOwogCX0KLQlwZ3N0YXRfaW5mby0+dF9jb3VudHMudF90dXBsZXNfaW5zZXJ0ZWQg Kz0gcmVjLT50dXBsZXNfaW5zZXJ0ZWQ7Ci0JcGdzdGF0X2luZm8tPnRfY291bnRzLnRfdHVw bGVzX3VwZGF0ZWQgKz0gcmVjLT50dXBsZXNfdXBkYXRlZDsKLQlwZ3N0YXRfaW5mby0+dF9j b3VudHMudF90dXBsZXNfZGVsZXRlZCArPSByZWMtPnR1cGxlc19kZWxldGVkOwotCXBnc3Rh dF9pbmZvLT50X2NvdW50cy50X2RlbHRhX2RlYWRfdHVwbGVzICs9CisJcGdzdGF0dGFiX2lu Zm8tPnRfY291bnRzLnRfdHVwbGVzX2luc2VydGVkICs9IHJlYy0+dHVwbGVzX2luc2VydGVk OworCXBnc3RhdHRhYl9pbmZvLT50X2NvdW50cy50X3R1cGxlc191cGRhdGVkICs9IHJlYy0+ dHVwbGVzX3VwZGF0ZWQ7CisJcGdzdGF0dGFiX2luZm8tPnRfY291bnRzLnRfdHVwbGVzX2Rl bGV0ZWQgKz0gcmVjLT50dXBsZXNfZGVsZXRlZDsKKwlwZ3N0YXR0YWJfaW5mby0+dF9jb3Vu dHMudF9kZWx0YV9kZWFkX3R1cGxlcyArPQogCQlyZWMtPnR1cGxlc19pbnNlcnRlZCArIHJl Yy0+dHVwbGVzX3VwZGF0ZWQ7CiB9CiAKQEAgLTc1MCwyMiArNzI3LDIxIEBAIHBnc3RhdF90 d29waGFzZV9wb3N0YWJvcnQoVHJhbnNhY3Rpb25JZCB4aWQsIHVpbnQxNiBpbmZvLAogICog ZW50cnkgd2hlbiBzdWNjZXNzZnVsbHkgZmx1c2hpbmcuCiAgKi8KIGJvb2wKLXBnc3RhdF9y ZWxhdGlvbl9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dh aXQpCitwZ3N0YXRfdGFibGVfZmx1c2hfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYs IGJvb2wgbm93YWl0KQogewogCXN0YXRpYyBjb25zdCBQZ1N0YXRfVGFibGVDb3VudHMgYWxs X3plcm9lczsKIAlPaWQJCQlkYm9pZDsKIAlQZ1N0YXRfVGFibGVTdGF0dXMgKmxzdGF0czsg LyogcGVuZGluZyBzdGF0cyBlbnRyeSAgKi8KLQlQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKnNo dGFic3RhdHM7CisJUGdTdGF0U2hhcmVkX1RhYmxlICpzaHRhYnN0YXRzOwogCVBnU3RhdF9T dGF0VGFiRW50cnkgKnRhYmVudHJ5OwkvKiB0YWJsZSBlbnRyeSBvZiBzaGFyZWQgc3RhdHMg Ki8KIAlQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnk7CS8qIHBlbmRpbmcgZGF0YWJhc2Ug ZW50cnkgKi8KIAogCWRib2lkID0gZW50cnlfcmVmLT5zaGFyZWRfZW50cnktPmtleS5kYm9p ZDsKIAlsc3RhdHMgPSAoUGdTdGF0X1RhYmxlU3RhdHVzICopIGVudHJ5X3JlZi0+cGVuZGlu ZzsKLQlzaHRhYnN0YXRzID0gKFBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqKSBlbnRyeV9yZWYt PnNoYXJlZF9zdGF0czsKKwlzaHRhYnN0YXRzID0gKFBnU3RhdFNoYXJlZF9UYWJsZSAqKSBl bnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKIAogCS8qCi0JICogSWdub3JlIGVudHJpZXMgdGhh dCBkaWRuJ3QgYWNjdW11bGF0ZSBhbnkgYWN0dWFsIGNvdW50cywgc3VjaCBhcwotCSAqIGlu ZGV4ZXMgdGhhdCB3ZXJlIG9wZW5lZCBieSB0aGUgcGxhbm5lciBidXQgbm90IHVzZWQuCisJ ICogSWdub3JlIGVudHJpZXMgdGhhdCBkaWRuJ3QgYWNjdW11bGF0ZSBhbnkgYWN0dWFsIGNv dW50cy4KIAkgKi8KIAlpZiAobWVtY21wKCZsc3RhdHMtPnRfY291bnRzLCAmYWxsX3plcm9l cywKIAkJCSAgIHNpemVvZihQZ1N0YXRfVGFibGVDb3VudHMpKSA9PSAwKQpAQCAtNzgzLDYg Kzc1OSw3IEBAIHBnc3RhdF9yZWxhdGlvbl9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVu dHJ5X3JlZiwgYm9vbCBub3dhaXQpCiAJaWYgKGxzdGF0cy0+dF9jb3VudHMudF9udW1zY2Fu cykKIAl7CiAJCVRpbWVzdGFtcFR6IHQgPSBHZXRDdXJyZW50VHJhbnNhY3Rpb25TdG9wVGlt ZXN0YW1wKCk7CisKIAkJaWYgKHQgPiB0YWJlbnRyeS0+bGFzdHNjYW4pCiAJCQl0YWJlbnRy eS0+bGFzdHNjYW4gPSB0OwogCX0KQEAgLTgzMSwxMiArODA4LDEyIEBAIHBnc3RhdF9yZWxh dGlvbl9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQp CiB9CiAKIHZvaWQKLXBnc3RhdF9yZWxhdGlvbl9kZWxldGVfcGVuZGluZ19jYihQZ1N0YXRf RW50cnlSZWYgKmVudHJ5X3JlZikKK3Bnc3RhdF90YWJsZV9kZWxldGVfcGVuZGluZ19jYihQ Z1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZikKIHsKIAlQZ1N0YXRfVGFibGVTdGF0dXMgKnBl bmRpbmcgPSAoUGdTdGF0X1RhYmxlU3RhdHVzICopIGVudHJ5X3JlZi0+cGVuZGluZzsKIAog CWlmIChwZW5kaW5nLT5yZWxhdGlvbikKLQkJcGdzdGF0X3VubGlua19yZWxhdGlvbihwZW5k aW5nLT5yZWxhdGlvbik7CisJCXBnc3RhdF91bmxpbmtfdGFibGUocGVuZGluZy0+cmVsYXRp b24pOwogfQogCiAvKgpAQCAtODQ0LDEyICs4MjEsMTIgQEAgcGdzdGF0X3JlbGF0aW9uX2Rl bGV0ZV9wZW5kaW5nX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmKQogICogaW5pdGlh bGl6ZWQgaWYgbm90IGV4aXN0cy4KICAqLwogc3RhdGljIFBnU3RhdF9UYWJsZVN0YXR1cyAq Ci1wZ3N0YXRfcHJlcF9yZWxhdGlvbl9wZW5kaW5nKE9pZCByZWxfaWQsIGJvb2wgaXNzaGFy ZWQpCitwZ3N0YXRfcHJlcF90YWJsZV9wZW5kaW5nKE9pZCByZWxfaWQsIGJvb2wgaXNzaGFy ZWQpCiB7CiAJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CiAJUGdTdGF0X1RhYmxlU3Rh dHVzICpwZW5kaW5nOwogCi0JZW50cnlfcmVmID0gcGdzdGF0X3ByZXBfcGVuZGluZ19lbnRy eShQR1NUQVRfS0lORF9SRUxBVElPTiwKKwllbnRyeV9yZWYgPSBwZ3N0YXRfcHJlcF9wZW5k aW5nX2VudHJ5KFBHU1RBVF9LSU5EX1RBQkxFLAogCQkJCQkJCQkJCSAgaXNzaGFyZWQgPyBJ bnZhbGlkT2lkIDogTXlEYXRhYmFzZUlkLAogCQkJCQkJCQkJCSAgcmVsX2lkLCBOVUxMKTsK IAlwZW5kaW5nID0gZW50cnlfcmVmLT5wZW5kaW5nOwpAQCAtODYzLDcgKzg0MCw3IEBAIHBn c3RhdF9wcmVwX3JlbGF0aW9uX3BlbmRpbmcoT2lkIHJlbF9pZCwgYm9vbCBpc3NoYXJlZCkK ICAqIGFkZCBhIG5ldyAoc3ViKXRyYW5zYWN0aW9uIHN0YXRlIHJlY29yZAogICovCiBzdGF0 aWMgdm9pZAotYWRkX3RhYnN0YXRfeGFjdF9sZXZlbChQZ1N0YXRfVGFibGVTdGF0dXMgKnBn c3RhdF9pbmZvLCBpbnQgbmVzdF9sZXZlbCkKK2FkZF90YWJzdGF0X3hhY3RfbGV2ZWwoUGdT dGF0X1RhYmxlU3RhdHVzICpwZ3N0YXR0YWJfaW5mbywgaW50IG5lc3RfbGV2ZWwpCiB7CiAJ UGdTdGF0X1N1YlhhY3RTdGF0dXMgKnhhY3Rfc3RhdGU7CiAJUGdTdGF0X1RhYmxlWGFjdFN0 YXR1cyAqdHJhbnM7CkBAIC04NzksMjQgKzg1NiwyNCBAQCBhZGRfdGFic3RhdF94YWN0X2xl dmVsKFBnU3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0X2luZm8sIGludCBuZXN0X2xldmVsKQog CQlNZW1vcnlDb250ZXh0QWxsb2NaZXJvKFRvcFRyYW5zYWN0aW9uQ29udGV4dCwKIAkJCQkJ CQkgICBzaXplb2YoUGdTdGF0X1RhYmxlWGFjdFN0YXR1cykpOwogCXRyYW5zLT5uZXN0X2xl dmVsID0gbmVzdF9sZXZlbDsKLQl0cmFucy0+dXBwZXIgPSBwZ3N0YXRfaW5mby0+dHJhbnM7 Ci0JdHJhbnMtPnBhcmVudCA9IHBnc3RhdF9pbmZvOworCXRyYW5zLT51cHBlciA9IHBnc3Rh dHRhYl9pbmZvLT50cmFuczsKKwl0cmFucy0+cGFyZW50ID0gcGdzdGF0dGFiX2luZm87CiAJ dHJhbnMtPm5leHQgPSB4YWN0X3N0YXRlLT5maXJzdDsKIAl4YWN0X3N0YXRlLT5maXJzdCA9 IHRyYW5zOwotCXBnc3RhdF9pbmZvLT50cmFucyA9IHRyYW5zOworCXBnc3RhdHRhYl9pbmZv LT50cmFucyA9IHRyYW5zOwogfQogCiAvKgogICogQWRkIGEgbmV3IChzdWIpdHJhbnNhY3Rp b24gcmVjb3JkIGlmIG5lZWRlZC4KICAqLwogc3RhdGljIHZvaWQKLWVuc3VyZV90YWJzdGF0 X3hhY3RfbGV2ZWwoUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbykKK2Vuc3VyZV90 YWJzdGF0X3hhY3RfbGV2ZWwoUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXR0YWJfaW5mbykK IHsKIAlpbnQJCQluZXN0X2xldmVsID0gR2V0Q3VycmVudFRyYW5zYWN0aW9uTmVzdExldmVs KCk7CiAKLQlpZiAocGdzdGF0X2luZm8tPnRyYW5zID09IE5VTEwgfHwKLQkJcGdzdGF0X2lu Zm8tPnRyYW5zLT5uZXN0X2xldmVsICE9IG5lc3RfbGV2ZWwpCi0JCWFkZF90YWJzdGF0X3hh Y3RfbGV2ZWwocGdzdGF0X2luZm8sIG5lc3RfbGV2ZWwpOworCWlmIChwZ3N0YXR0YWJfaW5m by0+dHJhbnMgPT0gTlVMTCB8fAorCQlwZ3N0YXR0YWJfaW5mby0+dHJhbnMtPm5lc3RfbGV2 ZWwgIT0gbmVzdF9sZXZlbCkKKwkJYWRkX3RhYnN0YXRfeGFjdF9sZXZlbChwZ3N0YXR0YWJf aW5mbywgbmVzdF9sZXZlbCk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9hY3Rpdml0eS9wZ3N0YXRfeGFjdC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X3hhY3QuYwppbmRleCA1YTNhY2E0YWVmLi44NzBmMWIxMTAzIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfeGFjdC5jCisrKyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF94YWN0LmMKQEAgLTUxLDcgKzUxLDcg QEAgQXRFT1hhY3RfUGdTdGF0KGJvb2wgaXNDb21taXQsIGJvb2wgcGFyYWxsZWwpCiAJCUFz c2VydCh4YWN0X3N0YXRlLT5uZXN0X2xldmVsID09IDEpOwogCQlBc3NlcnQoeGFjdF9zdGF0 ZS0+cHJldiA9PSBOVUxMKTsKIAotCQlBdEVPWGFjdF9QZ1N0YXRfUmVsYXRpb25zKHhhY3Rf c3RhdGUsIGlzQ29tbWl0KTsKKwkJQXRFT1hhY3RfUGdTdGF0X1RhYmxlcyh4YWN0X3N0YXRl LCBpc0NvbW1pdCk7CiAJCUF0RU9YYWN0X1BnU3RhdF9Ecm9wcGVkU3RhdHMoeGFjdF9zdGF0 ZSwgaXNDb21taXQpOwogCX0KIAlwZ1N0YXRYYWN0U3RhY2sgPSBOVUxMOwpAQCAtMTIyLDcg KzEyMiw3IEBAIEF0RU9TdWJYYWN0X1BnU3RhdChib29sIGlzQ29tbWl0LCBpbnQgbmVzdERl cHRoKQogCQkvKiBkZWxpbmsgeGFjdF9zdGF0ZSBmcm9tIHN0YWNrIGltbWVkaWF0ZWx5IHRv IHNpbXBsaWZ5IHJldXNlIGNhc2UgKi8KIAkJcGdTdGF0WGFjdFN0YWNrID0geGFjdF9zdGF0 ZS0+cHJldjsKIAotCQlBdEVPU3ViWGFjdF9QZ1N0YXRfUmVsYXRpb25zKHhhY3Rfc3RhdGUs IGlzQ29tbWl0LCBuZXN0RGVwdGgpOworCQlBdEVPU3ViWGFjdF9QZ1N0YXRfVGFibGVzKHhh Y3Rfc3RhdGUsIGlzQ29tbWl0LCBuZXN0RGVwdGgpOwogCQlBdEVPU3ViWGFjdF9QZ1N0YXRf RHJvcHBlZFN0YXRzKHhhY3Rfc3RhdGUsIGlzQ29tbWl0LCBuZXN0RGVwdGgpOwogCiAJCXBm cmVlKHhhY3Rfc3RhdGUpOwpAQCAtMTk3LDcgKzE5Nyw3IEBAIEF0UHJlcGFyZV9QZ1N0YXQo dm9pZCkKIAkJQXNzZXJ0KHhhY3Rfc3RhdGUtPm5lc3RfbGV2ZWwgPT0gMSk7CiAJCUFzc2Vy dCh4YWN0X3N0YXRlLT5wcmV2ID09IE5VTEwpOwogCi0JCUF0UHJlcGFyZV9QZ1N0YXRfUmVs YXRpb25zKHhhY3Rfc3RhdGUpOworCQlBdFByZXBhcmVfUGdTdGF0X1RhYmxlcyh4YWN0X3N0 YXRlKTsKIAl9CiB9CiAKQEAgLTIyMSw3ICsyMjEsNyBAQCBQb3N0UHJlcGFyZV9QZ1N0YXQo dm9pZCkKIAkJQXNzZXJ0KHhhY3Rfc3RhdGUtPm5lc3RfbGV2ZWwgPT0gMSk7CiAJCUFzc2Vy dCh4YWN0X3N0YXRlLT5wcmV2ID09IE5VTEwpOwogCi0JCVBvc3RQcmVwYXJlX1BnU3RhdF9S ZWxhdGlvbnMoeGFjdF9zdGF0ZSk7CisJCVBvc3RQcmVwYXJlX1BnU3RhdF9UYWJsZXMoeGFj dF9zdGF0ZSk7CiAJfQogCXBnU3RhdFhhY3RTdGFjayA9IE5VTEw7CiAKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXggOTczOTc5NTA4ZC4uZGVhNzYyYzExNiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKQEAgLTM2LDEwNiArMzYsMTI0IEBA CiAKICNkZWZpbmUgSEFTX1BHU1RBVF9QRVJNSVNTSU9OUyhyb2xlKQkgKGhhc19wcml2c19v Zl9yb2xlKEdldFVzZXJJZCgpLCBST0xFX1BHX1JFQURfQUxMX1NUQVRTKSB8fCBoYXNfcHJp dnNfb2Zfcm9sZShHZXRVc2VySWQoKSwgcm9sZSkpCiAKLSNkZWZpbmUgUEdfU1RBVF9HRVRf UkVMRU5UUllfSU5UNjQoc3RhdCkJCQkJCQlcCi1EYXR1bQkJCQkJCQkJCQkJCQkJCVwKLUNw cENvbmNhdChwZ19zdGF0X2dldF8sc3RhdCkoUEdfRlVOQ1RJT05fQVJHUykJCQkJCVwKLXsJ CQkJCQkJCQkJCQkJCQkJXAotCU9pZAkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsJCQkJ CQlcCi0JaW50NjQJCXJlc3VsdDsJCQkJCQkJCQkJCVwKLQlQZ1N0YXRfU3RhdFRhYkVudHJ5 ICp0YWJlbnRyeTsJCQkJCQkJCVwKLQkJCQkJCQkJCQkJCQkJCQlcCi0JaWYgKCh0YWJlbnRy eSA9IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5KHJlbGlkKSkgPT0gTlVMTCkJXAotCQly ZXN1bHQgPSAwOwkJCQkJCQkJCQkJCVwKLQllbHNlCQkJCQkJCQkJCQkJCQlcCi0JCXJlc3Vs dCA9IChpbnQ2NCkgKHRhYmVudHJ5LT5zdGF0KTsJCQkJCQlcCi0JCQkJCQkJCQkJCQkJCQkJ XAotCVBHX1JFVFVSTl9JTlQ2NChyZXN1bHQpOwkJCQkJCQkJCVwKLX0JCQkJCQkJCQkJCQkJ CQkJXAorI2RlZmluZSBQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChSZWxraW5kLHJlbGtp bmQsc3RhdCkJCQkJXAorRGF0dW0JCQkJCQkJCQkJCQkJCQkJCVwKK3BnX3N0YXRfZ2V0XyMj cmVsa2luZCMjXyMjc3RhdChQR19GVU5DVElPTl9BUkdTKQkJCQkJCVwKK3sJCQkJCQkJCQkJ CQkJCQkJCQlcCisJT2lkCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOwkJCQkJCQkJXAor CWludDY0CQlyZXN1bHQ7CQkJCQkJCQkJCQkJCVwKKwlQZ1N0YXRfU3RhdCMjUmVsa2luZCMj RW50cnkgKmVudHJ5OwkJCQkJCQkJCVwKKwkJCQkJCQkJCQkJCQkJCQkJCVwKKwlpZiAoKGVu dHJ5ID0gcGdzdGF0X2ZldGNoX3N0YXRfIyNyZWxraW5kIyNlbnRyeShyZWxpZCkpID09IE5V TEwpCVwKKwkJcmVzdWx0ID0gMDsJCQkJCQkJCQkJCQkJCVwKKwllbHNlCQkJCQkJCQkJCQkJ CQkJCVwKKwkJcmVzdWx0ID0gKGludDY0KSAoZW50cnktPnN0YXQpOwkJCQkJCQkJCVwKKwkJ CQkJCQkJCQkJCQkJCQkJCVwKKwlQR19SRVRVUk5fSU5UNjQocmVzdWx0KTsJCQkJCQkJCQkJ CVwKK30KKworLyogcGdfc3RhdF9nZXRfdGFiX2FuYWx5emVfY291bnQgKi8KK1BHX1NUQVRf R0VUX1JFTEVOVFJZX0lOVDY0KFRhYix0YWIsYW5hbHl6ZV9jb3VudCk7CisKKy8qIHBnX3N0 YXRfZ2V0X3RhYl9hdXRvYW5hbHl6ZV9jb3VudCAqLworUEdfU1RBVF9HRVRfUkVMRU5UUllf SU5UNjQoVGFiLHRhYixhdXRvYW5hbHl6ZV9jb3VudCk7CisKKy8qIHBnX3N0YXRfZ2V0X3Rh Yl9hdXRvdmFjdXVtX2NvdW50ICovCitQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChUYWIs dGFiLGF1dG92YWN1dW1fY291bnQpOworCisvKiBwZ19zdGF0X2dldF90YWJfYmxvY2tzX2Zl dGNoZWQgKi8KK1BHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0KFRhYix0YWIsYmxvY2tzX2Zl dGNoZWQpOworCisvKiBwZ19zdGF0X2dldF90YWJfYmxvY2tzX2hpdCAqLworUEdfU1RBVF9H RVRfUkVMRU5UUllfSU5UNjQoVGFiLHRhYixibG9ja3NfaGl0KTsKKworLyogcGdfc3RhdF9n ZXRfdGFiX2RlYWRfdHVwbGVzICovCitQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChUYWIs dGFiLGRlYWRfdHVwbGVzKTsKIAotLyogcGdfc3RhdF9nZXRfYW5hbHl6ZV9jb3VudCAqLwot UEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQoYW5hbHl6ZV9jb3VudCk7CisvKiBwZ19zdGF0 X2dldF90YWJfaW5zX3NpbmNlX3ZhY3V1bSAqLworUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5U NjQoVGFiLHRhYixpbnNfc2luY2VfdmFjdXVtKTsKIAotLyogcGdfc3RhdF9nZXRfYXV0b2Fu YWx5emVfY291bnQgKi8KLVBHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0KGF1dG9hbmFseXpl X2NvdW50KTsKKy8qIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyAqLworUEdfU1RBVF9H RVRfUkVMRU5UUllfSU5UNjQoVGFiLHRhYixsaXZlX3R1cGxlcyk7CiAKLS8qIHBnX3N0YXRf Z2V0X2F1dG92YWN1dW1fY291bnQgKi8KLVBHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0KGF1 dG92YWN1dW1fY291bnQpOworLyogcGdfc3RhdF9nZXRfbW9kX3NpbmNlX2FuYWx5emUgKi8K K1BHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0KFRhYix0YWIsbW9kX3NpbmNlX2FuYWx5emUp OwogCi0vKiBwZ19zdGF0X2dldF9ibG9ja3NfZmV0Y2hlZCAqLwotUEdfU1RBVF9HRVRfUkVM RU5UUllfSU5UNjQoYmxvY2tzX2ZldGNoZWQpOworLyogcGdfc3RhdF9nZXRfdGFiX251bXNj YW5zICovCitQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChUYWIsdGFiLG51bXNjYW5zKTsK IAotLyogcGdfc3RhdF9nZXRfYmxvY2tzX2hpdCAqLwotUEdfU1RBVF9HRVRfUkVMRU5UUllf SU5UNjQoYmxvY2tzX2hpdCk7CisvKiBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQg Ki8KK1BHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0KFRhYix0YWIsdHVwbGVzX2RlbGV0ZWQp OwogCi0vKiBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyAqLwotUEdfU1RBVF9HRVRfUkVMRU5U UllfSU5UNjQoZGVhZF90dXBsZXMpOworLyogcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19mZXRj aGVkICovCitQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChUYWIsdGFiLHR1cGxlc19mZXRj aGVkKTsKIAotLyogcGdfc3RhdF9nZXRfaW5zX3NpbmNlX3ZhY3V1bSAqLwotUEdfU1RBVF9H RVRfUkVMRU5UUllfSU5UNjQoaW5zX3NpbmNlX3ZhY3V1bSk7CisvKiBwZ19zdGF0X2dldF90 YWJfdHVwbGVzX2hvdF91cGRhdGVkICovCitQR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChU YWIsdGFiLHR1cGxlc19ob3RfdXBkYXRlZCk7CiAKLS8qIHBnX3N0YXRfZ2V0X2xpdmVfdHVw bGVzICovCi1QR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChsaXZlX3R1cGxlcyk7CisvKiBw Z19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkICovCitQR19TVEFUX0dFVF9SRUxFTlRS WV9JTlQ2NChUYWIsdGFiLHR1cGxlc19pbnNlcnRlZCk7CiAKLS8qIHBnX3N0YXRfZ2V0X21v ZHNfc2luY2VfYW5hbHl6ZSAqLwotUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQobW9kX3Np bmNlX2FuYWx5emUpOworLyogcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19yZXR1cm5lZCAqLwor UEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQoVGFiLHRhYix0dXBsZXNfcmV0dXJuZWQpOwog Ci0vKiBwZ19zdGF0X2dldF9udW1zY2FucyAqLwotUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5U NjQobnVtc2NhbnMpOworLyogcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRhdGVkICovCitQ R19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChUYWIsdGFiLHR1cGxlc191cGRhdGVkKTsKIAot LyogcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQgKi8KLVBHX1NUQVRfR0VUX1JFTEVOVFJZ X0lOVDY0KHR1cGxlc19kZWxldGVkKTsKKy8qIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291 bnQgKi8KK1BHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0KFRhYix0YWIsdmFjdXVtX2NvdW50 KTsKIAotLyogcGdfc3RhdF9nZXRfdHVwbGVzX2ZldGNoZWQgKi8KLVBHX1NUQVRfR0VUX1JF TEVOVFJZX0lOVDY0KHR1cGxlc19mZXRjaGVkKTsKKy8qIHBnX3N0YXRfZ2V0X2luZF9udW1z Y2FucyAqLworUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQoSW5kLGluZCxudW1zY2Fucyk7 CiAKLS8qIHBnX3N0YXRfZ2V0X3R1cGxlc19ob3RfdXBkYXRlZCAqLwotUEdfU1RBVF9HRVRf UkVMRU5UUllfSU5UNjQodHVwbGVzX2hvdF91cGRhdGVkKTsKKy8qIHBnX3N0YXRfZ2V0X2lu ZF90dXBsZXNfcmV0dXJuZWQgKi8KK1BHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0KEluZCxp bmQsdHVwbGVzX3JldHVybmVkKTsKIAotLyogcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVk ICovCi1QR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NCh0dXBsZXNfaW5zZXJ0ZWQpOworLyog cGdfc3RhdF9nZXRfaW5kX3R1cGxlc19mZXRjaGVkICovCitQR19TVEFUX0dFVF9SRUxFTlRS WV9JTlQ2NChJbmQsaW5kLHR1cGxlc19mZXRjaGVkKTsKIAotLyogcGdfc3RhdF9nZXRfdHVw bGVzX3JldHVybmVkICovCi1QR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NCh0dXBsZXNfcmV0 dXJuZWQpOworLyogcGdfc3RhdF9nZXRfaW5kX2Jsb2Nrc19mZXRjaGVkICovCitQR19TVEFU X0dFVF9SRUxFTlRSWV9JTlQ2NChJbmQsaW5kLGJsb2Nrc19mZXRjaGVkKTsKIAotLyogcGdf c3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQgKi8KLVBHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0 KHR1cGxlc191cGRhdGVkKTsKKy8qIHBnX3N0YXRfZ2V0X2luZF9ibG9ja3NfaGl0ICovCitQ R19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChJbmQsaW5kLGJsb2Nrc19oaXQpOwogCi0vKiBw Z19zdGF0X2dldF92YWN1dW1fY291bnQgKi8KLVBHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0 KHZhY3V1bV9jb3VudCk7CisjZGVmaW5lIFBHX1NUQVRfR0VUX1JFTEVOVFJZX1RJTUVTVEFN UFRaKFJlbGtpbmQscmVsa2luZCxzdGF0KQkJCVwKK0RhdHVtCQkJCQkJCQkJCQkJCQkJCQlc CitwZ19zdGF0X2dldF8jI3JlbGtpbmQjI18jI3N0YXQoUEdfRlVOQ1RJT05fQVJHUykJCQkJ CQlcCit7CQkJCQkJCQkJCQkJCQkJCQkJXAorCU9pZAkJCXJlbGlkID0gUEdfR0VUQVJHX09J RCgwKTsJCQkJCQkJCVwKKwlUaW1lc3RhbXBUegkJcmVzdWx0OwkJCQkJCQkJCQkJCVwKKwlQ Z1N0YXRfU3RhdCMjUmVsa2luZCMjRW50cnkgKmVudHJ5OwkJCQkJCQkJCVwKKwkJCQkJCQkJ CQkJCQkJCQkJCVwKKwlpZiAoKGVudHJ5ID0gcGdzdGF0X2ZldGNoX3N0YXRfIyNyZWxraW5k IyNlbnRyeShyZWxpZCkpID09IE5VTEwpCVwKKwkJcmVzdWx0ID0gMDsJCQkJCQkJCQkJCQkJ CVwKKwllbHNlCQkJCQkJCQkJCQkJCQkJCVwKKwkJcmVzdWx0ID0gZW50cnktPnN0YXQ7CQkJ CQkJCQkJCQlcCisJCQkJCQkJCQkJCQkJCQkJCQlcCisJaWYgKHJlc3VsdCA9PSAwKQkJCQkJ CQkJCQkJCQlcCisJCVBHX1JFVFVSTl9OVUxMKCk7CQkJCQkJCQkJCQkJXAorCWVsc2UJCQkJ CQkJCQkJCQkJCQkJXAorCQlQR19SRVRVUk5fVElNRVNUQU1QVFoocmVzdWx0KTsJCQkJCQkJ CQlcCit9CiAKLSNkZWZpbmUgUEdfU1RBVF9HRVRfUkVMRU5UUllfVElNRVNUQU1QVFooc3Rh dCkJCQkJCVwKLURhdHVtCQkJCQkJCQkJCQkJCQkJXAotQ3BwQ29uY2F0KHBnX3N0YXRfZ2V0 XyxzdGF0KShQR19GVU5DVElPTl9BUkdTKQkJCQkJXAotewkJCQkJCQkJCQkJCQkJCQlcCi0J T2lkCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOwkJCQkJCVwKLQlUaW1lc3RhbXBUeiBy ZXN1bHQ7CQkJCQkJCQkJCQlcCi0JUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50cnk7CQkJ CQkJCQlcCi0JCQkJCQkJCQkJCQkJCQkJXAotCWlmICgodGFiZW50cnkgPSBwZ3N0YXRfZmV0 Y2hfc3RhdF90YWJlbnRyeShyZWxpZCkpID09IE5VTEwpCVwKLQkJcmVzdWx0ID0gMDsJCQkJ CQkJCQkJCQlcCi0JZWxzZQkJCQkJCQkJCQkJCQkJXAotCQlyZXN1bHQgPSB0YWJlbnRyeS0+ c3RhdDsJCQkJCQkJCVwKLQkJCQkJCQkJCQkJCQkJCQlcCi0JaWYgKHJlc3VsdCA9PSAwKQkJ CQkJCQkJCQkJXAotCQlQR19SRVRVUk5fTlVMTCgpOwkJCQkJCQkJCQlcCi0JZWxzZQkJCQkJ CQkJCQkJCQkJXAotCQlQR19SRVRVUk5fVElNRVNUQU1QVFoocmVzdWx0KTsJCQkJCQkJXAot fQkJCQkJCQkJCQkJCQkJCQlcCisvKiBwZ19zdGF0X2dldF90YWJfbGFzdF9hbmFseXplX3Rp bWUgKi8KK1BHX1NUQVRfR0VUX1JFTEVOVFJZX1RJTUVTVEFNUFRaKFRhYix0YWIsbGFzdF9h bmFseXplX3RpbWUpOwogCi0vKiBwZ19zdGF0X2dldF9sYXN0X2FuYWx5emVfdGltZSAqLwot UEdfU1RBVF9HRVRfUkVMRU5UUllfVElNRVNUQU1QVFoobGFzdF9hbmFseXplX3RpbWUpOwor LyogcGdfc3RhdF9nZXRfdGFiX2xhc3RfYXV0b2FuYWx5emVfdGltZSAqLworUEdfU1RBVF9H RVRfUkVMRU5UUllfVElNRVNUQU1QVFooVGFiLHRhYixsYXN0X2F1dG9hbmFseXplX3RpbWUp OwogCi0vKiBwZ19zdGF0X2dldF9sYXN0X2F1dG9hbmFseXplX3RpbWUgKi8KLVBHX1NUQVRf R0VUX1JFTEVOVFJZX1RJTUVTVEFNUFRaKGxhc3RfYXV0b2FuYWx5emVfdGltZSk7CisvKiBw Z19zdGF0X2dldF90YWJfbGFzdF9hdXRvdmFjdXVtX3RpbWUgKi8KK1BHX1NUQVRfR0VUX1JF TEVOVFJZX1RJTUVTVEFNUFRaKFRhYix0YWIsbGFzdF9hdXRvdmFjdXVtX3RpbWUpOwogCi0v KiBwZ19zdGF0X2dldF9sYXN0X2F1dG92YWN1dW1fdGltZSAqLwotUEdfU1RBVF9HRVRfUkVM RU5UUllfVElNRVNUQU1QVFoobGFzdF9hdXRvdmFjdXVtX3RpbWUpOworLyogcGdfc3RhdF9n ZXRfdGFiX2xhc3RfdmFjdXVtX3RpbWUgKi8KK1BHX1NUQVRfR0VUX1JFTEVOVFJZX1RJTUVT VEFNUFRaKFRhYix0YWIsbGFzdF92YWN1dW1fdGltZSk7CiAKLS8qIHBnX3N0YXRfZ2V0X2xh c3RfdmFjdXVtX3RpbWUgKi8KLVBHX1NUQVRfR0VUX1JFTEVOVFJZX1RJTUVTVEFNUFRaKGxh c3RfdmFjdXVtX3RpbWUpOworLyogcGdfc3RhdF9nZXRfdGFiX2xhc3RzY2FuICovCitQR19T VEFUX0dFVF9SRUxFTlRSWV9USU1FU1RBTVBUWihUYWIsdGFiLGxhc3RzY2FuKTsKIAotLyog cGdfc3RhdF9nZXRfbGFzdHNjYW4gKi8KLVBHX1NUQVRfR0VUX1JFTEVOVFJZX1RJTUVTVEFN UFRaKGxhc3RzY2FuKTsKKy8qIHBnX3N0YXRfZ2V0X2luZF9sYXN0c2NhbiAqLworUEdfU1RB VF9HRVRfUkVMRU5UUllfVElNRVNUQU1QVFooSW5kLGluZCxsYXN0c2Nhbik7CiAKIERhdHVt CiBwZ19zdGF0X2dldF9mdW5jdGlvbl9jYWxscyhQR19GVU5DVElPTl9BUkdTKQpAQCAtMTU4 Niw3ICsxNjA0LDcgQEAgcGdfc3RhdF9nZXRfc2xydShQR19GVU5DVElPTl9BUkdTKQogfQog CiBEYXR1bQotcGdfc3RhdF9nZXRfeGFjdF9udW1zY2FucyhQR19GVU5DVElPTl9BUkdTKQor cGdfc3RhdF9nZXRfdGFiX3hhY3RfbnVtc2NhbnMoUEdfRlVOQ1RJT05fQVJHUykKIHsKIAlP aWQJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CiAJaW50NjQJCXJlc3VsdDsKQEAgLTE2 MDAsMTcgKzE2MTgsMzIgQEAgcGdfc3RhdF9nZXRfeGFjdF9udW1zY2FucyhQR19GVU5DVElP Tl9BUkdTKQogCVBHX1JFVFVSTl9JTlQ2NChyZXN1bHQpOwogfQogCitEYXR1bQorcGdfc3Rh dF9nZXRfaW5kX3hhY3RfbnVtc2NhbnMoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlPaWQJCQly ZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJaW50NjQJCXJlc3VsdDsKKwlQZ1N0YXRfSW5k ZXhTdGF0dXMgKmluZGVudHJ5OworCisJaWYgKChpbmRlbnRyeSA9IGZpbmRfaW5kc3RhdF9l bnRyeShyZWxpZCkpID09IE5VTEwpCisJCXJlc3VsdCA9IDA7CisJZWxzZQorCQlyZXN1bHQg PSAoaW50NjQpIChpbmRlbnRyeS0+aV9jb3VudHMuaV9udW1zY2Fucyk7CisKKwlQR19SRVRV Uk5fSU5UNjQocmVzdWx0KTsKK30KKwogRGF0dW0KIHBnX3N0YXRfZ2V0X3hhY3RfdHVwbGVz X3JldHVybmVkKFBHX0ZVTkNUSU9OX0FSR1MpCiB7CiAJT2lkCQkJcmVsaWQgPSBQR19HRVRB UkdfT0lEKDApOwogCWludDY0CQlyZXN1bHQ7Ci0JUGdTdGF0X1RhYmxlU3RhdHVzICp0YWJl bnRyeTsKKwlQZ1N0YXRfSW5kZXhTdGF0dXMgKmluZGVudHJ5OwogCi0JaWYgKCh0YWJlbnRy eSA9IGZpbmRfdGFic3RhdF9lbnRyeShyZWxpZCkpID09IE5VTEwpCisJaWYgKChpbmRlbnRy eSA9IGZpbmRfaW5kc3RhdF9lbnRyeShyZWxpZCkpID09IE5VTEwpCiAJCXJlc3VsdCA9IDA7 CiAJZWxzZQotCQlyZXN1bHQgPSAoaW50NjQpICh0YWJlbnRyeS0+dF9jb3VudHMudF90dXBs ZXNfcmV0dXJuZWQpOworCQlyZXN1bHQgPSAoaW50NjQpIChpbmRlbnRyeS0+aV9jb3VudHMu aV90dXBsZXNfcmV0dXJuZWQpOwogCiAJUEdfUkVUVVJOX0lOVDY0KHJlc3VsdCk7CiB9CkBA IC0xNjIwLDEyICsxNjUzLDEyIEBAIHBnX3N0YXRfZ2V0X3hhY3RfdHVwbGVzX2ZldGNoZWQo UEdfRlVOQ1RJT05fQVJHUykKIHsKIAlPaWQJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7 CiAJaW50NjQJCXJlc3VsdDsKLQlQZ1N0YXRfVGFibGVTdGF0dXMgKnRhYmVudHJ5OworCVBn U3RhdF9JbmRleFN0YXR1cyAqaW5kZW50cnk7CiAKLQlpZiAoKHRhYmVudHJ5ID0gZmluZF90 YWJzdGF0X2VudHJ5KHJlbGlkKSkgPT0gTlVMTCkKKwlpZiAoKGluZGVudHJ5ID0gZmluZF9p bmRzdGF0X2VudHJ5KHJlbGlkKSkgPT0gTlVMTCkKIAkJcmVzdWx0ID0gMDsKIAllbHNlCi0J CXJlc3VsdCA9IChpbnQ2NCkgKHRhYmVudHJ5LT50X2NvdW50cy50X3R1cGxlc19mZXRjaGVk KTsKKwkJcmVzdWx0ID0gKGludDY0KSAoaW5kZW50cnktPmlfY291bnRzLmlfdHVwbGVzX2Zl dGNoZWQpOwogCiAJUEdfUkVUVVJOX0lOVDY0KHJlc3VsdCk7CiB9CkBAIC0xNzEzLDEyICsx NzQ2LDEyIEBAIHBnX3N0YXRfZ2V0X3hhY3RfYmxvY2tzX2ZldGNoZWQoUEdfRlVOQ1RJT05f QVJHUykKIHsKIAlPaWQJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CiAJaW50NjQJCXJl c3VsdDsKLQlQZ1N0YXRfVGFibGVTdGF0dXMgKnRhYmVudHJ5OworCVBnU3RhdF9JbmRleFN0 YXR1cyAqaW5kZW50cnk7CiAKLQlpZiAoKHRhYmVudHJ5ID0gZmluZF90YWJzdGF0X2VudHJ5 KHJlbGlkKSkgPT0gTlVMTCkKKwlpZiAoKGluZGVudHJ5ID0gZmluZF9pbmRzdGF0X2VudHJ5 KHJlbGlkKSkgPT0gTlVMTCkKIAkJcmVzdWx0ID0gMDsKIAllbHNlCi0JCXJlc3VsdCA9IChp bnQ2NCkgKHRhYmVudHJ5LT50X2NvdW50cy50X2Jsb2Nrc19mZXRjaGVkKTsKKwkJcmVzdWx0 ID0gKGludDY0KSAoaW5kZW50cnktPmlfY291bnRzLmlfYmxvY2tzX2ZldGNoZWQpOwogCiAJ UEdfUkVUVVJOX0lOVDY0KHJlc3VsdCk7CiB9CkBAIC0xNzI4LDEyICsxNzYxLDEyIEBAIHBn X3N0YXRfZ2V0X3hhY3RfYmxvY2tzX2hpdChQR19GVU5DVElPTl9BUkdTKQogewogCU9pZAkJ CXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsKIAlpbnQ2NAkJcmVzdWx0OwotCVBnU3RhdF9U YWJsZVN0YXR1cyAqdGFiZW50cnk7CisJUGdTdGF0X0luZGV4U3RhdHVzICppbmRlbnRyeTsK IAotCWlmICgodGFiZW50cnkgPSBmaW5kX3RhYnN0YXRfZW50cnkocmVsaWQpKSA9PSBOVUxM KQorCWlmICgoaW5kZW50cnkgPSBmaW5kX2luZHN0YXRfZW50cnkocmVsaWQpKSA9PSBOVUxM KQogCQlyZXN1bHQgPSAwOwogCWVsc2UKLQkJcmVzdWx0ID0gKGludDY0KSAodGFiZW50cnkt PnRfY291bnRzLnRfYmxvY2tzX2hpdCk7CisJCXJlc3VsdCA9IChpbnQ2NCkgKGluZGVudHJ5 LT5pX2NvdW50cy5pX2Jsb2Nrc19oaXQpOwogCiAJUEdfUkVUVVJOX0lOVDY0KHJlc3VsdCk7 CiB9CkBAIC0xODUyLDcgKzE4ODUsOCBAQCBwZ19zdGF0X3Jlc2V0X3NpbmdsZV90YWJsZV9j b3VudGVycyhQR19GVU5DVElPTl9BUkdTKQogewogCU9pZAkJCXRhYm9pZCA9IFBHX0dFVEFS R19PSUQoMCk7CiAKLQlwZ3N0YXRfcmVzZXQoUEdTVEFUX0tJTkRfUkVMQVRJT04sIE15RGF0 YWJhc2VJZCwgdGFib2lkKTsKKwlwZ3N0YXRfcmVzZXQoUEdTVEFUX0tJTkRfVEFCTEUsIE15 RGF0YWJhc2VJZCwgdGFib2lkKTsKKwlwZ3N0YXRfcmVzZXQoUEdTVEFUX0tJTkRfSU5ERVgs IE15RGF0YWJhc2VJZCwgdGFib2lkKTsKIAogCVBHX1JFVFVSTl9WT0lEKCk7CiB9CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9yZWxjYWNoZS5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvY2FjaGUvcmVsY2FjaGUuYwppbmRleCBhNTBlZWNjN2M4Li5lNzQ3MDQ3NDJj IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9yZWxjYWNoZS5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL3JlbGNhY2hlLmMKQEAgLTI0MTEsNyArMjQxMSwx MCBAQCBSZWxhdGlvbkRlc3Ryb3lSZWxhdGlvbihSZWxhdGlvbiByZWxhdGlvbiwgYm9vbCBy ZW1lbWJlcl90dXBkZXNjKQogCVJlbGF0aW9uQ2xvc2VTbWdyKHJlbGF0aW9uKTsKIAogCS8q IGJyZWFrIG11dHVhbCBsaW5rIHdpdGggc3RhdHMgZW50cnkgKi8KLQlwZ3N0YXRfdW5saW5r X3JlbGF0aW9uKHJlbGF0aW9uKTsKKwlpZiAocmVsYXRpb24tPnJkX3JlbC0+cmVsa2luZCA9 PSBSRUxLSU5EX0lOREVYKQorCQlwZ3N0YXRfdW5saW5rX2luZGV4KHJlbGF0aW9uKTsKKwll bHNlCisJCXBnc3RhdF91bmxpbmtfdGFibGUocmVsYXRpb24pOwogCiAJLyoKIAkgKiBGcmVl IGFsbCB0aGUgc3Vic2lkaWFyeSBkYXRhIHN0cnVjdHVyZXMgb2YgdGhlIHJlbGNhY2hlIGVu dHJ5LCB0aGVuIHRoZQpAQCAtMjcyNyw4ICsyNzMwLDkgQEAgUmVsYXRpb25DbGVhclJlbGF0 aW9uKFJlbGF0aW9uIHJlbGF0aW9uLCBib29sIHJlYnVpbGQpCiAJCQlTV0FQRklFTEQoUm93 U2VjdXJpdHlEZXNjICosIHJkX3JzZGVzYyk7CiAJCS8qIHRvYXN0IE9JRCBvdmVycmlkZSBt dXN0IGJlIHByZXNlcnZlZCAqLwogCQlTV0FQRklFTEQoT2lkLCByZF90b2FzdG9pZCk7Ci0J CS8qIHBnc3RhdF9pbmZvIC8gZW5hYmxlZCBtdXN0IGJlIHByZXNlcnZlZCAqLwotCQlTV0FQ RklFTEQoc3RydWN0IFBnU3RhdF9UYWJsZVN0YXR1cyAqLCBwZ3N0YXRfaW5mbyk7CisJCS8q IHBnc3RhdHRhYl9pbmZvIC8gcGdzdGF0aW5kX2luZm8gLyBlbmFibGVkIG11c3QgYmUgcHJl c2VydmVkICovCisJCVNXQVBGSUVMRChzdHJ1Y3QgUGdTdGF0X1RhYmxlU3RhdHVzICosIHBn c3RhdHRhYl9pbmZvKTsKKwkJU1dBUEZJRUxEKHN0cnVjdCBQZ1N0YXRfSW5kZXhTdGF0dXMg KiwgcGdzdGF0aW5kX2luZm8pOwogCQlTV0FQRklFTEQoYm9vbCwgcGdzdGF0X2VuYWJsZWQp OwogCQkvKiBwcmVzZXJ2ZSBvbGQgcGFydGl0aW9uIGtleSBpZiB3ZSBoYXZlIG9uZSAqLwog CQlpZiAoa2VlcF9wYXJ0a2V5KQpAQCAtNjMyMSw3ICs2MzI1LDggQEAgbG9hZF9yZWxjYWNo ZV9pbml0X2ZpbGUoYm9vbCBzaGFyZWQpCiAJCXJlbC0+cmRfZmlyc3RSZWxmaWxlbG9jYXRv clN1YmlkID0gSW52YWxpZFN1YlRyYW5zYWN0aW9uSWQ7CiAJCXJlbC0+cmRfZHJvcHBlZFN1 YmlkID0gSW52YWxpZFN1YlRyYW5zYWN0aW9uSWQ7CiAJCXJlbC0+cmRfYW1jYWNoZSA9IE5V TEw7Ci0JCXJlbC0+cGdzdGF0X2luZm8gPSBOVUxMOworCQlyZWwtPnBnc3RhdHRhYl9pbmZv ID0gTlVMTDsKKwkJcmVsLT5wZ3N0YXRpbmRfaW5mbyA9IE5VTEw7CiAKIAkJLyoKIAkJICog UmVjb21wdXRlIGxvY2sgYW5kIHBoeXNpY2FsIGFkZHJlc3NpbmcgaW5mby4gIFRoaXMgaXMg bmVlZGVkIGluCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0 IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCBmOTMwMWIyNjI3Li5j M2ZlNGFmNjY5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0 CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTUyNzQsOTYgKzUy NzQsMTIwIEBACiAgIHByb2FyZ25hbWVzID0+ICd7bWN2X2xpc3QsaW5kZXgsdmFsdWVzLG51 bGxzLGZyZXF1ZW5jeSxiYXNlX2ZyZXF1ZW5jeX0nLAogICBwcm9zcmMgPT4gJ3BnX3N0YXRz X2V4dF9tY3ZsaXN0X2l0ZW1zJyB9LAogCi17IG9pZCA9PiAnMTkyOCcsIGRlc2NyID0+ICdz dGF0aXN0aWNzOiBudW1iZXIgb2Ygc2NhbnMgZG9uZSBmb3IgdGFibGUvaW5kZXgnLAotICBw cm9uYW1lID0+ICdwZ19zdGF0X2dldF9udW1zY2FucycsIHByb3ZvbGF0aWxlID0+ICdzJywg cHJvcGFyYWxsZWwgPT4gJ3InLAoreyBvaWQgPT4gJzE5MjgnLCBkZXNjciA9PiAnc3RhdGlz dGljczogbnVtYmVyIG9mIHNjYW5zIGRvbmUgZm9yIHRhYmxlJywKKyAgcHJvbmFtZSA9PiAn cGdfc3RhdF9nZXRfdGFiX251bXNjYW5zJywgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9wYXJh bGxlbCA9PiAncicsCiAgIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAn b2lkJywKLSAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9udW1zY2FucycgfSwKLXsgb2lkID0+ ICc5OTc2JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IHRpbWUgb2YgdGhlIGxhc3Qgc2NhbiBm b3IgdGFibGUvaW5kZXgnLAotICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9sYXN0c2Nhbics IHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcGFyYWxsZWwgPT4gJ3InLAorICBwcm9zcmMgPT4g J3BnX3N0YXRfZ2V0X3RhYl9udW1zY2FucycgfSwKK3sgb2lkID0+ICc4Mjk2JywgZGVzY3Ig PT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiBzY2FucyBkb25lIGZvciBpbmRleCcsCisgIHBy b25hbWUgPT4gJ3BnX3N0YXRfZ2V0X2luZF9udW1zY2FucycsIHByb3ZvbGF0aWxlID0+ICdz JywgcHJvcGFyYWxsZWwgPT4gJ3InLAorICBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJn dHlwZXMgPT4gJ29pZCcsCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfaW5kX251bXNjYW5z JyB9LAoreyBvaWQgPT4gJzk5NzYnLCBkZXNjciA9PiAnc3RhdGlzdGljczogdGltZSBvZiB0 aGUgbGFzdCBzY2FuIGZvciB0YWJsZScsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3Rh Yl9sYXN0c2NhbicsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcGFyYWxsZWwgPT4gJ3InLAor ICBwcm9yZXR0eXBlID0+ICd0aW1lc3RhbXB0eicsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAor ICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl9sYXN0c2NhbicgfSwKK3sgb2lkID0+ICc4 NjI2JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IHRpbWUgb2YgdGhlIGxhc3Qgc2NhbiBmb3Ig aW5kZXgnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9pbmRfbGFzdHNjYW4nLCBwcm92 b2xhdGlsZSA9PiAncycsIHByb3BhcmFsbGVsID0+ICdyJywKICAgcHJvcmV0dHlwZSA9PiAn dGltZXN0YW1wdHonLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAgcHJvc3JjID0+ICdwZ19z dGF0X2dldF9sYXN0c2NhbicgfSwKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9pbmRfbGFz dHNjYW4nIH0sCiB7IG9pZCA9PiAnMTkyOScsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1i ZXIgb2YgdHVwbGVzIHJlYWQgYnkgc2Vxc2NhbicsCi0gIHByb25hbWUgPT4gJ3BnX3N0YXRf Z2V0X3R1cGxlc19yZXR1cm5lZCcsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvbmFtZSA9 PiAncGdfc3RhdF9nZXRfdGFiX3R1cGxlc19yZXR1cm5lZCcsIHByb3ZvbGF0aWxlID0+ICdz JywKICAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJn dHlwZXMgPT4gJ29pZCcsCi0gIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdHVwbGVzX3JldHVy bmVkJyB9LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl90dXBsZXNfcmV0dXJuZWQn IH0sCit7IG9pZCA9PiAnOTYwMycsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2Yg dHVwbGVzIHJlYWQgYnkgc2Vxc2NhbicsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X2lu ZF90dXBsZXNfcmV0dXJuZWQnLCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFsbGVs ID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAor ICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2luZF90dXBsZXNfcmV0dXJuZWQnIH0sCiB7IG9p ZCA9PiAnMTkzMCcsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdHVwbGVzIGZl dGNoZWQgYnkgaWR4c2NhbicsCi0gIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3R1cGxlc19m ZXRjaGVkJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dl dF90YWJfdHVwbGVzX2ZldGNoZWQnLCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFs bGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQn LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZmV0Y2hlZCcgfSwKK3sg b2lkID0+ICc4NTI2JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiB0dXBsZXMg ZmV0Y2hlZCBieSBpZHhzY2FuJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfaW5kX3R1 cGxlc19mZXRjaGVkJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAogICBwcm9wYXJhbGxlbCA9PiAn cicsIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAgcHJv c3JjID0+ICdwZ19zdGF0X2dldF90dXBsZXNfZmV0Y2hlZCcgfSwKKyAgcHJvc3JjID0+ICdw Z19zdGF0X2dldF9pbmRfdHVwbGVzX2ZldGNoZWQnIH0sCiB7IG9pZCA9PiAnMTkzMScsIGRl c2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdHVwbGVzIGluc2VydGVkJywKLSAgcHJv bmFtZSA9PiAncGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkJywgcHJvdm9sYXRpbGUgPT4g J3MnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkJywg cHJvdm9sYXRpbGUgPT4gJ3MnLAogICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUg PT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAgcHJvc3JjID0+ICdwZ19zdGF0 X2dldF90dXBsZXNfaW5zZXJ0ZWQnIH0sCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdGFi X3R1cGxlc19pbnNlcnRlZCcgfSwKIHsgb2lkID0+ICcxOTMyJywgZGVzY3IgPT4gJ3N0YXRp c3RpY3M6IG51bWJlciBvZiB0dXBsZXMgdXBkYXRlZCcsCi0gIHByb25hbWUgPT4gJ3BnX3N0 YXRfZ2V0X3R1cGxlc191cGRhdGVkJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9uYW1l ID0+ICdwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQnLCBwcm92b2xhdGlsZSA9PiAn cycsCiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2Fy Z3R5cGVzID0+ICdvaWQnLAotICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3R1cGxlc191cGRh dGVkJyB9LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCcg fSwKIHsgb2lkID0+ICcxOTMzJywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiB0 dXBsZXMgZGVsZXRlZCcsCi0gIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3R1cGxlc19kZWxl dGVkJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF90 YWJfdHVwbGVzX2RlbGV0ZWQnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVs ID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAot ICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkJyB9LAorICBwcm9zcmMg PT4gJ3BnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCcgfSwKIHsgb2lkID0+ICcxOTcy JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiB0dXBsZXMgaG90IHVwZGF0ZWQn LAotICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF90dXBsZXNfaG90X3VwZGF0ZWQnLCBwcm92 b2xhdGlsZSA9PiAncycsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3RhYl90dXBsZXNf aG90X3VwZGF0ZWQnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdy JywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAotICBwcm9z cmMgPT4gJ3BnX3N0YXRfZ2V0X3R1cGxlc19ob3RfdXBkYXRlZCcgfSwKKyAgcHJvc3JjID0+ ICdwZ19zdGF0X2dldF90YWJfdHVwbGVzX2hvdF91cGRhdGVkJyB9LAogeyBvaWQgPT4gJzI4 NzgnLCBkZXNjciA9PiAnc3RhdGlzdGljczogbnVtYmVyIG9mIGxpdmUgdHVwbGVzJywKLSAg cHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMnLCBwcm92b2xhdGlsZSA9PiAn cycsIHByb3BhcmFsbGVsID0+ICdyJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdGFi X2xpdmVfdHVwbGVzJywgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9wYXJhbGxlbCA9PiAncics CiAgIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAgcHJv c3JjID0+ICdwZ19zdGF0X2dldF9saXZlX3R1cGxlcycgfSwKKyAgcHJvc3JjID0+ICdwZ19z dGF0X2dldF90YWJfbGl2ZV90dXBsZXMnIH0sCiB7IG9pZCA9PiAnMjg3OScsIGRlc2NyID0+ ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgZGVhZCB0dXBsZXMnLAotICBwcm9uYW1lID0+ICdw Z19zdGF0X2dldF9kZWFkX3R1cGxlcycsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcGFyYWxs ZWwgPT4gJ3InLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXMn LCBwcm92b2xhdGlsZSA9PiAncycsIHByb3BhcmFsbGVsID0+ICdyJywKICAgcHJvcmV0dHlw ZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAotICBwcm9zcmMgPT4gJ3BnX3N0 YXRfZ2V0X2RlYWRfdHVwbGVzJyB9LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl9k ZWFkX3R1cGxlcycgfSwKIHsgb2lkID0+ICczMTc3JywKICAgZGVzY3IgPT4gJ3N0YXRpc3Rp Y3M6IG51bWJlciBvZiB0dXBsZXMgY2hhbmdlZCBzaW5jZSBsYXN0IGFuYWx5emUnLAotICBw cm9uYW1lID0+ICdwZ19zdGF0X2dldF9tb2Rfc2luY2VfYW5hbHl6ZScsIHByb3ZvbGF0aWxl ID0+ICdzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdGFiX21vZF9zaW5jZV9hbmFs eXplJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAogICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3Jl dHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAgcHJvc3JjID0+ICdw Z19zdGF0X2dldF9tb2Rfc2luY2VfYW5hbHl6ZScgfSwKKyAgcHJvc3JjID0+ICdwZ19zdGF0 X2dldF90YWJfbW9kX3NpbmNlX2FuYWx5emUnIH0sCiB7IG9pZCA9PiAnNTA1MycsCiAgIGRl c2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdHVwbGVzIGluc2VydGVkIHNpbmNlIGxh c3QgdmFjdXVtJywKLSAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfaW5zX3NpbmNlX3ZhY3V1 bScsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdGFi X2luc19zaW5jZV92YWN1dW0nLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVs ID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAot ICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2luc19zaW5jZV92YWN1dW0nIH0sCisgIHByb3Ny YyA9PiAncGdfc3RhdF9nZXRfdGFiX2luc19zaW5jZV92YWN1dW0nIH0sCiB7IG9pZCA9PiAn MTkzNCcsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgYmxvY2tzIGZldGNoZWQn LAotICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9ibG9ja3NfZmV0Y2hlZCcsIHByb3ZvbGF0 aWxlID0+ICdzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdGFiX2Jsb2Nrc19mZXRj aGVkJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAogICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3Jl dHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAgcHJvc3JjID0+ICdw Z19zdGF0X2dldF9ibG9ja3NfZmV0Y2hlZCcgfSwKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dl dF90YWJfYmxvY2tzX2ZldGNoZWQnIH0sCit7IG9pZCA9PiAnOTQzMicsIGRlc2NyID0+ICdz dGF0aXN0aWNzOiBudW1iZXIgb2YgYmxvY2tzIGZldGNoZWQnLAorICBwcm9uYW1lID0+ICdw Z19zdGF0X2dldF9pbmRfYmxvY2tzX2ZldGNoZWQnLCBwcm92b2xhdGlsZSA9PiAncycsCisg IHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVz ID0+ICdvaWQnLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2luZF9ibG9ja3NfZmV0Y2hl ZCcgfSwKIHsgb2lkID0+ICcxOTM1JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBv ZiBibG9ja3MgZm91bmQgaW4gY2FjaGUnLAotICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9i bG9ja3NfaGl0JywgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9wYXJhbGxlbCA9PiAncicsCisg IHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3RhYl9ibG9ja3NfaGl0JywgcHJvdm9sYXRpbGUg PT4gJ3MnLCBwcm9wYXJhbGxlbCA9PiAncicsCisgIHByb3JldHR5cGUgPT4gJ2ludDgnLCBw cm9hcmd0eXBlcyA9PiAnb2lkJywKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF90YWJfYmxv Y2tzX2hpdCcgfSwKK3sgb2lkID0+ICc4MzU0JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51 bWJlciBvZiBibG9ja3MgZm91bmQgaW4gY2FjaGUnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0 X2dldF9pbmRfYmxvY2tzX2hpdCcsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcGFyYWxsZWwg PT4gJ3InLAogICBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcs Ci0gIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfYmxvY2tzX2hpdCcgfSwKKyAgcHJvc3JjID0+ ICdwZ19zdGF0X2dldF9pbmRfYmxvY2tzX2hpdCcgfSwKIHsgb2lkID0+ICcyNzgxJywgZGVz Y3IgPT4gJ3N0YXRpc3RpY3M6IGxhc3QgbWFudWFsIHZhY3V1bSB0aW1lIGZvciBhIHRhYmxl JywKLSAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfbGFzdF92YWN1dW1fdGltZScsIHByb3Zv bGF0aWxlID0+ICdzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdGFiX2xhc3RfdmFj dXVtX3RpbWUnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdyJywg cHJvcmV0dHlwZSA9PiAndGltZXN0YW1wdHonLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAg cHJvc3JjID0+ICdwZ19zdGF0X2dldF9sYXN0X3ZhY3V1bV90aW1lJyB9LAorICBwcm9zcmMg PT4gJ3BnX3N0YXRfZ2V0X3RhYl9sYXN0X3ZhY3V1bV90aW1lJyB9LAogeyBvaWQgPT4gJzI3 ODInLCBkZXNjciA9PiAnc3RhdGlzdGljczogbGFzdCBhdXRvIHZhY3V1bSB0aW1lIGZvciBh IHRhYmxlJywKLSAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfbGFzdF9hdXRvdmFjdXVtX3Rp bWUnLCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3Rh Yl9sYXN0X2F1dG92YWN1dW1fdGltZScsIHByb3ZvbGF0aWxlID0+ICdzJywKICAgcHJvcGFy YWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICd0aW1lc3RhbXB0eicsIHByb2FyZ3R5cGVz ID0+ICdvaWQnLAotICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2xhc3RfYXV0b3ZhY3V1bV90 aW1lJyB9LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl9sYXN0X2F1dG92YWN1dW1f dGltZScgfSwKIHsgb2lkID0+ICcyNzgzJywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IGxhc3Qg bWFudWFsIGFuYWx5emUgdGltZSBmb3IgYSB0YWJsZScsCi0gIHByb25hbWUgPT4gJ3BnX3N0 YXRfZ2V0X2xhc3RfYW5hbHl6ZV90aW1lJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9u YW1lID0+ICdwZ19zdGF0X2dldF90YWJfbGFzdF9hbmFseXplX3RpbWUnLCBwcm92b2xhdGls ZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAndGltZXN0 YW1wdHonLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAgcHJvc3JjID0+ICdwZ19zdGF0X2dl dF9sYXN0X2FuYWx5emVfdGltZScgfSwKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF90YWJf bGFzdF9hbmFseXplX3RpbWUnIH0sCiB7IG9pZCA9PiAnMjc4NCcsIGRlc2NyID0+ICdzdGF0 aXN0aWNzOiBsYXN0IGF1dG8gYW5hbHl6ZSB0aW1lIGZvciBhIHRhYmxlJywKLSAgcHJvbmFt ZSA9PiAncGdfc3RhdF9nZXRfbGFzdF9hdXRvYW5hbHl6ZV90aW1lJywgcHJvdm9sYXRpbGUg PT4gJ3MnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF90YWJfbGFzdF9hdXRvYW5hbHl6 ZV90aW1lJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAogICBwcm9wYXJhbGxlbCA9PiAncicsIHBy b3JldHR5cGUgPT4gJ3RpbWVzdGFtcHR6JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCi0gIHBy b3NyYyA9PiAncGdfc3RhdF9nZXRfbGFzdF9hdXRvYW5hbHl6ZV90aW1lJyB9LAorICBwcm9z cmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl9sYXN0X2F1dG9hbmFseXplX3RpbWUnIH0sCiB7IG9p ZCA9PiAnMzA1NCcsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgbWFudWFsIHZh Y3V1bXMgZm9yIGEgdGFibGUnLAotICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF92YWN1dW1f Y291bnQnLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3BhcmFsbGVsID0+ICdyJywKKyAgcHJv bmFtZSA9PiAncGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCcsIHByb3ZvbGF0aWxlID0+ ICdzJywgcHJvcGFyYWxsZWwgPT4gJ3InLAogICBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJv YXJndHlwZXMgPT4gJ29pZCcsCi0gIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2Nv dW50JyB9LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQnIH0s CiB7IG9pZCA9PiAnMzA1NScsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgYXV0 byB2YWN1dW1zIGZvciBhIHRhYmxlJywKLSAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfYXV0 b3ZhY3V1bV9jb3VudCcsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvbmFtZSA9PiAncGdf c3RhdF9nZXRfdGFiX2F1dG92YWN1dW1fY291bnQnLCBwcm92b2xhdGlsZSA9PiAncycsCiAg IHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVz ID0+ICdvaWQnLAotICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2F1dG92YWN1dW1fY291bnQn IH0sCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdGFiX2F1dG92YWN1dW1fY291bnQnIH0s CiB7IG9pZCA9PiAnMzA1NicsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgbWFu dWFsIGFuYWx5emVzIGZvciBhIHRhYmxlJywKLSAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRf YW5hbHl6ZV9jb3VudCcsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvbmFtZSA9PiAncGdf c3RhdF9nZXRfdGFiX2FuYWx5emVfY291bnQnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHBy b3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ ICdvaWQnLAotICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2FuYWx5emVfY291bnQnIH0sCisg IHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdGFiX2FuYWx5emVfY291bnQnIH0sCiB7IG9pZCA9 PiAnMzA1NycsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgYXV0byBhbmFseXpl cyBmb3IgYSB0YWJsZScsCi0gIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X2F1dG9hbmFseXpl X2NvdW50JywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dl dF90YWJfYXV0b2FuYWx5emVfY291bnQnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3Bh cmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdv aWQnLAotICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2F1dG9hbmFseXplX2NvdW50JyB9LAor ICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl9hdXRvYW5hbHl6ZV9jb3VudCcgfSwKIHsg b2lkID0+ICcxOTM2JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IGN1cnJlbnRseSBhY3RpdmUg YmFja2VuZCBJRHMnLAogICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9iYWNrZW5kX2lkc2V0 JywgcHJvcm93cyA9PiAnMTAwJywgcHJvcmV0c2V0ID0+ICd0JywKICAgcHJvdm9sYXRpbGUg PT4gJ3MnLCBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDQnLApAQCAt NTcxOSwxMCArNTc0MywxNSBAQAogICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2Z1bmN0aW9u X3NlbGZfdGltZScgfSwKIAogeyBvaWQgPT4gJzMwMzcnLAotICBkZXNjciA9PiAnc3RhdGlz dGljczogbnVtYmVyIG9mIHNjYW5zIGRvbmUgZm9yIHRhYmxlL2luZGV4IGluIGN1cnJlbnQg dHJhbnNhY3Rpb24nLAotICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF94YWN0X251bXNjYW5z JywgcHJvdm9sYXRpbGUgPT4gJ3YnLAorICBkZXNjciA9PiAnc3RhdGlzdGljczogbnVtYmVy IG9mIHNjYW5zIGRvbmUgZm9yIHRhYmxlIGluIGN1cnJlbnQgdHJhbnNhY3Rpb24nLAorICBw cm9uYW1lID0+ICdwZ19zdGF0X2dldF90YWJfeGFjdF9udW1zY2FucycsIHByb3ZvbGF0aWxl ID0+ICd2JywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4Jywg cHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdGFiX3hh Y3RfbnVtc2NhbnMnIH0sCit7IG9pZCA9PiAnODg5MicsCisgIGRlc2NyID0+ICdzdGF0aXN0 aWNzOiBudW1iZXIgb2Ygc2NhbnMgZG9uZSBmb3IgaW5kZXggaW4gY3VycmVudCB0cmFuc2Fj dGlvbicsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X2luZF94YWN0X251bXNjYW5zJywg cHJvdm9sYXRpbGUgPT4gJ3YnLAogICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUg PT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAgcHJvc3JjID0+ICdwZ19zdGF0 X2dldF94YWN0X251bXNjYW5zJyB9LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2luZF94 YWN0X251bXNjYW5zJyB9LAogeyBvaWQgPT4gJzMwMzgnLAogICBkZXNjciA9PiAnc3RhdGlz dGljczogbnVtYmVyIG9mIHR1cGxlcyByZWFkIGJ5IHNlcXNjYW4gaW4gY3VycmVudCB0cmFu c2FjdGlvbicsCiAgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3hhY3RfdHVwbGVzX3JldHVy bmVkJywgcHJvdm9sYXRpbGUgPT4gJ3YnLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdz dGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaAppbmRleCBiYzYzNDk3MjdiLi41N2Y1Yzg2 NTdhIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVk ZS9wZ3N0YXQuaApAQCAtMzksNyArMzksOCBAQCB0eXBlZGVmIGVudW0gUGdTdGF0X0tpbmQK IAogCS8qIHN0YXRzIGZvciB2YXJpYWJsZS1udW1iZXJlZCBvYmplY3RzICovCiAJUEdTVEFU X0tJTkRfREFUQUJBU0UsCQkvKiBkYXRhYmFzZS13aWRlIHN0YXRpc3RpY3MgKi8KLQlQR1NU QVRfS0lORF9SRUxBVElPTiwJCS8qIHBlci10YWJsZSBzdGF0aXN0aWNzICovCisJUEdTVEFU X0tJTkRfVEFCTEUsCQkJLyogcGVyLXRhYmxlIHN0YXRpc3RpY3MgKi8KKwlQR1NUQVRfS0lO RF9JTkRFWCwJCQkvKiBwZXItaW5kZXggc3RhdGlzdGljcyAqLwogCVBHU1RBVF9LSU5EX0ZV TkNUSU9OLAkJLyogcGVyLWZ1bmN0aW9uIHN0YXRpc3RpY3MgKi8KIAlQR1NUQVRfS0lORF9S RVBMU0xPVCwJCS8qIHBlci1zbG90IHN0YXRpc3RpY3MgKi8KIAlQR1NUQVRfS0lORF9TVUJT Q1JJUFRJT04sCS8qIHBlci1zdWJzY3JpcHRpb24gc3RhdGlzdGljcyAqLwpAQCAtMTQ1LDYg KzE0NiwyOCBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfQmFja2VuZFN1YkVudHJ5CiAJUGdT dGF0X0NvdW50ZXIgc3luY19lcnJvcl9jb3VudDsKIH0gUGdTdGF0X0JhY2tlbmRTdWJFbnRy eTsKIAorLyogLS0tLS0tLS0tLQorICogUGdTdGF0X0luZGV4Q291bnRzCQkJVGhlIGFjdHVh bCBwZXItaW5kZXggY291bnRzIGtlcHQgYnkgYSBiYWNrZW5kCisgKgorICogVGhpcyBzdHJ1 Y3Qgc2hvdWxkIGNvbnRhaW4gb25seSBhY3R1YWwgZXZlbnQgY291bnRlcnMsIGJlY2F1c2Ug d2UgbWVtY21wCisgKiBpdCBhZ2FpbnN0IHplcm9lcyB0byBkZXRlY3Qgd2hldGhlciB0aGVy ZSBhcmUgYW55IHN0YXRzIHVwZGF0ZXMgdG8gYXBwbHkuCisgKiBJdCBpcyBhIGNvbXBvbmVu dCBvZiBQZ1N0YXRfSW5kZXhTdGF0dXMgKHdpdGhpbi1iYWNrZW5kIHN0YXRlKS4KKyAqCisg KiB0dXBsZXNfcmV0dXJuZWQgaXMgdGhlIG51bWJlciBvZiBpbmRleCBlbnRyaWVzIHJldHVy bmVkIGJ5CisgKiB0aGUgaW5kZXggQU0sIHdoaWxlIHR1cGxlc19mZXRjaGVkIGlzIHRoZSBu dW1iZXIgb2YgdHVwbGVzIHN1Y2Nlc3NmdWxseQorICogZmV0Y2hlZCBieSBoZWFwX2ZldGNo IHVuZGVyIHRoZSBjb250cm9sIG9mIHNpbXBsZSBpbmRleHNjYW5zIGZvciB0aGlzIGluZGV4 LgorICogLS0tLS0tLS0tLQorICovCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfSW5kZXhDb3Vu dHMKK3sKKwlQZ1N0YXRfQ291bnRlciBpX251bXNjYW5zOworCisJUGdTdGF0X0NvdW50ZXIg aV90dXBsZXNfcmV0dXJuZWQ7CisJUGdTdGF0X0NvdW50ZXIgaV90dXBsZXNfZmV0Y2hlZDsK KwlQZ1N0YXRfQ291bnRlciBpX2Jsb2Nrc19mZXRjaGVkOworCVBnU3RhdF9Db3VudGVyIGlf YmxvY2tzX2hpdDsKK30gUGdTdGF0X0luZGV4Q291bnRzOworCiAvKiAtLS0tLS0tLS0tCiAg KiBQZ1N0YXRfVGFibGVDb3VudHMJCQlUaGUgYWN0dWFsIHBlci10YWJsZSBjb3VudHMga2Vw dCBieSBhIGJhY2tlbmQKICAqCkBAIC0xNTIsMTIgKzE3NSw5IEBAIHR5cGVkZWYgc3RydWN0 IFBnU3RhdF9CYWNrZW5kU3ViRW50cnkKICAqIGl0IGFnYWluc3QgemVyb2VzIHRvIGRldGVj dCB3aGV0aGVyIHRoZXJlIGFyZSBhbnkgc3RhdHMgdXBkYXRlcyB0byBhcHBseS4KICAqIEl0 IGlzIGEgY29tcG9uZW50IG9mIFBnU3RhdF9UYWJsZVN0YXR1cyAod2l0aGluLWJhY2tlbmQg c3RhdGUpLgogICoKLSAqIE5vdGU6IGZvciBhIHRhYmxlLCB0dXBsZXNfcmV0dXJuZWQgaXMg dGhlIG51bWJlciBvZiB0dXBsZXMgc3VjY2Vzc2Z1bGx5CisgKiBOb3RlOiB0dXBsZXNfcmV0 dXJuZWQgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMgc3VjY2Vzc2Z1bGx5CiAgKiBmZXRjaGVk IGJ5IGhlYXBfZ2V0bmV4dCwgd2hpbGUgdHVwbGVzX2ZldGNoZWQgaXMgdGhlIG51bWJlciBv ZiB0dXBsZXMKICAqIHN1Y2Nlc3NmdWxseSBmZXRjaGVkIGJ5IGhlYXBfZmV0Y2ggdW5kZXIg dGhlIGNvbnRyb2wgb2YgYml0bWFwIGluZGV4c2NhbnMuCi0gKiBGb3IgYW4gaW5kZXgsIHR1 cGxlc19yZXR1cm5lZCBpcyB0aGUgbnVtYmVyIG9mIGluZGV4IGVudHJpZXMgcmV0dXJuZWQg YnkKLSAqIHRoZSBpbmRleCBBTSwgd2hpbGUgdHVwbGVzX2ZldGNoZWQgaXMgdGhlIG51bWJl ciBvZiB0dXBsZXMgc3VjY2Vzc2Z1bGx5Ci0gKiBmZXRjaGVkIGJ5IGhlYXBfZmV0Y2ggdW5k ZXIgdGhlIGNvbnRyb2wgb2Ygc2ltcGxlIGluZGV4c2NhbnMgZm9yIHRoaXMgaW5kZXguCiAg KgogICogdHVwbGVzX2luc2VydGVkL3VwZGF0ZWQvZGVsZXRlZC9ob3RfdXBkYXRlZCBjb3Vu dCBhdHRlbXB0ZWQgYWN0aW9ucywKICAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdHJh bnNhY3Rpb24gY29tbWl0dGVkLiAgZGVsdGFfbGl2ZV90dXBsZXMsCkBAIC0yMTAsNiArMjMw LDIyIEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9UYWJsZVN0YXR1cwogCVJlbGF0aW9uCXJl bGF0aW9uOwkJLyogcmVsIHRoYXQgaXMgdXNpbmcgdGhpcyBlbnRyeSAqLwogfSBQZ1N0YXRf VGFibGVTdGF0dXM7CiAKKy8qIC0tLS0tLS0tLS0KKyAqIFBnU3RhdF9JbmRleFN0YXR1cwkJ CVBlci1pbmRleCBzdGF0dXMgd2l0aGluIGEgYmFja2VuZAorICoKKyAqIE1hbnkgb2YgdGhl IGV2ZW50IGNvdW50ZXJzIGFyZSBub250cmFuc2FjdGlvbmFsLCBpZSwgd2UgY291bnQgZXZl bnRzCisgKiBpbiBjb21taXR0ZWQgYW5kIGFib3J0ZWQgdHJhbnNhY3Rpb25zIGFsaWtlLiAg Rm9yIHRoZXNlLCB3ZSBqdXN0IGNvdW50CisgKiBkaXJlY3RseSBpbiB0aGUgUGdTdGF0X0lu ZGV4U3RhdHVzLgorICogLS0tLS0tLS0tLQorICovCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRf SW5kZXhTdGF0dXMKK3sKKwlPaWQJCQlyX2lkOwkJCS8qIHJlbGF0aW9uJ3MgT0lEICovCisJ Ym9vbAkJcl9zaGFyZWQ7CQkvKiBpcyBpdCBhIHNoYXJlZCBjYXRhbG9nPyAqLworCVBnU3Rh dF9JbmRleENvdW50cyBpX2NvdW50czsJLyogZXZlbnQgY291bnRzIHRvIGJlIHNlbnQgKi8K KwlSZWxhdGlvbglyZWxhdGlvbjsJCS8qIHJlbCB0aGF0IGlzIHVzaW5nIHRoaXMgZW50cnkg Ki8KK30gUGdTdGF0X0luZGV4U3RhdHVzOworCiAvKiAtLS0tLS0tLS0tCiAgKiBQZ1N0YXRf VGFibGVYYWN0U3RhdHVzCQlQZXItdGFibGUsIHBlci1zdWJ0cmFuc2FjdGlvbiBzdGF0dXMK ICAqIC0tLS0tLS0tLS0KQEAgLTM4Miw2ICs0MTgsMTcgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdT dGF0X1N0YXRUYWJFbnRyeQogCVBnU3RhdF9Db3VudGVyIGF1dG9hbmFseXplX2NvdW50Owog fSBQZ1N0YXRfU3RhdFRhYkVudHJ5OwogCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU3RhdElu ZEVudHJ5Cit7CisJUGdTdGF0X0NvdW50ZXIgbnVtc2NhbnM7CisJVGltZXN0YW1wVHogbGFz dHNjYW47CisKKwlQZ1N0YXRfQ291bnRlciB0dXBsZXNfcmV0dXJuZWQ7CisJUGdTdGF0X0Nv dW50ZXIgdHVwbGVzX2ZldGNoZWQ7CisJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2ZldGNoZWQ7 CisJUGdTdGF0X0NvdW50ZXIgYmxvY2tzX2hpdDsKK30gUGdTdGF0X1N0YXRJbmRFbnRyeTsK KwogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1dhbFN0YXRzCiB7CiAJUGdTdGF0X0NvdW50ZXIg d2FsX3JlY29yZHM7CkBAIC00OTQsMTYgKzU0MSwxNSBAQCBleHRlcm4gUGdTdGF0X0JhY2tl bmRGdW5jdGlvbkVudHJ5ICpmaW5kX2Z1bmNzdGF0X2VudHJ5KE9pZCBmdW5jX2lkKTsKIAog CiAvKgotICogRnVuY3Rpb25zIGluIHBnc3RhdF9yZWxhdGlvbi5jCisgKiBGdW5jdGlvbnMg aW4gcGdzdGF0X3RhYmxlLmMKICAqLwogCi1leHRlcm4gdm9pZCBwZ3N0YXRfY3JlYXRlX3Jl bGF0aW9uKFJlbGF0aW9uIHJlbCk7Ci1leHRlcm4gdm9pZCBwZ3N0YXRfZHJvcF9yZWxhdGlv bihSZWxhdGlvbiByZWwpOwotZXh0ZXJuIHZvaWQgcGdzdGF0X2NvcHlfcmVsYXRpb25fc3Rh dHMoUmVsYXRpb24gZHN0LCBSZWxhdGlvbiBzcmMpOworZXh0ZXJuIHZvaWQgcGdzdGF0X2Ny ZWF0ZV90YWJsZShSZWxhdGlvbiByZWwpOworZXh0ZXJuIHZvaWQgcGdzdGF0X2Ryb3BfdGFi bGUoUmVsYXRpb24gcmVsKTsKK2V4dGVybiB2b2lkIHBnc3RhdF9pbml0X3RhYmxlKFJlbGF0 aW9uIHJlbCk7CiAKLWV4dGVybiB2b2lkIHBnc3RhdF9pbml0X3JlbGF0aW9uKFJlbGF0aW9u IHJlbCk7Ci1leHRlcm4gdm9pZCBwZ3N0YXRfYXNzb2NfcmVsYXRpb24oUmVsYXRpb24gcmVs KTsKLWV4dGVybiB2b2lkIHBnc3RhdF91bmxpbmtfcmVsYXRpb24oUmVsYXRpb24gcmVsKTsK K2V4dGVybiB2b2lkIHBnc3RhdF9hc3NvY190YWJsZShSZWxhdGlvbiByZWwpOworZXh0ZXJu IHZvaWQgcGdzdGF0X3VubGlua190YWJsZShSZWxhdGlvbiByZWwpOwogCiBleHRlcm4gdm9p ZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCQkJ CQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1 cGxlcyk7CkBAIC01MTEsNTMgKzU1Nyw4MyBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0 X2FuYWx5emUoUmVsYXRpb24gcmVsLAogCQkJCQkJCQkgIFBnU3RhdF9Db3VudGVyIGxpdmV0 dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRlYWR0dXBsZXMsCiAJCQkJCQkJCSAgYm9vbCByZXNl dGNvdW50ZXIpOwogCisvKgorICogRnVuY3Rpb25zIGluIHBnc3RhdF9pbmRleC5jCisgKi8K KworZXh0ZXJuIHZvaWQgcGdzdGF0X2NyZWF0ZV9pbmRleChSZWxhdGlvbiByZWwpOworZXh0 ZXJuIHZvaWQgcGdzdGF0X2Ryb3BfaW5kZXgoUmVsYXRpb24gcmVsKTsKK2V4dGVybiB2b2lk IHBnc3RhdF9jb3B5X2luZGV4X3N0YXRzKFJlbGF0aW9uIGRzdCwgUmVsYXRpb24gc3JjKTsK K2V4dGVybiB2b2lkIHBnc3RhdF9pbml0X2luZGV4KFJlbGF0aW9uIHJlbCk7CitleHRlcm4g dm9pZCBwZ3N0YXRfYXNzb2NfaW5kZXgoUmVsYXRpb24gcmVsKTsKK2V4dGVybiB2b2lkIHBn c3RhdF91bmxpbmtfaW5kZXgoUmVsYXRpb24gcmVsKTsKKwogLyoKICAqIElmIHN0YXRzIGFy ZSBlbmFibGVkLCBidXQgcGVuZGluZyBkYXRhIGhhc24ndCBiZWVuIHByZXBhcmVkIHlldCwg Y2FsbAotICogcGdzdGF0X2Fzc29jX3JlbGF0aW9uKCkgdG8gZG8gc28uIFNlZSBpdHMgY29t bWVudCBmb3Igd2h5IHRoaXMgaXMgZG9uZQotICogc2VwYXJhdGVseSBmcm9tIHBnc3RhdF9p bml0X3JlbGF0aW9uKCkuCisgKiBwZ3N0YXRfYXNzb2NfdGFibGUoKSAvIHBnc3RhdF9hc3Nv Y19pbmRleCgpIHRvIGRvIHNvLgorICogU2VlIHRoZWlyIGNvbW1lbnQgZm9yIHdoeSB0aGlz IGlzIGRvbmUgc2VwYXJhdGVseSBmcm9tIHBnc3RhdF9pbml0X3RhYmxlKCkKKyAqIGFuZCBw Z3N0YXRfaW5pdF9pbmRleCgpLgogICovCi0jZGVmaW5lIHBnc3RhdF9zaG91bGRfY291bnRf cmVsYXRpb24ocmVsKSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQkobGlrZWx5KChy ZWwpLT5wZ3N0YXRfaW5mbyAhPSBOVUxMKSA/IHRydWUgOiAgICAgICAgICAgICAgICAgICAg XAotCSAoKHJlbCktPnBnc3RhdF9lbmFibGVkID8gcGdzdGF0X2Fzc29jX3JlbGF0aW9uKHJl bCksIHRydWUgOiBmYWxzZSkpCisjZGVmaW5lIHBnc3RhdF9zaG91bGRfY291bnRfdGFibGUo cmVsKSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKwkobGlrZWx5KChyZWwpLT5wZ3N0 YXR0YWJfaW5mbyAhPSBOVUxMKSA/IHRydWUgOiAgICAgICAgICAgICAgICAgICAgXAorCSAo KHJlbCktPnBnc3RhdF9lbmFibGVkID8gcGdzdGF0X2Fzc29jX3RhYmxlKHJlbCksIHRydWUg OiBmYWxzZSkpCisKKyNkZWZpbmUgcGdzdGF0X3Nob3VsZF9jb3VudF9pbmRleChyZWwpICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAorCShsaWtlbHkoKHJlbCktPnBnc3RhdGluZF9p bmZvICE9IE5VTEwpID8gdHJ1ZSA6ICAgICAgICAgICAgICAgICAgICBcCisJICgocmVsKS0+ cGdzdGF0X2VuYWJsZWQgPyBwZ3N0YXRfYXNzb2NfaW5kZXgocmVsKSwgdHJ1ZSA6IGZhbHNl KSkKIAogLyogbm9udHJhbnNhY3Rpb25hbCBldmVudCBjb3VudHMgYXJlIHNpbXBsZSBlbm91 Z2ggdG8gaW5saW5lICovCiAKICNkZWZpbmUgcGdzdGF0X2NvdW50X2hlYXBfc2NhbihyZWwp CQkJCQkJCQkJXAogCWRvIHsJCQkJCQkJCQkJCQkJCQlcCi0JCWlmIChwZ3N0YXRfc2hvdWxk X2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAotCQkJKHJlbCktPnBnc3RhdF9pbmZvLT50 X2NvdW50cy50X251bXNjYW5zKys7CQkJCVwKKwkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRf dGFibGUocmVsKSkJCQkJCQlcCisJCQkocmVsKS0+cGdzdGF0dGFiX2luZm8tPnRfY291bnRz LnRfbnVtc2NhbnMrKzsJCQkJXAogCX0gd2hpbGUgKDApCiAjZGVmaW5lIHBnc3RhdF9jb3Vu dF9oZWFwX2dldG5leHQocmVsKQkJCQkJCQkJXAogCWRvIHsJCQkJCQkJCQkJCQkJCQlcCi0J CWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAotCQkJKHJl bCktPnBnc3RhdF9pbmZvLT50X2NvdW50cy50X3R1cGxlc19yZXR1cm5lZCsrOwkJXAorCQlp ZiAocGdzdGF0X3Nob3VsZF9jb3VudF90YWJsZShyZWwpKQkJCQkJCVwKKwkJCShyZWwpLT5w Z3N0YXR0YWJfaW5mby0+dF9jb3VudHMudF90dXBsZXNfcmV0dXJuZWQrKzsJCVwKIAl9IHdo aWxlICgwKQogI2RlZmluZSBwZ3N0YXRfY291bnRfaGVhcF9mZXRjaChyZWwpCQkJCQkJCQlc CiAJZG8gewkJCQkJCQkJCQkJCQkJCVwKLQkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVs YXRpb24ocmVsKSkJCQkJCQlcCi0JCQkocmVsKS0+cGdzdGF0X2luZm8tPnRfY291bnRzLnRf dHVwbGVzX2ZldGNoZWQrKzsJCVwKKwkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfdGFibGUo cmVsKSkJCQkJCQlcCisJCQkocmVsKS0+cGdzdGF0dGFiX2luZm8tPnRfY291bnRzLnRfdHVw bGVzX2ZldGNoZWQrKzsJCVwKKwl9IHdoaWxlICgwKQorI2RlZmluZSBwZ3N0YXRfY291bnRf aW5kZXhfZmV0Y2gocmVsKQkJCQkJCQkJXAorCWRvIHsJCQkJCQkJCQkJCQkJCQlcCisJCWlm IChwZ3N0YXRfc2hvdWxkX2NvdW50X2luZGV4KHJlbCkpCQkJCQkJXAorCQkJKHJlbCktPnBn c3RhdGluZF9pbmZvLT5pX2NvdW50cy5pX3R1cGxlc19mZXRjaGVkKys7CQlcCiAJfSB3aGls ZSAoMCkKICNkZWZpbmUgcGdzdGF0X2NvdW50X2luZGV4X3NjYW4ocmVsKQkJCQkJCQkJXAog CWRvIHsJCQkJCQkJCQkJCQkJCQlcCi0JCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0 aW9uKHJlbCkpCQkJCQkJXAotCQkJKHJlbCktPnBnc3RhdF9pbmZvLT50X2NvdW50cy50X251 bXNjYW5zKys7CQkJCVwKKwkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfaW5kZXgocmVsKSkJ CQkJCQlcCisJCQkocmVsKS0+cGdzdGF0aW5kX2luZm8tPmlfY291bnRzLmlfbnVtc2NhbnMr KzsJCQlcCiAJfSB3aGlsZSAoMCkKICNkZWZpbmUgcGdzdGF0X2NvdW50X2luZGV4X3R1cGxl cyhyZWwsIG4pCQkJCQkJCVwKIAlkbyB7CQkJCQkJCQkJCQkJCQkJXAotCQlpZiAocGdzdGF0 X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQkJCQkJCVwKLQkJCShyZWwpLT5wZ3N0YXRf aW5mby0+dF9jb3VudHMudF90dXBsZXNfcmV0dXJuZWQgKz0gKG4pOwlcCisJCWlmIChwZ3N0 YXRfc2hvdWxkX2NvdW50X2luZGV4KHJlbCkpCQkJCQkJXAorCQkJKHJlbCktPnBnc3RhdGlu ZF9pbmZvLT5pX2NvdW50cy5pX3R1cGxlc19yZXR1cm5lZCArPSAobik7CVwKIAl9IHdoaWxl ICgwKQotI2RlZmluZSBwZ3N0YXRfY291bnRfYnVmZmVyX3JlYWQocmVsKQkJCQkJCQkJXAor I2RlZmluZSBwZ3N0YXRfY291bnRfdGFibGVfYnVmZmVyX3JlYWQocmVsKQkJCQkJCQkJXAog CWRvIHsJCQkJCQkJCQkJCQkJCQlcCi0JCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0 aW9uKHJlbCkpCQkJCQkJXAotCQkJKHJlbCktPnBnc3RhdF9pbmZvLT50X2NvdW50cy50X2Js b2Nrc19mZXRjaGVkKys7CQlcCisJCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3RhYmxlKHJl bCkpCVwKKwkJCShyZWwpLT5wZ3N0YXR0YWJfaW5mby0+dF9jb3VudHMudF9ibG9ja3NfZmV0 Y2hlZCsrOwkJXAogCX0gd2hpbGUgKDApCi0jZGVmaW5lIHBnc3RhdF9jb3VudF9idWZmZXJf aGl0KHJlbCkJCQkJCQkJCVwKKyNkZWZpbmUgcGdzdGF0X2NvdW50X2luZGV4X2J1ZmZlcl9y ZWFkKHJlbCkJCQkJCQkJCVwKIAlkbyB7CQkJCQkJCQkJCQkJCQkJXAotCQlpZiAocGdzdGF0 X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQkJCQkJCVwKLQkJCShyZWwpLT5wZ3N0YXRf aW5mby0+dF9jb3VudHMudF9ibG9ja3NfaGl0Kys7CQkJXAorCQlpZiAocGdzdGF0X3Nob3Vs ZF9jb3VudF9pbmRleChyZWwpKQlcCisJCQkocmVsKS0+cGdzdGF0aW5kX2luZm8tPmlfY291 bnRzLmlfYmxvY2tzX2ZldGNoZWQrKzsJCVwKKwl9IHdoaWxlICgwKQorI2RlZmluZSBwZ3N0 YXRfY291bnRfdGFibGVfYnVmZmVyX2hpdChyZWwpCQkJCQkJCQlcCisJZG8gewkJCQkJCQkJ CQkJCQkJCVwKKwkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfdGFibGUocmVsKSkJXAorCQkJ KHJlbCktPnBnc3RhdHRhYl9pbmZvLT50X2NvdW50cy50X2Jsb2Nrc19oaXQrKzsgXAorCX0g d2hpbGUgKDApCisjZGVmaW5lIHBnc3RhdF9jb3VudF9pbmRleF9idWZmZXJfaGl0KHJlbCkJ CQkJCQkJCVwKKwlkbyB7CQkJCQkJCQkJCQkJCQkJXAorCQlpZiAocGdzdGF0X3Nob3VsZF9j b3VudF9pbmRleChyZWwpKQlcCisJCQkocmVsKS0+cGdzdGF0aW5kX2luZm8tPmlfY291bnRz LmlfYmxvY2tzX2hpdCsrOyBcCiAJfSB3aGlsZSAoMCkKLQogZXh0ZXJuIHZvaWQgcGdzdGF0 X2NvdW50X2hlYXBfaW5zZXJ0KFJlbGF0aW9uIHJlbCwgUGdTdGF0X0NvdW50ZXIgbik7CiBl eHRlcm4gdm9pZCBwZ3N0YXRfY291bnRfaGVhcF91cGRhdGUoUmVsYXRpb24gcmVsLCBib29s IGhvdCk7CiBleHRlcm4gdm9pZCBwZ3N0YXRfY291bnRfaGVhcF9kZWxldGUoUmVsYXRpb24g cmVsKTsKQEAgLTU3Myw2ICs2NDksMTAgQEAgZXh0ZXJuIFBnU3RhdF9TdGF0VGFiRW50cnkg KnBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5KE9pZCByZWxpZCk7CiBleHRlcm4gUGdTdGF0 X1N0YXRUYWJFbnRyeSAqcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnlfZXh0KGJvb2wgc2hh cmVkLAogCQkJCQkJCQkJCQkJCQkgICBPaWQgcmVsb2lkKTsKIGV4dGVybiBQZ1N0YXRfVGFi bGVTdGF0dXMgKmZpbmRfdGFic3RhdF9lbnRyeShPaWQgcmVsX2lkKTsKK2V4dGVybiBQZ1N0 YXRfSW5kZXhTdGF0dXMgKmZpbmRfaW5kc3RhdF9lbnRyeShPaWQgcmVsX2lkKTsKK2V4dGVy biBQZ1N0YXRfU3RhdEluZEVudHJ5ICpwZ3N0YXRfZmV0Y2hfc3RhdF9pbmRlbnRyeShPaWQg cmVsaWQpOworZXh0ZXJuIFBnU3RhdF9TdGF0SW5kRW50cnkgKnBnc3RhdF9mZXRjaF9zdGF0 X2luZGVudHJ5X2V4dChib29sIHNoYXJlZCwKKwkJCQkJCQkJCQkJCQkJICAgT2lkIHJlbGlk KTsKIAogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVy bmFsLmggYi9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwuaAppbmRleCBlMmM3 YjU5MzI0Li4wMDRlNTQxMmFiIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9wZ3N0 YXRfaW50ZXJuYWwuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwu aApAQCAtMzU5LDExICszNTksMTcgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0U2hhcmVkX0Rh dGFiYXNlCiAJUGdTdGF0X1N0YXREQkVudHJ5IHN0YXRzOwogfSBQZ1N0YXRTaGFyZWRfRGF0 YWJhc2U7CiAKLXR5cGVkZWYgc3RydWN0IFBnU3RhdFNoYXJlZF9SZWxhdGlvbgordHlwZWRl ZiBzdHJ1Y3QgUGdTdGF0U2hhcmVkX1RhYmxlCiB7CiAJUGdTdGF0U2hhcmVkX0NvbW1vbiBo ZWFkZXI7CiAJUGdTdGF0X1N0YXRUYWJFbnRyeSBzdGF0czsKLX0gUGdTdGF0U2hhcmVkX1Jl bGF0aW9uOworfSBQZ1N0YXRTaGFyZWRfVGFibGU7CisKK3R5cGVkZWYgc3RydWN0IFBnU3Rh dFNoYXJlZF9JbmRleAoreworCVBnU3RhdFNoYXJlZF9Db21tb24gaGVhZGVyOworCVBnU3Rh dF9TdGF0SW5kRW50cnkgc3RhdHM7Cit9IFBnU3RhdFNoYXJlZF9JbmRleDsKIAogdHlwZWRl ZiBzdHJ1Y3QgUGdTdGF0U2hhcmVkX0Z1bmN0aW9uCiB7CkBAIC01NTAsMTYgKzU1NiwyMyBA QCBleHRlcm4gYm9vbCBwZ3N0YXRfZnVuY3Rpb25fZmx1c2hfY2IoUGdTdGF0X0VudHJ5UmVm ICplbnRyeV9yZWYsIGJvb2wgbm93YWl0KTsKIAogCiAvKgotICogRnVuY3Rpb25zIGluIHBn c3RhdF9yZWxhdGlvbi5jCisgKiBGdW5jdGlvbnMgaW4gcGdzdGF0X3RhYmxlLmMKICAqLwog Ci1leHRlcm4gdm9pZCBBdEVPWGFjdF9QZ1N0YXRfUmVsYXRpb25zKFBnU3RhdF9TdWJYYWN0 U3RhdHVzICp4YWN0X3N0YXRlLCBib29sIGlzQ29tbWl0KTsKLWV4dGVybiB2b2lkIEF0RU9T dWJYYWN0X1BnU3RhdF9SZWxhdGlvbnMoUGdTdGF0X1N1YlhhY3RTdGF0dXMgKnhhY3Rfc3Rh dGUsIGJvb2wgaXNDb21taXQsIGludCBuZXN0RGVwdGgpOwotZXh0ZXJuIHZvaWQgQXRQcmVw YXJlX1BnU3RhdF9SZWxhdGlvbnMoUGdTdGF0X1N1YlhhY3RTdGF0dXMgKnhhY3Rfc3RhdGUp OwotZXh0ZXJuIHZvaWQgUG9zdFByZXBhcmVfUGdTdGF0X1JlbGF0aW9ucyhQZ1N0YXRfU3Vi WGFjdFN0YXR1cyAqeGFjdF9zdGF0ZSk7CitleHRlcm4gdm9pZCBBdEVPWGFjdF9QZ1N0YXRf VGFibGVzKFBnU3RhdF9TdWJYYWN0U3RhdHVzICp4YWN0X3N0YXRlLCBib29sIGlzQ29tbWl0 KTsKK2V4dGVybiB2b2lkIEF0RU9TdWJYYWN0X1BnU3RhdF9UYWJsZXMoUGdTdGF0X1N1Ylhh Y3RTdGF0dXMgKnhhY3Rfc3RhdGUsIGJvb2wgaXNDb21taXQsIGludCBuZXN0RGVwdGgpOwor ZXh0ZXJuIHZvaWQgQXRQcmVwYXJlX1BnU3RhdF9UYWJsZXMoUGdTdGF0X1N1YlhhY3RTdGF0 dXMgKnhhY3Rfc3RhdGUpOworZXh0ZXJuIHZvaWQgUG9zdFByZXBhcmVfUGdTdGF0X1RhYmxl cyhQZ1N0YXRfU3ViWGFjdFN0YXR1cyAqeGFjdF9zdGF0ZSk7CisKK2V4dGVybiBib29sIHBn c3RhdF90YWJsZV9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBu b3dhaXQpOworZXh0ZXJuIHZvaWQgcGdzdGF0X3RhYmxlX2RlbGV0ZV9wZW5kaW5nX2NiKFBn U3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmKTsKKworLyoKKyAqIEZ1bmN0aW9ucyBpbiBwZ3N0 YXRfaW5kZXguYworICovCiAKLWV4dGVybiBib29sIHBnc3RhdF9yZWxhdGlvbl9mbHVzaF9j YihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpOwotZXh0ZXJuIHZv aWQgcGdzdGF0X3JlbGF0aW9uX2RlbGV0ZV9wZW5kaW5nX2NiKFBnU3RhdF9FbnRyeVJlZiAq ZW50cnlfcmVmKTsKK2V4dGVybiBib29sIHBnc3RhdF9pbmRleF9mbHVzaF9jYihQZ1N0YXRf RW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpOworZXh0ZXJuIHZvaWQgcGdzdGF0 X2luZGV4X2RlbGV0ZV9wZW5kaW5nX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmKTsK IAogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvcmVsLmggYi9zcmMvaW5j bHVkZS91dGlscy9yZWwuaAppbmRleCBmMzgzYTJmY2E5Li43OTY0MjNmM2UzIDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS91dGlscy9yZWwuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9y ZWwuaApAQCAtMjQ4LDcgKzI0OCwxMCBAQCB0eXBlZGVmIHN0cnVjdCBSZWxhdGlvbkRhdGEK IAogCWJvb2wJCXBnc3RhdF9lbmFibGVkOyAvKiBzaG91bGQgcmVsYXRpb24gc3RhdHMgYmUg Y291bnRlZCAqLwogCS8qIHVzZSAic3RydWN0IiBoZXJlIHRvIGF2b2lkIG5lZWRpbmcgdG8g aW5jbHVkZSBwZ3N0YXQuaDogKi8KLQlzdHJ1Y3QgUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0 YXRfaW5mbzsgLyogc3RhdGlzdGljcyBjb2xsZWN0aW9uIGFyZWEgKi8KKwkvKiB0YWJsZSdz IHN0YXRpc3RpY3MgY29sbGVjdGlvbiBhcmVhICovCisJc3RydWN0IFBnU3RhdF9UYWJsZVN0 YXR1cyAqcGdzdGF0dGFiX2luZm87CisJLyogSW5kZXgncyBzdGF0aXN0aWNzIGNvbGxlY3Rp b24gYXJlYSAqLworCXN0cnVjdCBQZ1N0YXRfSW5kZXhTdGF0dXMgKnBnc3RhdGluZF9pbmZv OwogfSBSZWxhdGlvbkRhdGE7CiAKIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9u L2V4cGVjdGVkL3N0YXRzLm91dCBiL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC9zdGF0 cy5vdXQKaW5kZXggNjFiNWE3MTBlYy4uNDk0YWRlZTg4YiAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvaXNvbGF0aW9uL2V4cGVjdGVkL3N0YXRzLm91dAorKysgYi9zcmMvdGVzdC9pc29sYXRp b24vZXhwZWN0ZWQvc3RhdHMub3V0CkBAIC0yMTY2LDE0ICsyMTY2LDE0IEBAIHBnX3N0YXRf Zm9yY2VfbmV4dF9mbHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QK LSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCi0g ICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVw X3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBB UyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5v aWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQo dHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxl cyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1 cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1 dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9n ZXRfdGFiX3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCisgICAg ICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBf aW5zLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkg QVMgbl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQo dHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90 dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJP TSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3Rh dF90YWInCiAKQEAgLTIyMTAsMTQgKzIyMTAsMTQgQEAgc3RlcCBzMl90YWJsZV91cGRhdGVf azE6IFVQREFURSB0ZXN0X3N0YXRfdGFiIFNFVCB2YWx1ZSA9IHZhbHVlICsgMSBXSEVSRSBr ZXkgPQogc3RlcCBzMV90YWJsZV9kcm9wOiBEUk9QIFRBQkxFIHRlc3Rfc3RhdF90YWI7CiBz dGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRf bnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1 cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0 YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAg IHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAg ICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVs LAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVf dHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2Rl YWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMg dmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lk KSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19yZXR1cm5l ZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90 dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0 X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAg ICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVs LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9s aXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQp IEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQo dHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRz bwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTIyMzYsMTQg KzIyMzYsMTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiBzdGVwIHMxX3RyYWNrX2Nv dW50c19vZmY6IFNFVCB0cmFja19jb3VudHMgPSBvZmY7CiBzdGVwIHMxX3RhYmxlX3N0YXRz OiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkg QVMgc2VxX3NjYW4sCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28u b2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNl cnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxl c191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRf dHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0 X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19z dGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBw Z19zdGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAg ICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAg ICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFf dHVwX3JlYWQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNv Lm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3Vw ZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJf dHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0 X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAg cGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVt X2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5u YW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTIyNzUsMTQgKzIyNzUsMTQgQEAgcGdfc3Rh dF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVD VAotICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwK LSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90 dXBfcmVhZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQp IEFTIG5fdHVwX2lucywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNv Lm9pZCkgQVMgbl90dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRl ZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVw bGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRf dHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3Zh Y3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9n ZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0 X2dldF90YWJfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKKyAg ICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1 cF9pbnMsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lk KSBBUyBuX3R1cF91cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRl ZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZl X3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90 YWJfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3Rh dF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBG Uk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9z dGF0X3RhYicKIApAQCAtMjMxNCwxNCArMjMxNCwxNCBAQCBwZ19zdGF0X2ZvcmNlX25leHRf Zmx1c2gKIHN0ZXAgczFfdHJhY2tfY291bnRzX29mZjogU0VUIHRyYWNrX2NvdW50cyA9IG9m ZjsKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0 X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKLSAgICAgICAgcGdfc3RhdF9n ZXRfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAg cGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAg ICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBk LAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1 cF9kZWwsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5f bGl2ZV90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFT IG5fZGVhZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lk KSBBUyB2YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRz by5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3Jl dHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKKyAgICAgICAgcGdfc3RhdF9nZXRf dGFiX3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAgIHBn X3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1 cF9kZWwsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lkKSBB UyBuX2xpdmVfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXModHNv Lm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9j b3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9vaWQg QVMgdHNvCiAgICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApAQCAtMjM2 OSwxNCArMjM2OSwxNCBAQCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2gKIAogc3RlcCBzMV90 YWJsZV9zdGF0czogCiAgICAgU0VMRUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5z KHRzby5vaWQpIEFTIHNlcV9zY2FuLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfcmV0 dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dldF90 dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBwZ19zdGF0 X2dldF90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgIHBn X3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAgICAg ICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAg ICAgICAgcGdfc3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwK LSAgICAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9j b3VudAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbnVtc2NhbnModHNvLm9pZCkgQVMgc2Vx X3NjYW4sCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfcmV0dXJuZWQodHNvLm9p ZCkgQVMgc2VxX3R1cF9yZWFkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2lu c2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3Rh dF9nZXRfdGFiX3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAs CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2Rl YWRfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQp IEFTIHZhY3V1bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBX SEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBAIC0yNDAxLDE0ICsyNDAxLDE0 IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAK ICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMg c2VxX3NjYW4sCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lk KSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRl ZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191 cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVw bGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dl dF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0 X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19z dGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAg IHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVw X3JlYWQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9p ZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0 ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVw bGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dl dF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdf c3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAg ICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2Nv dW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1l ID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTI0NjMsMTQgKzI0NjMsMTQgQEAgcGdfc3RhdF9m b3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAot ICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKLSAg ICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBf cmVhZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFT IG5fdHVwX2lucywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNvLm9p ZCkgQVMgbl90dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCh0 c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVz KHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRfdHVw bGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1 bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9nZXRf dGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dl dF90YWJfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9p bnMsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBB UyBuX3R1cF91cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0 c28ub2lkKSBBUyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1 cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJf ZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9n ZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9N IHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0 X3RhYicKIApAQCAtMjQ5NSwxNCArMjQ5NSwxNCBAQCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1 c2gKIAogc3RlcCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNUCi0gICAgICAgIHBnX3N0 YXRfZ2V0X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAotICAgICAgICBwZ19zdGF0 X2dldF90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAg ICBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAot ICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91 cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5f dHVwX2RlbCwKLSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMg bl9saXZlX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkg QVMgbl9kZWFkX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5v aWQpIEFTIHZhY3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbnVtc2NhbnMo dHNvLm9pZCkgQVMgc2VxX3NjYW4sCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNf cmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAorICAgICAgICBwZ19zdGF0X2dl dF90YWJfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAgICAg cGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5f dHVwX2RlbCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5vaWQp IEFTIG5fbGl2ZV90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcyh0 c28ub2lkKSBBUyBuX2RlYWRfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFjdXVt X2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0X29p ZCBBUyB0c28KICAgICBXSEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBAIC0y NTU4LDE0ICsyNTU4LDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVwIHMx X3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2Nh bnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19y ZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0 X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0 YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAg cGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAg ICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAot ICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVw LAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVt X2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBz ZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19yZXR1cm5lZCh0c28u b2lkKSBBUyBzZXFfdHVwX3JlYWQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNf aW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90 YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19z dGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1 cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5f ZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9p ZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAg IFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTI2MjcsMTQgKzI2Mjcs MTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6 IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBB UyBzZXFfc2NhbiwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5v aWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2Vy dGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVz X3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90 dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRf Z2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0 YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBn X3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90 dXBfcmVhZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0c28u b2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBk YXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90 dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAgICBw Z19zdGF0X2dldF90YWJfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAg ICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1f Y291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNvLm5h bWUgPSAndGVzdF9zdGF0X3RhYicKIApAQCAtMjY4OCwxNCArMjY4OCwxNCBAQCBwZ19zdGF0 X2ZvcmNlX25leHRfZmx1c2gKIAogc3RlcCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNU Ci0gICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAot ICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1 cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkg QVMgbl90dXBfaW5zLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0c28u b2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVk KHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBs ZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVhZF90 dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdmFj dXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0X2dl dF90YWJfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVw X2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRhdGVkKHRzby5vaWQp IEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19kZWxldGVk KHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVf dHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3Rh Yl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAorICAgICAgICBwZ19zdGF0 X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAogICAgIEZS T00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0 YXRfdGFiJwogCkBAIC0yNzU1LDE0ICsyNzU1LDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9m bHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdf c3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCi0gICAgICAgIHBnX3N0 YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAg ICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMs Ci0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVw X3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMg bl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBB UyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lk KSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNv Lm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fu cyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxl c19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAg ICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBk LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMg bl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9p ZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVz KHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1 dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRf b2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAg LTI3OTUsMTQgKzI3OTUsMTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAg czFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9udW1z Y2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVz X3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3RhdF9n ZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAgcGdf c3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAgICAg ICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0g ICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAs Ci0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90 dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1 dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFT IHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3JldHVybmVkKHRz by5vaWQpIEFTIHNlcV90dXBfcmVhZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxl c19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgIHBn X3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVf dHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXModHNvLm9pZCkgQVMg bl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28u b2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAg ICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApAQCAtMjg0MSwxNCArMjg0 MSwxNCBAQCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2gKIAogc3RlcCBzMV90YWJsZV9zdGF0 czogCiAgICAgU0VMRUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKHRzby5vaWQp IEFTIHNlcV9zY2FuLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQodHNv Lm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5z ZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBwZ19zdGF0X2dldF90dXBs ZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0 X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAgICAgICAgcGdfc3Rh dF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAgICAgICAgcGdf c3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICAgICAg cGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2Vx X3R1cF9yZWFkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRz by5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191 cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3Rh dF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAg IHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAor ICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1 bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28u bmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBAIC0yODgxLDE0ICsyODgxLDE0IEBAIHBnX3N0 YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxF Q1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4s Ci0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFf dHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lk KSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRz by5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0 ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1 cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFk X3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92 YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3Rh dF9nZXRfdGFiX3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90 dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9p ZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0 ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2 ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRf dGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0 YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAg RlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rf c3RhdF90YWInCiAKQEAgLTI5MjcsMTQgKzI5MjcsMTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0 X2ZsdXNoCiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBw Z19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKLSAgICAgICAgcGdf c3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAg ICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lu cywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90 dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBB UyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKHRzby5vaWQp IEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5v aWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0 c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNj YW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVw bGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKKyAgICAgICAgcGdfc3Rh dF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAg ICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91 cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBB UyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28u b2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBs ZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3Zh Y3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3Rh dF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApA QCAtMjk2OCwxNCArMjk2OCwxNCBAQCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2gKIAogc3Rl cCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0X251 bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAotICAgICAgICBwZ19zdGF0X2dldF90dXBs ZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0 X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBw Z19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAg ICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwK LSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1 cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFk X3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZh Y3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbnVtc2NhbnModHNvLm9pZCkg QVMgc2VxX3NjYW4sCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfcmV0dXJuZWQo dHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVw bGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAgICAgcGdfc3RhdF9n ZXRfdGFiX3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICAgICAg cGdfc3RhdF9nZXRfdGFiX3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2 ZV90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcyh0c28ub2lkKSBB UyBuX2RlYWRfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFjdXVtX2NvdW50KHRz by5vaWQpIEFTIHZhY3V1bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0X29pZCBBUyB0c28K ICAgICBXSEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBAIC0zMDE1LDE0ICsz MDE1LDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0 YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9p ZCkgQVMgc2VxX3NjYW4sCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0 c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19p bnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1 cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9n ZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19z dGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBw Z19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAg ICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50Cisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBz ZXFfdHVwX3JlYWQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQo dHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVz X3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90 YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19z dGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAs CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFj dXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRz by5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xh dGlvbi9leHBlY3RlZC9zdGF0c18xLm91dCBiL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3Rl ZC9zdGF0c18xLm91dAppbmRleCAzODU0MzIwMTA2Li43OTgxNzQ3NzMyIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvc3RhdHNfMS5vdXQKKysrIGIvc3JjL3Rl c3QvaXNvbGF0aW9uL2V4cGVjdGVkL3N0YXRzXzEub3V0CkBAIC0yMTc0LDE0ICsyMTc0LDE0 IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAK ICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMg c2VxX3NjYW4sCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBB UyBzZXFfc2NhbiwKICAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5v aWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2Vy dGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVz X3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90 dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRf Z2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0 YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBn X3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9p bnMsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBB UyBuX3R1cF91cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0 c28ub2lkKSBBUyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1 cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJf ZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9n ZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9N IHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0 X3RhYicKIApAQCAtMjIxOCwxNCArMjIxOCwxNCBAQCBzdGVwIHMyX3RhYmxlX3VwZGF0ZV9r MTogVVBEQVRFIHRlc3Rfc3RhdF90YWIgU0VUIHZhbHVlID0gdmFsdWUgKyAxIFdIRVJFIGtl eSA9CiBzdGVwIHMxX3RhYmxlX2Ryb3A6IERST1AgVEFCTEUgdGVzdF9zdGF0X3RhYjsKIHN0 ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9u dW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAogICAgICAgICBwZ19zdGF0X2dldF90 dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19z dGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAg ICBwZ19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0g ICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2Rl bCwKLSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZl X3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9k ZWFkX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFT IHZhY3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVk KHRzby5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxl c191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRf dGFiX3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdf c3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAg ICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVw LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZh Y3V1bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0 c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBAIC0yMjQ0LDE0ICsyMjQ0LDE0IEBAIHBn X3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogc3RlcCBzMV90cmFja19jb3VudHNfb2ZmOiBTRVQg dHJhY2tfY291bnRzID0gb2ZmOwogc3RlcCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNU Ci0gICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAor ICAgICAgICBwZ19zdGF0X2dldF90YWJfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4s CiAgICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFf dHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lk KSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRz by5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0 ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1 cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFk X3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92 YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAg ICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBk LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMg bl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9p ZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVz KHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1 dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRf b2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAg LTIyODMsMTQgKzIyODMsMTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAg czFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9udW1z Y2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251 bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAogICAgICAgICBwZ19zdGF0X2dldF90dXBs ZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0 X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBw Z19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAg ICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwK LSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1 cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFk X3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZh Y3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRz by5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191 cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3Rh dF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAg IHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAor ICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1 bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28u bmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBAIC0yMzIyLDE0ICsyMzIyLDE0IEBAIHBnX3N0 YXRfZm9yY2VfbmV4dF9mbHVzaAogc3RlcCBzMV90cmFja19jb3VudHNfb2ZmOiBTRVQgdHJh Y2tfY291bnRzID0gb2ZmOwogc3RlcCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNUCi0g ICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCiAg ICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVw X3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBB UyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5v aWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQo dHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxl cyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1 cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1 dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBw Z19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAor ICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90 dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkg QVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRz by5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1f Y291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lk IEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTIz NzcsMTQgKzIzNzcsMTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAgczFf dGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fu cyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNj YW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAogICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNf cmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dl dF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBwZ19z dGF0X2dldF90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAg IHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAg ICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwK LSAgICAgICAgcGdfc3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1 cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1 bV9jb3VudAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRzby5v aWQpIEFTIG5fdHVwX2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRh dGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1 cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3RhdF9n ZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAgIHBn X3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9j b3VudAogICAgIEZST00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28ubmFt ZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBAIC0yNDA5LDE0ICsyNDA5LDE0IEBAIHBnX3N0YXRf Zm9yY2VfbmV4dF9mbHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QK LSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwK ICAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90 dXBfcmVhZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQp IEFTIG5fdHVwX2lucywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNv Lm9pZCkgQVMgbl90dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRl ZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVw bGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRf dHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3Zh Y3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9n ZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAg IHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQs CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBu X3R1cF9kZWwsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lk KSBBUyBuX2xpdmVfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXMo dHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1 bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9v aWQgQVMgdHNvCiAgICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApAQCAt MjQ3MSwxNCArMjQ3MSwxNCBAQCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2gKIAogc3RlcCBz MV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0X251bXNj YW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbnVt c2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCiAgICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxl c19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRf Z2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBn X3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAg ICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAot ICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVw LAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRf dHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFj dXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNv Lm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3Vw ZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJf dHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0 X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAg cGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVt X2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5u YW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTI1MDMsMTQgKzI1MDMsMTQgQEAgcGdfc3Rh dF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVD VAotICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2Fu LAogICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2Vx X3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9p ZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0 c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxl dGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90 dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVh ZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRf dmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0 X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3Vw ZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFT IG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5v aWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxl cyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFj dXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0 X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBA IC0yNTY2LDE0ICsyNTY2LDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVw IHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVt c2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9u dW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKICAgICAgICAgcGdfc3RhdF9nZXRfdHVw bGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3Rh dF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAg cGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAg ICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWws Ci0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90 dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVh ZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2 YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0 c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNf dXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3Rh Yl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0 YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAg ICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1 dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNv Lm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApAQCAtMjYzNSwxNCArMjYzNSwxNCBAQCBwZ19z dGF0X2ZvcmNlX25leHRfZmx1c2gKIAogc3RlcCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VM RUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2Fu LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3Nj YW4sCiAgICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBz ZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28u b2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVk KHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2Rl bGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZl X3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9k ZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dl dF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0 YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBf dXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkg QVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNv Lm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVw bGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92 YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0 YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAK QEAgLTI2OTgsMTQgKzI2OTgsMTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0 ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9u dW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAogICAgICAgICBwZ19zdGF0X2dldF90 dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19z dGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAg ICBwZ19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0g ICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2Rl bCwKLSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZl X3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9k ZWFkX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFT IHZhY3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVk KHRzby5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxl c191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRf dGFiX3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdf c3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAg ICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVw LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZh Y3V1bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0 c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBAIC0yNzY3LDE0ICsyNzY3LDE0IEBAIHBn X3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBT RUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3Nj YW4sCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFf c2NhbiwKICAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFT IHNlcV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKHRz by5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0 ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNf ZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2xp dmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0 X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBnX3N0YXRf Z2V0X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAgICAgcGdf c3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1 cF91cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lk KSBBUyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0 c28ub2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90 dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rf c3RhdF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicK IApAQCAtMjgwOSwxNCArMjgwOSwxNCBAQCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2gKIAog c3RlcCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0 X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dldF90 YWJfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCiAgICAgICAgIHBnX3N0YXRfZ2V0 X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBn X3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAg ICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwK LSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBf ZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xp dmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBu X2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkg QVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0 ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVw bGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dl dF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBw Z19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAg ICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90 dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMg dmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJF IHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTI4NTcsMTQgKzI4NTcsMTQgQEAg cGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAg IFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFf c2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNl cV9zY2FuLAogICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkg QVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQo dHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfdXBk YXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxl c19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAgICAgICAgcGdfc3RhdF9nZXRf bGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAgICAgICAgcGdfc3RhdF9n ZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICAgICAgcGdfc3Rh dF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAorICAgICAgICBw Z19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5f dHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19kZWxldGVkKHRzby5v aWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVz KHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFk X3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90 YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAogICAgIEZST00gdGVz dF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFi JwogCkBAIC0yODk5LDE0ICsyODk5LDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAog CiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9n ZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCisgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKICAgICAgICAgcGdfc3RhdF9n ZXRfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAg cGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAg ICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBk LAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1 cF9kZWwsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5f bGl2ZV90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFT IG5fZGVhZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lk KSBBUyB2YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNl cnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90 dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCisgICAgICAg IHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAor ICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFk X3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28ub2lkKSBB UyB2YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAgICAgV0hF UkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApAQCAtMjk0NywxNCArMjk0NywxNCBA QCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2gKIAogc3RlcCBzMV90YWJsZV9zdGF0czogCiAg ICAgU0VMRUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKHRzby5vaWQpIEFTIHNl cV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbnVtc2NhbnModHNvLm9pZCkgQVMg c2VxX3NjYW4sCiAgICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lk KSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRl ZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191 cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVw bGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dl dF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0 X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19z dGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAg IHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5z LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMg bl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNv Lm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBs ZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2Rl YWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0 ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90 YWInCiAKQEAgLTI5OTAsMTQgKzI5OTAsMTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNo CiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0 X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9n ZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAogICAgICAgICBwZ19zdGF0 X2dldF90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAg ICBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAot ICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91 cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5f dHVwX2RlbCwKLSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMg bl9saXZlX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkg QVMgbl9kZWFkX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5v aWQpIEFTIHZhY3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2lu c2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3Rh dF9nZXRfdGFiX3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAs CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2Rl YWRfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQp IEFTIHZhY3V1bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBX SEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBAIC0zMDM5LDE0ICszMDM5LDE0 IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAK ICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMg c2VxX3NjYW4sCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBB UyBzZXFfc2NhbiwKICAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5v aWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2Vy dGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVz X3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90 dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRf Z2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0 YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBn X3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9p bnMsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBB UyBuX3R1cF91cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0 c28ub2lkKSBBUyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1 cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJf ZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9n ZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9N IHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0 X3RhYicKIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3N0YXRzLnNw ZWMgYi9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3Mvc3RhdHMuc3BlYwppbmRleCA1YjkyMmQ3 ODhjLi41M2Q3OGY3ZGIxIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3Mv c3RhdHMuc3BlYworKysgYi9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3Mvc3RhdHMuc3BlYwpA QCAtOTMsMTQgKzkzLDE0IEBAIHN0ZXAgczFfdGFibGVfZHJvcCB7IERST1AgVEFCTEUgdGVz dF9zdGF0X3RhYjsgfQogCiBzdGVwIHMxX3RhYmxlX3N0YXRzIHsKICAgICBTRUxFQ1QKLSAg ICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCi0gICAg ICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3Jl YWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBu X3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQp IEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNv Lm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0 c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxl cyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1f Y291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3Rh Yl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRf dGFiX3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCisgICAgICAg IHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5z LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMg bl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNv Lm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBs ZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2Rl YWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0 ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90 YWInCiB9CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAyOV9zdGF0c19yZXN0 YXJ0LnBsIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMjlfc3RhdHNfcmVzdGFydC5wbAppbmRl eCAxYmY3YjU2OGNjLi5jMjU2MzRkMzNmIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVy eS90LzAyOV9zdGF0c19yZXN0YXJ0LnBsCisrKyBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDI5 X3N0YXRzX3Jlc3RhcnQucGwKQEAgLTQzLDggKzQzLDggQEAgbXkgJHNlY3QgPSAiaW5pdGlh bCI7CiBpcyhoYXZlX3N0YXRzKCdkYXRhYmFzZScsICRkYm9pZCwgMCksICd0JywgIiRzZWN0 OiBkYiBzdGF0cyBkbyBleGlzdCIpOwogaXMoaGF2ZV9zdGF0cygnZnVuY3Rpb24nLCAkZGJv aWQsICRmdW5jb2lkKSwKIAkndCcsICIkc2VjdDogZnVuY3Rpb24gc3RhdHMgZG8gZXhpc3Qi KTsKLWlzKGhhdmVfc3RhdHMoJ3JlbGF0aW9uJywgJGRib2lkLCAkdGFibGVvaWQpLAotCSd0 JywgIiRzZWN0OiByZWxhdGlvbiBzdGF0cyBkbyBleGlzdCIpOworaXMoaGF2ZV9zdGF0cygn dGFibGUnLCAkZGJvaWQsICR0YWJsZW9pZCksCisJJ3QnLCAiJHNlY3Q6IHRhYmxlIHN0YXRz IGRvIGV4aXN0Iik7CiAKICMgcmVndWxhciBzaHV0ZG93bgogJG5vZGUtPnN0b3AoKTsKQEAg LTY3LDggKzY3LDggQEAgJHNlY3QgPSAiY29weSI7CiBpcyhoYXZlX3N0YXRzKCdkYXRhYmFz ZScsICRkYm9pZCwgMCksICd0JywgIiRzZWN0OiBkYiBzdGF0cyBkbyBleGlzdCIpOwogaXMo aGF2ZV9zdGF0cygnZnVuY3Rpb24nLCAkZGJvaWQsICRmdW5jb2lkKSwKIAkndCcsICIkc2Vj dDogZnVuY3Rpb24gc3RhdHMgZG8gZXhpc3QiKTsKLWlzKGhhdmVfc3RhdHMoJ3JlbGF0aW9u JywgJGRib2lkLCAkdGFibGVvaWQpLAotCSd0JywgIiRzZWN0OiByZWxhdGlvbiBzdGF0cyBk byBleGlzdCIpOworaXMoaGF2ZV9zdGF0cygndGFibGUnLCAkZGJvaWQsICR0YWJsZW9pZCks CisJJ3QnLCAiJHNlY3Q6IHRhYmxlIHN0YXRzIGRvIGV4aXN0Iik7CiAKICRub2RlLT5zdG9w KCdpbW1lZGlhdGUnKTsKIApAQCAtODQsOCArODQsOCBAQCAkc2VjdCA9ICJwb3N0IGltbWVk aWF0ZSI7CiBpcyhoYXZlX3N0YXRzKCdkYXRhYmFzZScsICRkYm9pZCwgMCksICdmJywgIiRz ZWN0OiBkYiBzdGF0cyBkbyBub3QgZXhpc3QiKTsKIGlzKGhhdmVfc3RhdHMoJ2Z1bmN0aW9u JywgJGRib2lkLCAkZnVuY29pZCksCiAJJ2YnLCAiJHNlY3Q6IGZ1bmN0aW9uIHN0YXRzIGRv IGV4aXN0Iik7Ci1pcyhoYXZlX3N0YXRzKCdyZWxhdGlvbicsICRkYm9pZCwgJHRhYmxlb2lk KSwKLQknZicsICIkc2VjdDogcmVsYXRpb24gc3RhdHMgZG8gbm90IGV4aXN0Iik7Citpcyho YXZlX3N0YXRzKCd0YWJsZScsICRkYm9pZCwgJHRhYmxlb2lkKSwKKwknZicsICIkc2VjdDog dGFibGUgc3RhdHMgZG8gbm90IGV4aXN0Iik7CiAKICMgZ2V0IHJpZCBvZiBiYWNrdXAgc3Rh dHNmaWxlCiB1bmxpbmsgJHN0YXRzZmlsZSBvciBkaWUgImNhbm5vdCB1bmxpbmsgJHN0YXRz ZmlsZSAkISI7CkBAIC05OCw4ICs5OCw4IEBAICRzZWN0ID0gInBvc3QgaW1tZWRpYXRlLCBu ZXciOwogaXMoaGF2ZV9zdGF0cygnZGF0YWJhc2UnLCAkZGJvaWQsIDApLCAndCcsICIkc2Vj dDogZGIgc3RhdHMgZG8gZXhpc3QiKTsKIGlzKGhhdmVfc3RhdHMoJ2Z1bmN0aW9uJywgJGRi b2lkLCAkZnVuY29pZCksCiAJJ3QnLCAiJHNlY3Q6IGZ1bmN0aW9uIHN0YXRzIGRvIGV4aXN0 Iik7Ci1pcyhoYXZlX3N0YXRzKCdyZWxhdGlvbicsICRkYm9pZCwgJHRhYmxlb2lkKSwKLQkn dCcsICIkc2VjdDogcmVsYXRpb24gc3RhdHMgZG8gZXhpc3QiKTsKK2lzKGhhdmVfc3RhdHMo J3RhYmxlJywgJGRib2lkLCAkdGFibGVvaWQpLAorCSd0JywgIiRzZWN0OiB0YWJsZSBzdGF0 cyBkbyBleGlzdCIpOwogCiAjIHJlZ3VsYXIgc2h1dGRvd24KICRub2RlLT5zdG9wKCk7CkBA IC0xMTcsOCArMTE3LDcgQEAgJHNlY3QgPSAiaW52YWxpZF9vdmVyd3JpdGUiOwogaXMoaGF2 ZV9zdGF0cygnZGF0YWJhc2UnLCAkZGJvaWQsIDApLCAnZicsICIkc2VjdDogZGIgc3RhdHMg ZG8gbm90IGV4aXN0Iik7CiBpcyhoYXZlX3N0YXRzKCdmdW5jdGlvbicsICRkYm9pZCwgJGZ1 bmNvaWQpLAogCSdmJywgIiRzZWN0OiBmdW5jdGlvbiBzdGF0cyBkbyBub3QgZXhpc3QiKTsK LWlzKGhhdmVfc3RhdHMoJ3JlbGF0aW9uJywgJGRib2lkLCAkdGFibGVvaWQpLAotCSdmJywg IiRzZWN0OiByZWxhdGlvbiBzdGF0cyBkbyBub3QgZXhpc3QiKTsKK2lzKGhhdmVfc3RhdHMo J3RhYmxlJywgJGRib2lkLCAkdGFibGVvaWQpLCAnZicsICIkc2VjdDogdGFibGUgZG8gbm90 IGV4aXN0Iik7CiAKIAogIyMgY2hlY2sgaW52YWxpZCBzdGF0cyBmaWxlIHN0YXJ0aW5nIHdp dGggdmFsaWQgY29udGVudHMsIGJ1dCBmb2xsb3dlZCBieQpAQCAtMTMzLDggKzEzMiw4IEBA ICRzZWN0ID0gImludmFsaWRfYXBwZW5kIjsKIGlzKGhhdmVfc3RhdHMoJ2RhdGFiYXNlJywg JGRib2lkLCAwKSwgJ2YnLCAiJHNlY3Q6IGRiIHN0YXRzIGRvIG5vdCBleGlzdCIpOwogaXMo aGF2ZV9zdGF0cygnZnVuY3Rpb24nLCAkZGJvaWQsICRmdW5jb2lkKSwKIAknZicsICIkc2Vj dDogZnVuY3Rpb24gc3RhdHMgZG8gbm90IGV4aXN0Iik7Ci1pcyhoYXZlX3N0YXRzKCdyZWxh dGlvbicsICRkYm9pZCwgJHRhYmxlb2lkKSwKLQknZicsICIkc2VjdDogcmVsYXRpb24gc3Rh dHMgZG8gbm90IGV4aXN0Iik7CitpcyhoYXZlX3N0YXRzKCd0YWJsZScsICRkYm9pZCwgJHRh Ymxlb2lkKSwKKwknZicsICIkc2VjdDogdGFibGUgc3RhdHMgZG8gbm90IGV4aXN0Iik7CiAK IAogIyMgY2hlY2tzIHJlbGF0ZWQgdG8gc3RhdHMgcGVyc2lzdGVuY3kgYXJvdW5kIHJlc3Rh cnRzIGFuZCByZXNldHMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDMwX3N0 YXRzX2NsZWFudXBfcmVwbGljYS5wbCBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDMwX3N0YXRz X2NsZWFudXBfcmVwbGljYS5wbAppbmRleCBjYzkyZGRiYjUyLi4xZTc4YjEzY2Y5IDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAzMF9zdGF0c19jbGVhbnVwX3JlcGxpY2Eu cGwKKysrIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzBfc3RhdHNfY2xlYW51cF9yZXBsaWNh LnBsCkBAIC0xODUsNyArMTg1LDcgQEAgc3ViIHRlc3Rfc3RhbmRieV9mdW5jX3RhYl9zdGF0 c19zdGF0dXMKIAlteSAlc3RhdHM7CiAKIAkkc3RhdHN7cmVsfSA9ICRub2RlX3N0YW5kYnkt PnNhZmVfcHNxbCgkY29ubmVjdF9kYiwKLQkJIlNFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMo J3JlbGF0aW9uJywgJGRib2lkLCAkdGFibGVvaWQpIik7CisJCSJTRUxFQ1QgcGdfc3RhdF9o YXZlX3N0YXRzKCd0YWJsZScsICRkYm9pZCwgJHRhYmxlb2lkKSIpOwogCSRzdGF0c3tmdW5j fSA9ICRub2RlX3N0YW5kYnktPnNhZmVfcHNxbCgkY29ubmVjdF9kYiwKIAkJIlNFTEVDVCBw Z19zdGF0X2hhdmVfc3RhdHMoJ2Z1bmN0aW9uJywgJGRib2lkLCAkZnVuY29pZCkiKTsKIApk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAppbmRleCA1MzJlYTM2OTkwLi5jMmI5 ZjQxYmYyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMTc2Nywx MCArMTc2NywxMCBAQCBwZ19zdGF0X2FsbF9pbmRleGVzfCBTRUxFQ1QgYy5vaWQgQVMgcmVs aWQsCiAgICAgbi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCiAgICAgYy5yZWxuYW1lLAogICAg IGkucmVsbmFtZSBBUyBpbmRleHJlbG5hbWUsCi0gICAgcGdfc3RhdF9nZXRfbnVtc2NhbnMo aS5vaWQpIEFTIGlkeF9zY2FuLAotICAgIHBnX3N0YXRfZ2V0X2xhc3RzY2FuKGkub2lkKSBB UyBsYXN0X2lkeF9zY2FuLAotICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZChpLm9p ZCkgQVMgaWR4X3R1cF9yZWFkLAotICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19mZXRjaGVkKGku b2lkKSBBUyBpZHhfdHVwX2ZldGNoCisgICAgcGdfc3RhdF9nZXRfaW5kX251bXNjYW5zKGku b2lkKSBBUyBpZHhfc2NhbiwKKyAgICBwZ19zdGF0X2dldF9pbmRfbGFzdHNjYW4oaS5vaWQp IEFTIGxhc3RfaWR4X3NjYW4sCisgICAgcGdfc3RhdF9nZXRfaW5kX3R1cGxlc19yZXR1cm5l ZChpLm9pZCkgQVMgaWR4X3R1cF9yZWFkLAorICAgIHBnX3N0YXRfZ2V0X2luZF90dXBsZXNf ZmV0Y2hlZChpLm9pZCkgQVMgaWR4X3R1cF9mZXRjaAogICAgRlJPTSAoKChwZ19jbGFzcyBj CiAgICAgIEpPSU4gcGdfaW5kZXggeCBPTiAoKGMub2lkID0geC5pbmRyZWxpZCkpKQogICAg ICBKT0lOIHBnX2NsYXNzIGkgT04gKChpLm9pZCA9IHguaW5kZXhyZWxpZCkpKQpAQCAtMTc3 OSwyOCArMTc3OSwyOCBAQCBwZ19zdGF0X2FsbF9pbmRleGVzfCBTRUxFQ1QgYy5vaWQgQVMg cmVsaWQsCiBwZ19zdGF0X2FsbF90YWJsZXN8IFNFTEVDVCBjLm9pZCBBUyByZWxpZCwKICAg ICBuLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKICAgICBjLnJlbG5hbWUsCi0gICAgcGdfc3Rh dF9nZXRfbnVtc2NhbnMoYy5vaWQpIEFTIHNlcV9zY2FuLAotICAgIHBnX3N0YXRfZ2V0X2xh c3RzY2FuKGMub2lkKSBBUyBsYXN0X3NlcV9zY2FuLAotICAgIHBnX3N0YXRfZ2V0X3R1cGxl c19yZXR1cm5lZChjLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgIChzdW0ocGdfc3RhdF9n ZXRfbnVtc2NhbnMoaS5pbmRleHJlbGlkKSkpOjpiaWdpbnQgQVMgaWR4X3NjYW4sCi0gICAg bWF4KHBnX3N0YXRfZ2V0X2xhc3RzY2FuKGkuaW5kZXhyZWxpZCkpIEFTIGxhc3RfaWR4X3Nj YW4sCi0gICAgKChzdW0ocGdfc3RhdF9nZXRfdHVwbGVzX2ZldGNoZWQoaS5pbmRleHJlbGlk KSkpOjpiaWdpbnQgKyBwZ19zdGF0X2dldF90dXBsZXNfZmV0Y2hlZChjLm9pZCkpIEFTIGlk eF90dXBfZmV0Y2gsCi0gICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKGMub2lkKSBB UyBuX3R1cF9pbnMsCi0gICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQoYy5vaWQpIEFT IG5fdHVwX3VwZCwKLSAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZChjLm9pZCkgQVMg bl90dXBfZGVsLAotICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19ob3RfdXBkYXRlZChjLm9pZCkg QVMgbl90dXBfaG90X3VwZCwKLSAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyhjLm9pZCkg QVMgbl9saXZlX3R1cCwKLSAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyhjLm9pZCkgQVMg bl9kZWFkX3R1cCwKLSAgICBwZ19zdGF0X2dldF9tb2Rfc2luY2VfYW5hbHl6ZShjLm9pZCkg QVMgbl9tb2Rfc2luY2VfYW5hbHl6ZSwKLSAgICBwZ19zdGF0X2dldF9pbnNfc2luY2VfdmFj dXVtKGMub2lkKSBBUyBuX2luc19zaW5jZV92YWN1dW0sCi0gICAgcGdfc3RhdF9nZXRfbGFz dF92YWN1dW1fdGltZShjLm9pZCkgQVMgbGFzdF92YWN1dW0sCi0gICAgcGdfc3RhdF9nZXRf bGFzdF9hdXRvdmFjdXVtX3RpbWUoYy5vaWQpIEFTIGxhc3RfYXV0b3ZhY3V1bSwKLSAgICBw Z19zdGF0X2dldF9sYXN0X2FuYWx5emVfdGltZShjLm9pZCkgQVMgbGFzdF9hbmFseXplLAot ICAgIHBnX3N0YXRfZ2V0X2xhc3RfYXV0b2FuYWx5emVfdGltZShjLm9pZCkgQVMgbGFzdF9h dXRvYW5hbHl6ZSwKLSAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQoYy5vaWQpIEFTIHZh Y3V1bV9jb3VudCwKLSAgICBwZ19zdGF0X2dldF9hdXRvdmFjdXVtX2NvdW50KGMub2lkKSBB UyBhdXRvdmFjdXVtX2NvdW50LAotICAgIHBnX3N0YXRfZ2V0X2FuYWx5emVfY291bnQoYy5v aWQpIEFTIGFuYWx5emVfY291bnQsCi0gICAgcGdfc3RhdF9nZXRfYXV0b2FuYWx5emVfY291 bnQoYy5vaWQpIEFTIGF1dG9hbmFseXplX2NvdW50CisgICAgcGdfc3RhdF9nZXRfdGFiX251 bXNjYW5zKGMub2lkKSBBUyBzZXFfc2NhbiwKKyAgICBwZ19zdGF0X2dldF90YWJfbGFzdHNj YW4oYy5vaWQpIEFTIGxhc3Rfc2VxX3NjYW4sCisgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxl c19yZXR1cm5lZChjLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAorICAgIChzdW0ocGdfc3RhdF9n ZXRfaW5kX251bXNjYW5zKGkuaW5kZXhyZWxpZCkpKTo6YmlnaW50IEFTIGlkeF9zY2FuLAor ICAgIG1heChwZ19zdGF0X2dldF9pbmRfbGFzdHNjYW4oaS5pbmRleHJlbGlkKSkgQVMgbGFz dF9pZHhfc2NhbiwKKyAgICAoKHN1bShwZ19zdGF0X2dldF9pbmRfdHVwbGVzX2ZldGNoZWQo aS5pbmRleHJlbGlkKSkpOjpiaWdpbnQgKyBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2ZldGNo ZWQoYy5vaWQpKSBBUyBpZHhfdHVwX2ZldGNoLAorICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBs ZXNfaW5zZXJ0ZWQoYy5vaWQpIEFTIG5fdHVwX2lucywKKyAgICBwZ19zdGF0X2dldF90YWJf dHVwbGVzX3VwZGF0ZWQoYy5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICBwZ19zdGF0X2dldF90 YWJfdHVwbGVzX2RlbGV0ZWQoYy5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICBwZ19zdGF0X2dl dF90YWJfdHVwbGVzX2hvdF91cGRhdGVkKGMub2lkKSBBUyBuX3R1cF9ob3RfdXBkLAorICAg IHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyhjLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAg ICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXMoYy5vaWQpIEFTIG5fZGVhZF90dXAsCisg ICAgcGdfc3RhdF9nZXRfdGFiX21vZF9zaW5jZV9hbmFseXplKGMub2lkKSBBUyBuX21vZF9z aW5jZV9hbmFseXplLAorICAgIHBnX3N0YXRfZ2V0X3RhYl9pbnNfc2luY2VfdmFjdXVtKGMu b2lkKSBBUyBuX2luc19zaW5jZV92YWN1dW0sCisgICAgcGdfc3RhdF9nZXRfdGFiX2xhc3Rf dmFjdXVtX3RpbWUoYy5vaWQpIEFTIGxhc3RfdmFjdXVtLAorICAgIHBnX3N0YXRfZ2V0X3Rh Yl9sYXN0X2F1dG92YWN1dW1fdGltZShjLm9pZCkgQVMgbGFzdF9hdXRvdmFjdXVtLAorICAg IHBnX3N0YXRfZ2V0X3RhYl9sYXN0X2FuYWx5emVfdGltZShjLm9pZCkgQVMgbGFzdF9hbmFs eXplLAorICAgIHBnX3N0YXRfZ2V0X3RhYl9sYXN0X2F1dG9hbmFseXplX3RpbWUoYy5vaWQp IEFTIGxhc3RfYXV0b2FuYWx5emUsCisgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3Vu dChjLm9pZCkgQVMgdmFjdXVtX2NvdW50LAorICAgIHBnX3N0YXRfZ2V0X3RhYl9hdXRvdmFj dXVtX2NvdW50KGMub2lkKSBBUyBhdXRvdmFjdXVtX2NvdW50LAorICAgIHBnX3N0YXRfZ2V0 X3RhYl9hbmFseXplX2NvdW50KGMub2lkKSBBUyBhbmFseXplX2NvdW50LAorICAgIHBnX3N0 YXRfZ2V0X3RhYl9hdXRvYW5hbHl6ZV9jb3VudChjLm9pZCkgQVMgYXV0b2FuYWx5emVfY291 bnQKICAgIEZST00gKChwZ19jbGFzcyBjCiAgICAgIExFRlQgSk9JTiBwZ19pbmRleCBpIE9O ICgoYy5vaWQgPSBpLmluZHJlbGlkKSkpCiAgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2Ug biBPTiAoKG4ub2lkID0gYy5yZWxuYW1lc3BhY2UpKSkKQEAgLTIyMjQsOSArMjIyNCw5IEBA IHBnX3N0YXRfd2FsX3JlY2VpdmVyfCBTRUxFQ1Qgcy5waWQsCiBwZ19zdGF0X3hhY3RfYWxs X3RhYmxlc3wgU0VMRUNUIGMub2lkIEFTIHJlbGlkLAogICAgIG4ubnNwbmFtZSBBUyBzY2hl bWFuYW1lLAogICAgIGMucmVsbmFtZSwKLSAgICBwZ19zdGF0X2dldF94YWN0X251bXNjYW5z KGMub2lkKSBBUyBzZXFfc2NhbiwKKyAgICBwZ19zdGF0X2dldF90YWJfeGFjdF9udW1zY2Fu cyhjLm9pZCkgQVMgc2VxX3NjYW4sCiAgICAgcGdfc3RhdF9nZXRfeGFjdF90dXBsZXNfcmV0 dXJuZWQoYy5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAoc3VtKHBnX3N0YXRfZ2V0X3hh Y3RfbnVtc2NhbnMoaS5pbmRleHJlbGlkKSkpOjpiaWdpbnQgQVMgaWR4X3NjYW4sCisgICAg KHN1bShwZ19zdGF0X2dldF9pbmRfeGFjdF9udW1zY2FucyhpLmluZGV4cmVsaWQpKSk6OmJp Z2ludCBBUyBpZHhfc2NhbiwKICAgICAoKHN1bShwZ19zdGF0X2dldF94YWN0X3R1cGxlc19m ZXRjaGVkKGkuaW5kZXhyZWxpZCkpKTo6YmlnaW50ICsgcGdfc3RhdF9nZXRfeGFjdF90dXBs ZXNfZmV0Y2hlZChjLm9pZCkpIEFTIGlkeF90dXBfZmV0Y2gsCiAgICAgcGdfc3RhdF9nZXRf eGFjdF90dXBsZXNfaW5zZXJ0ZWQoYy5vaWQpIEFTIG5fdHVwX2lucywKICAgICBwZ19zdGF0 X2dldF94YWN0X3R1cGxlc191cGRhdGVkKGMub2lkKSBBUyBuX3R1cF91cGQsCkBAIC0yMjc3 LDggKzIyNzcsOCBAQCBwZ19zdGF0aW9fYWxsX2luZGV4ZXN8IFNFTEVDVCBjLm9pZCBBUyBy ZWxpZCwKICAgICBuLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKICAgICBjLnJlbG5hbWUsCiAg ICAgaS5yZWxuYW1lIEFTIGluZGV4cmVsbmFtZSwKLSAgICAocGdfc3RhdF9nZXRfYmxvY2tz X2ZldGNoZWQoaS5vaWQpIC0gcGdfc3RhdF9nZXRfYmxvY2tzX2hpdChpLm9pZCkpIEFTIGlk eF9ibGtzX3JlYWQsCi0gICAgcGdfc3RhdF9nZXRfYmxvY2tzX2hpdChpLm9pZCkgQVMgaWR4 X2Jsa3NfaGl0CisgICAgKHBnX3N0YXRfZ2V0X2luZF9ibG9ja3NfZmV0Y2hlZChpLm9pZCkg LSBwZ19zdGF0X2dldF9pbmRfYmxvY2tzX2hpdChpLm9pZCkpIEFTIGlkeF9ibGtzX3JlYWQs CisgICAgcGdfc3RhdF9nZXRfaW5kX2Jsb2Nrc19oaXQoaS5vaWQpIEFTIGlkeF9ibGtzX2hp dAogICAgRlJPTSAoKChwZ19jbGFzcyBjCiAgICAgIEpPSU4gcGdfaW5kZXggeCBPTiAoKGMu b2lkID0geC5pbmRyZWxpZCkpKQogICAgICBKT0lOIHBnX2NsYXNzIGkgT04gKChpLm9pZCA9 IHguaW5kZXhyZWxpZCkpKQpAQCAtMjI4NywzMSArMjI4NywzMSBAQCBwZ19zdGF0aW9fYWxs X2luZGV4ZXN8IFNFTEVDVCBjLm9pZCBBUyByZWxpZCwKIHBnX3N0YXRpb19hbGxfc2VxdWVu Y2VzfCBTRUxFQ1QgYy5vaWQgQVMgcmVsaWQsCiAgICAgbi5uc3BuYW1lIEFTIHNjaGVtYW5h bWUsCiAgICAgYy5yZWxuYW1lLAotICAgIChwZ19zdGF0X2dldF9ibG9ja3NfZmV0Y2hlZChj Lm9pZCkgLSBwZ19zdGF0X2dldF9ibG9ja3NfaGl0KGMub2lkKSkgQVMgYmxrc19yZWFkLAot ICAgIHBnX3N0YXRfZ2V0X2Jsb2Nrc19oaXQoYy5vaWQpIEFTIGJsa3NfaGl0CisgICAgKHBn X3N0YXRfZ2V0X2luZF9ibG9ja3NfZmV0Y2hlZChjLm9pZCkgLSBwZ19zdGF0X2dldF90YWJf YmxvY2tzX2hpdChjLm9pZCkpIEFTIGJsa3NfcmVhZCwKKyAgICBwZ19zdGF0X2dldF90YWJf YmxvY2tzX2hpdChjLm9pZCkgQVMgYmxrc19oaXQKICAgIEZST00gKHBnX2NsYXNzIGMKICAg ICAgTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBuIE9OICgobi5vaWQgPSBjLnJlbG5hbWVzcGFj ZSkpKQogICBXSEVSRSAoYy5yZWxraW5kID0gJ1MnOjoiY2hhciIpOwogcGdfc3RhdGlvX2Fs bF90YWJsZXN8IFNFTEVDVCBjLm9pZCBBUyByZWxpZCwKICAgICBuLm5zcG5hbWUgQVMgc2No ZW1hbmFtZSwKICAgICBjLnJlbG5hbWUsCi0gICAgKHBnX3N0YXRfZ2V0X2Jsb2Nrc19mZXRj aGVkKGMub2lkKSAtIHBnX3N0YXRfZ2V0X2Jsb2Nrc19oaXQoYy5vaWQpKSBBUyBoZWFwX2Js a3NfcmVhZCwKLSAgICBwZ19zdGF0X2dldF9ibG9ja3NfaGl0KGMub2lkKSBBUyBoZWFwX2Js a3NfaGl0LAorICAgIChwZ19zdGF0X2dldF90YWJfYmxvY2tzX2ZldGNoZWQoYy5vaWQpIC0g cGdfc3RhdF9nZXRfdGFiX2Jsb2Nrc19oaXQoYy5vaWQpKSBBUyBoZWFwX2Jsa3NfcmVhZCwK KyAgICBwZ19zdGF0X2dldF90YWJfYmxvY2tzX2hpdChjLm9pZCkgQVMgaGVhcF9ibGtzX2hp dCwKICAgICBpLmlkeF9ibGtzX3JlYWQsCiAgICAgaS5pZHhfYmxrc19oaXQsCi0gICAgKHBn X3N0YXRfZ2V0X2Jsb2Nrc19mZXRjaGVkKHQub2lkKSAtIHBnX3N0YXRfZ2V0X2Jsb2Nrc19o aXQodC5vaWQpKSBBUyB0b2FzdF9ibGtzX3JlYWQsCi0gICAgcGdfc3RhdF9nZXRfYmxvY2tz X2hpdCh0Lm9pZCkgQVMgdG9hc3RfYmxrc19oaXQsCisgICAgKHBnX3N0YXRfZ2V0X3RhYl9i bG9ja3NfZmV0Y2hlZCh0Lm9pZCkgLSBwZ19zdGF0X2dldF90YWJfYmxvY2tzX2hpdCh0Lm9p ZCkpIEFTIHRvYXN0X2Jsa3NfcmVhZCwKKyAgICBwZ19zdGF0X2dldF90YWJfYmxvY2tzX2hp dCh0Lm9pZCkgQVMgdG9hc3RfYmxrc19oaXQsCiAgICAgeC5pZHhfYmxrc19yZWFkIEFTIHRp ZHhfYmxrc19yZWFkLAogICAgIHguaWR4X2Jsa3NfaGl0IEFTIHRpZHhfYmxrc19oaXQKICAg IEZST00gKCgoKHBnX2NsYXNzIGMKICAgICAgTEVGVCBKT0lOIHBnX2NsYXNzIHQgT04gKChj LnJlbHRvYXN0cmVsaWQgPSB0Lm9pZCkpKQogICAgICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNl IG4gT04gKChuLm9pZCA9IGMucmVsbmFtZXNwYWNlKSkpCi0gICAgIExFRlQgSk9JTiBMQVRF UkFMICggU0VMRUNUIChzdW0oKHBnX3N0YXRfZ2V0X2Jsb2Nrc19mZXRjaGVkKHBnX2luZGV4 LmluZGV4cmVsaWQpIC0gcGdfc3RhdF9nZXRfYmxvY2tzX2hpdChwZ19pbmRleC5pbmRleHJl bGlkKSkpKTo6YmlnaW50IEFTIGlkeF9ibGtzX3JlYWQsCi0gICAgICAgICAgICAoc3VtKHBn X3N0YXRfZ2V0X2Jsb2Nrc19oaXQocGdfaW5kZXguaW5kZXhyZWxpZCkpKTo6YmlnaW50IEFT IGlkeF9ibGtzX2hpdAorICAgICBMRUZUIEpPSU4gTEFURVJBTCAoIFNFTEVDVCAoc3VtKChw Z19zdGF0X2dldF9pbmRfYmxvY2tzX2ZldGNoZWQocGdfaW5kZXguaW5kZXhyZWxpZCkgLSBw Z19zdGF0X2dldF9pbmRfYmxvY2tzX2hpdChwZ19pbmRleC5pbmRleHJlbGlkKSkpKTo6Ymln aW50IEFTIGlkeF9ibGtzX3JlYWQsCisgICAgICAgICAgICAoc3VtKHBnX3N0YXRfZ2V0X2lu ZF9ibG9ja3NfaGl0KHBnX2luZGV4LmluZGV4cmVsaWQpKSk6OmJpZ2ludCBBUyBpZHhfYmxr c19oaXQKICAgICAgICAgICAgRlJPTSBwZ19pbmRleAogICAgICAgICAgIFdIRVJFIChwZ19p bmRleC5pbmRyZWxpZCA9IGMub2lkKSkgaSBPTiAodHJ1ZSkpCi0gICAgIExFRlQgSk9JTiBM QVRFUkFMICggU0VMRUNUIChzdW0oKHBnX3N0YXRfZ2V0X2Jsb2Nrc19mZXRjaGVkKHBnX2lu ZGV4LmluZGV4cmVsaWQpIC0gcGdfc3RhdF9nZXRfYmxvY2tzX2hpdChwZ19pbmRleC5pbmRl eHJlbGlkKSkpKTo6YmlnaW50IEFTIGlkeF9ibGtzX3JlYWQsCi0gICAgICAgICAgICAoc3Vt KHBnX3N0YXRfZ2V0X2Jsb2Nrc19oaXQocGdfaW5kZXguaW5kZXhyZWxpZCkpKTo6YmlnaW50 IEFTIGlkeF9ibGtzX2hpdAorICAgICBMRUZUIEpPSU4gTEFURVJBTCAoIFNFTEVDVCAoc3Vt KChwZ19zdGF0X2dldF9pbmRfYmxvY2tzX2ZldGNoZWQocGdfaW5kZXguaW5kZXhyZWxpZCkg LSBwZ19zdGF0X2dldF9pbmRfYmxvY2tzX2hpdChwZ19pbmRleC5pbmRleHJlbGlkKSkpKTo6 YmlnaW50IEFTIGlkeF9ibGtzX3JlYWQsCisgICAgICAgICAgICAoc3VtKHBnX3N0YXRfZ2V0 X2luZF9ibG9ja3NfaGl0KHBnX2luZGV4LmluZGV4cmVsaWQpKSk6OmJpZ2ludCBBUyBpZHhf Ymxrc19oaXQKICAgICAgICAgICAgRlJPTSBwZ19pbmRleAogICAgICAgICAgIFdIRVJFIChw Z19pbmRleC5pbmRyZWxpZCA9IHQub2lkKSkgeCBPTiAodHJ1ZSkpCiAgIFdIRVJFIChjLnJl bGtpbmQgPSBBTlkgKEFSUkFZWydyJzo6ImNoYXIiLCAndCc6OiJjaGFyIiwgJ20nOjoiY2hh ciJdKSk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N0YXRzLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3RhdHMub3V0CmluZGV4IDFkODQ0MDdh MDMuLmQ1ZWUwZjQ4NDUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv c3RhdHMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3RhdHMub3V0CkBA IC0xNTEsNiArMTUxLDExNyBAQCBGUk9NIHByZXZzdGF0cyBBUyBwcjsKIAogQ09NTUlUOwog LS0tLQorLS0gQmFzaWMgdGVzdHMgZm9yIHRvYXN0CistLS0KK0NSRUFURSBUQUJMRSBzdGF0 c190b2FzdChzdHVmZiB0ZXh0KTsKK0FMVEVSIFRBQkxFIHN0YXRzX3RvYXN0IEFMVEVSIENP TFVNTiBzdHVmZiBTRVQgU1RPUkFHRSBFWFRFUk5BTDsKK0lOU0VSVCBJTlRPIHN0YXRzX3Rv YXN0IFZBTFVFUyAocmVwZWF0KCdhJywxMDAwMDAwKSk7CitTRUxFQ1QgY291bnQoKikgRlJP TSBzdGF0c190b2FzdCBXSEVSRSBzdHVmZiBsaWtlICclYSUnOworIGNvdW50IAorLS0tLS0t LQorICAgICAxCisoMSByb3cpCisKKy0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVz aGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisgcGdfc3RhdF9mb3Jj ZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykK Kworc2VsZWN0IHRvYXN0X2Jsa3NfcmVhZCA+IDAgYXMgdG9hc3RfYmxrc19yZWFkLCB0b2Fz dF9ibGtzX2hpdCA+IDAgYXMgdG9hc3RfYmxrc19oaXQsCisgICAgICAgdGlkeF9ibGtzX3Jl YWQgPiAwIGFzIHRpZHhfYmxrc19yZWFkLCB0aWR4X2Jsa3NfaGl0ID4gMCBhcyB0aWR4X2Js a3NfaGl0LAorICAgICAgIHRvYXN0X2Jsa3NfaGl0ID49IHRvYXN0X2Jsa3NfcmVhZCwKKyAg ICAgICB0aWR4X2Jsa3NfaGl0ID49IHRpZHhfYmxrc19yZWFkCisgICBmcm9tIHBnX3N0YXRp b19hbGxfdGFibGVzCisgd2hlcmUgcmVsbmFtZSA9ICdzdGF0c190b2FzdCc7CisgdG9hc3Rf Ymxrc19yZWFkIHwgdG9hc3RfYmxrc19oaXQgfCB0aWR4X2Jsa3NfcmVhZCB8IHRpZHhfYmxr c19oaXQgfCA/Y29sdW1uPyB8ID9jb2x1bW4/IAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tLS0KKyB0ICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICB8IHQgICAg ICAgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQgICAgICAgIHwgdAorKDEgcm93KQorCist LS0tCistLSBCYXNpYyB0ZXN0cyBmb3IgcGFydGl0aW9uCistLS0KK0NSRUFURSBUQUJMRSBz dGF0c19wYXJ0aXRpb24gKAorICAgIGlkMSAgICAgICAgIGludCBub3QgbnVsbCwKKyAgICBp ZDIgICAgICAgICBpbnQgbm90IG51bGwKKykgUEFSVElUSU9OIEJZIFJBTkdFIChpZDIpOwor Q1JFQVRFIFRBQkxFIHN0YXRzX3BhcnRpdGlvbl81IFBBUlRJVElPTiBPRiBzdGF0c19wYXJ0 aXRpb24KKyAgICBGT1IgVkFMVUVTIEZST00gKDApIFRPICg1KTsKK0NSRUFURSBUQUJMRSBz dGF0c19wYXJ0aXRpb25fMjAwMDAgUEFSVElUSU9OIE9GIHN0YXRzX3BhcnRpdGlvbgorICAg IEZPUiBWQUxVRVMgRlJPTSAoNSkgVE8gKDIwMDAxKTsKK0NSRUFURSBJTkRFWCBPTiBzdGF0 c19wYXJ0aXRpb24gKGlkMik7CitpbnNlcnQgaW50byBzdGF0c19wYXJ0aXRpb24gc2VsZWN0 IGEsYSBmcm9tIGdlbmVyYXRlX3NlcmllcygwLDIwMDAwKSBhOworU0VUIGVuYWJsZV9zZXFz Y2FuIFRPIG9mZjsKK1NFVCBlbmFibGVfYml0bWFwc2NhbiBUTyBvZmY7CitzZWxlY3QgKiBm cm9tIHN0YXRzX3BhcnRpdGlvbiB3aGVyZSBpZDIgPSAyMDAwOworIGlkMSAgfCBpZDIgIAor LS0tLS0tKy0tLS0tLQorIDIwMDAgfCAyMDAwCisoMSByb3cpCisKK3NlbGVjdCAqIGZyb20g c3RhdHNfcGFydGl0aW9uIHdoZXJlIGlkMiA9IDI7CisgaWQxIHwgaWQyIAorLS0tLS0rLS0t LS0KKyAgIDIgfCAgIDIKKygxIHJvdykKKworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJl IGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBwZ19zdGF0 X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEg cm93KQorCitzZWxlY3QgcmVsbmFtZSwgaW5kZXhyZWxuYW1lLCBpZHhfc2NhbiA+IDAgYXMg aWR4X3NjYW4sIGlkeF90dXBfcmVhZCA+IDAgYXMgaWR4X3R1cF9yZWFkLAorICAgICAgIGlk eF90dXBfZmV0Y2ggPiAwIGFzIGlkeF90dXBfZmV0Y2gKKyAgIGZyb20gcGdfc3RhdF9hbGxf aW5kZXhlcworIHdoZXJlIHJlbG5hbWUgbGlrZSAnJXN0YXRzX3BhcnRpdGlvbiUnCisgb3Jk ZXIgYnkgcmVsbmFtZSBDT0xMQVRFICJDIjsKKyAgICAgICAgcmVsbmFtZSAgICAgICAgfCAg ICAgICAgIGluZGV4cmVsbmFtZSAgICAgICAgICB8IGlkeF9zY2FuIHwgaWR4X3R1cF9yZWFk IHwgaWR4X3R1cF9mZXRjaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0KKyBzdGF0c19wYXJ0aXRpb25fMjAwMDAgfCBzdGF0c19wYXJ0aXRpb25fMjAw MDBfaWQyX2lkeCB8IHQgICAgICAgIHwgdCAgICAgICAgICAgIHwgdAorIHN0YXRzX3BhcnRp dGlvbl81ICAgICB8IHN0YXRzX3BhcnRpdGlvbl81X2lkMl9pZHggICAgIHwgdCAgICAgICAg fCB0ICAgICAgICAgICAgfCB0CisoMiByb3dzKQorCitzZWxlY3QgcmVsbmFtZSwgaW5kZXhy ZWxuYW1lLCBpZHhfYmxrc19yZWFkID4gMCBhcyBpZHhfYmxrc19yZWFkLAorICAgICAgIGlk eF9ibGtzX2hpdCA+IDAgYXMgaWR4X2Jsa3NfaGl0CisgICBmcm9tIHBnX3N0YXRpb19hbGxf aW5kZXhlcworIHdoZXJlIHJlbG5hbWUgbGlrZSAnJXN0YXRzX3BhcnRpdGlvbiUnCisgb3Jk ZXIgYnkgcmVsbmFtZSBDT0xMQVRFICJDIjsKKyAgICAgICAgcmVsbmFtZSAgICAgICAgfCAg ICAgICAgIGluZGV4cmVsbmFtZSAgICAgICAgICB8IGlkeF9ibGtzX3JlYWQgfCBpZHhfYmxr c19oaXQgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLQorIHN0YXRzX3BhcnRp dGlvbl8yMDAwMCB8IHN0YXRzX3BhcnRpdGlvbl8yMDAwMF9pZDJfaWR4IHwgdCAgICAgICAg ICAgICB8IHQKKyBzdGF0c19wYXJ0aXRpb25fNSAgICAgfCBzdGF0c19wYXJ0aXRpb25fNV9p ZDJfaWR4ICAgICB8IHQgICAgICAgICAgICAgfCB0CisoMiByb3dzKQorCitzZWxlY3QgcmVs bmFtZSxzZXFfc2NhbiA+IDAgYXMgc2VxX3NjYW4sIHNlcV90dXBfcmVhZCA+IDAgYXMgc2Vx X3R1cF9yZWFkLAorICAgICAgIGlkeF9zY2FuID4gMCBhcyBpZHhfc2NhbiwgaWR4X3R1cF9m ZXRjaCA+IDAgYXMgaWR4X3R1cF9mZXRjaAorICAgZnJvbSBwZ19zdGF0X2FsbF90YWJsZXMK KyAgd2hlcmUgcmVsbmFtZSBsaWtlICclc3RhdHNfcGFydGl0aW9uJScKKyAgb3JkZXIgYnkg cmVsbmFtZSBDT0xMQVRFICJDIjsKKyAgICAgICAgcmVsbmFtZSAgICAgICAgfCBzZXFfc2Nh biB8IHNlcV90dXBfcmVhZCB8IGlkeF9zY2FuIHwgaWR4X3R1cF9mZXRjaCAKKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0KKyBzdGF0c19wYXJ0aXRpb24gICAgICAgfCBmICAgICAgICB8IGYg ICAgICAgICAgICB8IGYgICAgICAgIHwgZgorIHN0YXRzX3BhcnRpdGlvbl8yMDAwMCB8IHQg ICAgICAgIHwgZiAgICAgICAgICAgIHwgdCAgICAgICAgfCB0Cisgc3RhdHNfcGFydGl0aW9u XzUgICAgIHwgdCAgICAgICAgfCBmICAgICAgICAgICAgfCB0ICAgICAgICB8IHQKKygzIHJv d3MpCisKK3NlbGVjdCByZWxuYW1lLCBoZWFwX2Jsa3NfcmVhZCA+IDAgYXMgaGVhcF9ibGtz X3JlYWQsIGhlYXBfYmxrc19oaXQgPiAwIGFzIGhlYXBfYmxrc19oaXQsCisgICAgICAgaWR4 X2Jsa3NfcmVhZCA+IDAgYXMgaWR4X2Jsa3NfcmVhZCwgaWR4X2Jsa3NfaGl0ID4gMCBhcyBp ZHhfYmxrc19oaXQKKyAgIGZyb20gcGdfc3RhdGlvX2FsbF90YWJsZXMKKyB3aGVyZSByZWxu YW1lIGxpa2UgJyVzdGF0c19wYXJ0aXRpb24lJworIG9yZGVyIGJ5IHJlbG5hbWUgQ09MTEFU RSAiQyI7CisgICAgICAgIHJlbG5hbWUgICAgICAgIHwgaGVhcF9ibGtzX3JlYWQgfCBoZWFw X2Jsa3NfaGl0IHwgaWR4X2Jsa3NfcmVhZCB8IGlkeF9ibGtzX2hpdCAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLQorIHN0YXRzX3BhcnRpdGlvbl8yMDAwMCB8IHQgICAg ICAgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgfCB0Cisgc3RhdHNf cGFydGl0aW9uXzUgICAgIHwgdCAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdCAg ICAgICAgICAgICB8IHQKKygyIHJvd3MpCisKK1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBvbjsK K1NFVCBlbmFibGVfYml0bWFwc2NhbiBUTyBvbjsKKy0tLS0KIC0tIEJhc2ljIHRlc3RzIGZv ciB0cmFja19mdW5jdGlvbnMKIC0tLQogQ1JFQVRFIEZVTkNUSU9OIHN0YXRzX3Rlc3RfZnVu YzEoKSBSRVRVUk5TIFZPSUQgTEFOR1VBR0UgcGxwZ3NxbCBBUyAkJEJFR0lOIEVORDskJDsK QEAgLTM1NywxNyArNDY4LDE3IEBAIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2go KTsKICAKICgxIHJvdykKIAotU0VMRUNUIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKDpkcm9w X3N0YXRzX3Rlc3Rfb2lkKTsKLSBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyAKLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgICAgICAgICAgICAgICAgMQorU0VMRUNUIHBn X3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X29pZCk7CisgcGdf c3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKICgxIHJvdykKIAogRFJPUCBUQUJM RSBkcm9wX3N0YXRzX3Rlc3Q7Ci1TRUxFQ1QgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMoOmRy b3Bfc3RhdHNfdGVzdF9vaWQpOwotIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzIAotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQotICAgICAgICAgICAgICAgICAgICAgICAwCitTRUxFQ1Qg cGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3Rfb2lkKTsKKyBw Z19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogKDEgcm93KQogCiBTRUxFQ1Qg cGdfc3RhdF9nZXRfeGFjdF90dXBsZXNfaW5zZXJ0ZWQoOmRyb3Bfc3RhdHNfdGVzdF9vaWQp OwpAQCAtMzc4LDE4ICs0ODksMTggQEAgU0VMRUNUIHBnX3N0YXRfZ2V0X3hhY3RfdHVwbGVz X2luc2VydGVkKDpkcm9wX3N0YXRzX3Rlc3Rfb2lkKTsKIAogLS0gY2hlY2sgdGhhdCByb2xs YmFjayBwcm90ZWN0cyBhZ2FpbnN0IGhhdmluZyBzdGF0cyBkcm9wcGVkIGFuZCB0aGF0IGxv Y2FsCiAtLSBtb2RpZmljYXRpb25zIGRvbid0IHBvc2UgYSBwcm9ibGVtCi1TRUxFQ1QgcGdf c3RhdF9nZXRfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7Ci0gcGdf c3RhdF9nZXRfbGl2ZV90dXBsZXMgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAg ICAgICAgICAgICAgICAgICAgIDEKLSgxIHJvdykKLQotU0VMRUNUIHBnX3N0YXRfZ2V0X3R1 cGxlc19pbnNlcnRlZCg6ZHJvcF9zdGF0c190ZXN0X3hhY3Rfb2lkKTsKLSBwZ19zdGF0X2dl dF90dXBsZXNfaW5zZXJ0ZWQgCitTRUxFQ1QgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVz KDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOworIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1 cGxlcyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAxCiAoMSByb3cpCiAKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJfdHVwbGVz X2luc2VydGVkKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOworIHBnX3N0YXRfZ2V0X3Rh Yl90dXBsZXNfaW5zZXJ0ZWQgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCisoMSByb3cpCisKIFNFTEVDVCBw Z19zdGF0X2dldF94YWN0X3R1cGxlc19pbnNlcnRlZCg6ZHJvcF9zdGF0c190ZXN0X3hhY3Rf b2lkKTsKICBwZ19zdGF0X2dldF94YWN0X3R1cGxlc19pbnNlcnRlZCAKIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTQxOCwyOSArNTI5LDI5IEBAIFNFTEVDVCBw Z19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKICAKICgxIHJvdykKIAotU0VMRUNUIHBnX3N0 YXRfZ2V0X2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOwotIHBnX3N0 YXRfZ2V0X2xpdmVfdHVwbGVzIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgICAg ICAgICAgICAgICAgICAgICAxCitTRUxFQ1QgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVz KDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOworIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1 cGxlcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAxCiAoMSByb3cpCiAKLVNFTEVDVCBwZ19zdGF0X2dldF90dXBsZXNfaW5z ZXJ0ZWQoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7Ci0gcGdfc3RhdF9nZXRfdHVwbGVz X2luc2VydGVkIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgIDIKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2Vy dGVkKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOworIHBnX3N0YXRfZ2V0X3RhYl90dXBs ZXNfaW5zZXJ0ZWQgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAyCiAoMSByb3cpCiAKIC0tIHRyYW5zYWN0aW9u YWwgZHJvcAotU0VMRUNUIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rl c3RfeGFjdF9vaWQpOwotIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzIAotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQotICAgICAgICAgICAgICAgICAgICAgICAxCitTRUxFQ1QgcGdfc3Rh dF9nZXRfdGFiX2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOworIHBn X3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiAoMSByb3cpCiAKLVNFTEVDVCBw Z19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7 Ci0gcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKK1NFTEVDVCBwZ19zdGF0 X2dldF90YWJfdHVwbGVzX2luc2VydGVkKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOwor IHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQgCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyCiAoMSBy b3cpCiAKIEJFR0lOOwpAQCAtNDY1LDIzICs1NzYsMjMgQEAgU0VMRUNUIHBnX3N0YXRfZm9y Y2VfbmV4dF9mbHVzaCgpOwogIAogKDEgcm93KQogCi1TRUxFQ1QgcGdfc3RhdF9nZXRfbGl2 ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7Ci0gcGdfc3RhdF9nZXRfbGl2 ZV90dXBsZXMgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgICAgICAgICAgICAg ICAgICAgIDAKLSgxIHJvdykKLQotU0VMRUNUIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRl ZCg6ZHJvcF9zdGF0c190ZXN0X3hhY3Rfb2lkKTsKLSBwZ19zdGF0X2dldF90dXBsZXNfaW5z ZXJ0ZWQgCitTRUxFQ1QgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRz X3Rlc3RfeGFjdF9vaWQpOworIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyAKIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw CiAoMSByb3cpCiAKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKDpk cm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOworIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5z ZXJ0ZWQgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAwCisoMSByb3cpCisKIC0tIHNhdmVwb2ludCByb2xsYmFj ayAoMiBsZXZlbHMpCi1TRUxFQ1QgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMoOmRyb3Bfc3Rh dHNfdGVzdF9zdWJ4YWN0X29pZCk7Ci0gcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMgCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgICAgICAgICAgICAgICAgICAgIDEKK1NFTEVD VCBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0 X29pZCk7CisgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKICgxIHJvdykK IAogQkVHSU47CkBAIC01MTAsMTcgKzYyMSwxNyBAQCBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9u ZXh0X2ZsdXNoKCk7CiAgCiAoMSByb3cpCiAKLVNFTEVDVCBwZ19zdGF0X2dldF9saXZlX3R1 cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lkKTsKLSBwZ19zdGF0X2dldF9saXZl X3R1cGxlcyAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgICAgICAgICAg ICAgICAgMworU0VMRUNUIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0 c190ZXN0X3N1YnhhY3Rfb2lkKTsKKyBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMgCist LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgMwogKDEgcm93KQogCiAtLSBzYXZlcG9pbnQgcm9sYmFjayAoMSBsZXZlbCkKLVNFTEVD VCBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lk KTsKLSBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KLSAgICAgICAgICAgICAgICAgICAgICAgMworU0VMRUNUIHBnX3N0YXRfZ2V0X3RhYl9s aXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lkKTsKKyBwZ19zdGF0X2dl dF90YWJfbGl2ZV90dXBsZXMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgMwogKDEgcm93KQogCiBCRUdJTjsKQEAgLTUyOSwx NyArNjQwLDE3IEBAIERST1AgVEFCTEUgZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Q7CiBTQVZF UE9JTlQgc3AyOwogUk9MTEJBQ0sgVE8gU0FWRVBPSU5UIHNwMTsKIENPTU1JVDsKLVNFTEVD VCBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lk KTsKLSBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KLSAgICAgICAgICAgICAgICAgICAgICAgMworU0VMRUNUIHBnX3N0YXRfZ2V0X3RhYl9s aXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lkKTsKKyBwZ19zdGF0X2dl dF90YWJfbGl2ZV90dXBsZXMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgMwogKDEgcm93KQogCiAtLSBhbmQgbm93IGFjdHVh bGx5IGRyb3AKLVNFTEVDVCBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190 ZXN0X3N1YnhhY3Rfb2lkKTsKLSBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyAKLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgICAgICAgICAgICAgICAgMworU0VMRUNUIHBn X3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lk KTsKKyBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMgCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgMwogKDEgcm93KQogCiBC RUdJTjsKQEAgLTU0OCwxMCArNjU5LDEwIEBAIERST1AgVEFCTEUgZHJvcF9zdGF0c190ZXN0 X3N1YnhhY3Q7CiBTQVZFUE9JTlQgc3AyOwogUkVMRUFTRSBTQVZFUE9JTlQgc3AxOwogQ09N TUlUOwotU0VMRUNUIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3Rf c3VieGFjdF9vaWQpOwotIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzIAotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQotICAgICAgICAgICAgICAgICAgICAgICAwCitTRUxFQ1QgcGdfc3Rh dF9nZXRfdGFiX2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3Rfc3VieGFjdF9vaWQpOwor IHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgICAgICAgICAgICAgICAgICAgICAgICAgICAwCiAoMSByb3cpCiAKIERST1Ag VEFCTEUgdHJ1bmNfc3RhdHNfdGVzdCwgdHJ1bmNfc3RhdHNfdGVzdDEsIHRydW5jX3N0YXRz X3Rlc3QyLCB0cnVuY19zdGF0c190ZXN0MywgdHJ1bmNfc3RhdHNfdGVzdDQ7CkBAIC0xMDIx LDIxICsxMTMyLDIxIEBAIHNlbGVjdCBhIGZyb20gc3RhdHNfdGVzdF90YWIxIHdoZXJlIGEg PSAzOwogIDMKICgxIHJvdykKIAotU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygncmVsYXRp b24nLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2hh dmVfc3RhdHMoJ2luZGV4JywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CiAgcGdf c3RhdF9oYXZlX3N0YXRzIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0KICB0CiAoMSByb3cpCiAK IC0tIHBnX3N0YXRfaGF2ZV9zdGF0cyByZXR1cm5zIGZhbHNlIGZvciBkcm9wcGVkIGluZGV4 IHdpdGggc3RhdHMKLVNFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3JlbGF0aW9uJywgOmRi b2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CitTRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRz KCdpbmRleCcsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOwogIHBnX3N0YXRfaGF2 ZV9zdGF0cyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgdAogKDEgcm93KQogCiBEUk9QIGlu ZGV4IHN0YXRzX3Rlc3RfaWR4MTsKLVNFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3JlbGF0 aW9uJywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CitTRUxFQ1QgcGdfc3RhdF9o YXZlX3N0YXRzKCdpbmRleCcsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOwogIHBn X3N0YXRfaGF2ZV9zdGF0cyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgZgpAQCAtMTA1MSwx NCArMTE2MiwxNCBAQCBzZWxlY3QgYSBmcm9tIHN0YXRzX3Rlc3RfdGFiMSB3aGVyZSBhID0g MzsKICAzCiAoMSByb3cpCiAKLVNFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3JlbGF0aW9u JywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CitTRUxFQ1QgcGdfc3RhdF9oYXZl X3N0YXRzKCdpbmRleCcsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOwogIHBnX3N0 YXRfaGF2ZV9zdGF0cyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgdAogKDEgcm93KQogCiBS T0xMQkFDSzsKLVNFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3JlbGF0aW9uJywgOmRib2lk LCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CitTRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdp bmRleCcsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOwogIHBnX3N0YXRfaGF2ZV9z dGF0cyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgZgpAQCAtMTA3Myw3ICsxMTg0LDcgQEAg c2VsZWN0IGEgZnJvbSBzdGF0c190ZXN0X3RhYjEgd2hlcmUgYSA9IDM7CiAgMwogKDEgcm93 KQogCi1TRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdyZWxhdGlvbicsIDpkYm9pZCwgOnN0 YXRzX3Rlc3RfaWR4MV9vaWQpOworU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygnaW5kZXgn LCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKICBwZ19zdGF0X2hhdmVfc3RhdHMg CiAtLS0tLS0tLS0tLS0tLS0tLS0tLQogIHQKQEAgLTEwODEsNyArMTE5Miw3IEBAIFNFTEVD VCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3JlbGF0aW9uJywgOmRib2lkLCA6c3RhdHNfdGVzdF9p ZHgxX29pZCk7CiAKIFJFSU5ERVggaW5kZXggQ09OQ1VSUkVOVExZIHN0YXRzX3Rlc3RfaWR4 MTsKIC0tIGZhbHNlIGZvciBwcmV2aW91cyBvaWQKLVNFTEVDVCBwZ19zdGF0X2hhdmVfc3Rh dHMoJ3JlbGF0aW9uJywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CitTRUxFQ1Qg cGdfc3RhdF9oYXZlX3N0YXRzKCdpbmRleCcsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9v aWQpOwogIHBnX3N0YXRfaGF2ZV9zdGF0cyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgZgpA QCAtMTA4OSw3ICsxMjAwLDcgQEAgU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygncmVsYXRp b24nLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKIAogLS0gdHJ1ZSBmb3IgbmV3 IG9pZAogU0VMRUNUICdzdGF0c190ZXN0X2lkeDEnOjpyZWdjbGFzczo6b2lkIEFTIHN0YXRz X3Rlc3RfaWR4MV9vaWQgXGdzZXQKLVNFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3JlbGF0 aW9uJywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CitTRUxFQ1QgcGdfc3RhdF9o YXZlX3N0YXRzKCdpbmRleCcsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOwogIHBn X3N0YXRfaGF2ZV9zdGF0cyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgdApAQCAtMTA5Nyw3 ICsxMjA4LDcgQEAgU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygncmVsYXRpb24nLCA6ZGJv aWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKIAogLS0gcGdfc3RhdF9oYXZlX3N0YXRzIHJl dHVybnMgdHJ1ZSBmb3IgYSByb2xsZWQgYmFjayBkcm9wIGluZGV4IHdpdGggc3RhdHMKIEJF R0lOOwotU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygncmVsYXRpb24nLCA6ZGJvaWQsIDpz dGF0c190ZXN0X2lkeDFfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ2luZGV4 JywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CiAgcGdfc3RhdF9oYXZlX3N0YXRz IAogLS0tLS0tLS0tLS0tLS0tLS0tLS0KICB0CkBAIC0xMTA1LDcgKzEyMTYsNyBAQCBTRUxF Q1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdyZWxhdGlvbicsIDpkYm9pZCwgOnN0YXRzX3Rlc3Rf aWR4MV9vaWQpOwogCiBEUk9QIGluZGV4IHN0YXRzX3Rlc3RfaWR4MTsKIFJPTExCQUNLOwot U0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygncmVsYXRpb24nLCA6ZGJvaWQsIDpzdGF0c190 ZXN0X2lkeDFfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ2luZGV4JywgOmRi b2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CiAgcGdfc3RhdF9oYXZlX3N0YXRzIAogLS0t LS0tLS0tLS0tLS0tLS0tLS0KICB0CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9zdGF0cy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdGF0cy5zcWwKaW5kZXggYjRk Njc1M2M3MS4uMWU5YWU3NGIyYSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv c3RhdHMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N0YXRzLnNxbApAQCAtMTI2 LDYgKzEyNiw3NyBAQCBGUk9NIHByZXZzdGF0cyBBUyBwcjsKIAogQ09NTUlUOwogCistLS0t CistLSBCYXNpYyB0ZXN0cyBmb3IgdG9hc3QKKy0tLQorQ1JFQVRFIFRBQkxFIHN0YXRzX3Rv YXN0KHN0dWZmIHRleHQpOworQUxURVIgVEFCTEUgc3RhdHNfdG9hc3QgQUxURVIgQ09MVU1O IHN0dWZmIFNFVCBTVE9SQUdFIEVYVEVSTkFMOworSU5TRVJUIElOVE8gc3RhdHNfdG9hc3Qg VkFMVUVTIChyZXBlYXQoJ2EnLDEwMDAwMDApKTsKK1NFTEVDVCBjb3VudCgqKSBGUk9NIHN0 YXRzX3RvYXN0IFdIRVJFIHN0dWZmIGxpa2UgJyVhJSc7CisKKy0tIGVuc3VyZSBwZW5kaW5n IHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7 CisKK3NlbGVjdCB0b2FzdF9ibGtzX3JlYWQgPiAwIGFzIHRvYXN0X2Jsa3NfcmVhZCwgdG9h c3RfYmxrc19oaXQgPiAwIGFzIHRvYXN0X2Jsa3NfaGl0LAorICAgICAgIHRpZHhfYmxrc19y ZWFkID4gMCBhcyB0aWR4X2Jsa3NfcmVhZCwgdGlkeF9ibGtzX2hpdCA+IDAgYXMgdGlkeF9i bGtzX2hpdCwKKyAgICAgICB0b2FzdF9ibGtzX2hpdCA+PSB0b2FzdF9ibGtzX3JlYWQsCisg ICAgICAgdGlkeF9ibGtzX2hpdCA+PSB0aWR4X2Jsa3NfcmVhZAorICAgZnJvbSBwZ19zdGF0 aW9fYWxsX3RhYmxlcworIHdoZXJlIHJlbG5hbWUgPSAnc3RhdHNfdG9hc3QnOworCistLS0t CistLSBCYXNpYyB0ZXN0cyBmb3IgcGFydGl0aW9uCistLS0KK0NSRUFURSBUQUJMRSBzdGF0 c19wYXJ0aXRpb24gKAorICAgIGlkMSAgICAgICAgIGludCBub3QgbnVsbCwKKyAgICBpZDIg ICAgICAgICBpbnQgbm90IG51bGwKKykgUEFSVElUSU9OIEJZIFJBTkdFIChpZDIpOworCitD UkVBVEUgVEFCTEUgc3RhdHNfcGFydGl0aW9uXzUgUEFSVElUSU9OIE9GIHN0YXRzX3BhcnRp dGlvbgorICAgIEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDUpOworCitDUkVBVEUgVEFCTEUg c3RhdHNfcGFydGl0aW9uXzIwMDAwIFBBUlRJVElPTiBPRiBzdGF0c19wYXJ0aXRpb24KKyAg ICBGT1IgVkFMVUVTIEZST00gKDUpIFRPICgyMDAwMSk7CisKK0NSRUFURSBJTkRFWCBPTiBz dGF0c19wYXJ0aXRpb24gKGlkMik7CisKK2luc2VydCBpbnRvIHN0YXRzX3BhcnRpdGlvbiBz ZWxlY3QgYSxhIGZyb20gZ2VuZXJhdGVfc2VyaWVzKDAsMjAwMDApIGE7CisKK1NFVCBlbmFi bGVfc2Vxc2NhbiBUTyBvZmY7CitTRVQgZW5hYmxlX2JpdG1hcHNjYW4gVE8gb2ZmOworCitz ZWxlY3QgKiBmcm9tIHN0YXRzX3BhcnRpdGlvbiB3aGVyZSBpZDIgPSAyMDAwOworc2VsZWN0 ICogZnJvbSBzdGF0c19wYXJ0aXRpb24gd2hlcmUgaWQyID0gMjsKKy0tIGVuc3VyZSBwZW5k aW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNo KCk7CisKK3NlbGVjdCByZWxuYW1lLCBpbmRleHJlbG5hbWUsIGlkeF9zY2FuID4gMCBhcyBp ZHhfc2NhbiwgaWR4X3R1cF9yZWFkID4gMCBhcyBpZHhfdHVwX3JlYWQsCisgICAgICAgaWR4 X3R1cF9mZXRjaCA+IDAgYXMgaWR4X3R1cF9mZXRjaAorICAgZnJvbSBwZ19zdGF0X2FsbF9p bmRleGVzCisgd2hlcmUgcmVsbmFtZSBsaWtlICclc3RhdHNfcGFydGl0aW9uJScKKyBvcmRl ciBieSByZWxuYW1lIENPTExBVEUgIkMiOworCitzZWxlY3QgcmVsbmFtZSwgaW5kZXhyZWxu YW1lLCBpZHhfYmxrc19yZWFkID4gMCBhcyBpZHhfYmxrc19yZWFkLAorICAgICAgIGlkeF9i bGtzX2hpdCA+IDAgYXMgaWR4X2Jsa3NfaGl0CisgICBmcm9tIHBnX3N0YXRpb19hbGxfaW5k ZXhlcworIHdoZXJlIHJlbG5hbWUgbGlrZSAnJXN0YXRzX3BhcnRpdGlvbiUnCisgb3JkZXIg YnkgcmVsbmFtZSBDT0xMQVRFICJDIjsKKworc2VsZWN0IHJlbG5hbWUsc2VxX3NjYW4gPiAw IGFzIHNlcV9zY2FuLCBzZXFfdHVwX3JlYWQgPiAwIGFzIHNlcV90dXBfcmVhZCwKKyAgICAg ICBpZHhfc2NhbiA+IDAgYXMgaWR4X3NjYW4sIGlkeF90dXBfZmV0Y2ggPiAwIGFzIGlkeF90 dXBfZmV0Y2gKKyAgIGZyb20gcGdfc3RhdF9hbGxfdGFibGVzCisgIHdoZXJlIHJlbG5hbWUg bGlrZSAnJXN0YXRzX3BhcnRpdGlvbiUnCisgIG9yZGVyIGJ5IHJlbG5hbWUgQ09MTEFURSAi QyI7CisKK3NlbGVjdCByZWxuYW1lLCBoZWFwX2Jsa3NfcmVhZCA+IDAgYXMgaGVhcF9ibGtz X3JlYWQsIGhlYXBfYmxrc19oaXQgPiAwIGFzIGhlYXBfYmxrc19oaXQsCisgICAgICAgaWR4 X2Jsa3NfcmVhZCA+IDAgYXMgaWR4X2Jsa3NfcmVhZCwgaWR4X2Jsa3NfaGl0ID4gMCBhcyBp ZHhfYmxrc19oaXQKKyAgIGZyb20gcGdfc3RhdGlvX2FsbF90YWJsZXMKKyB3aGVyZSByZWxu YW1lIGxpa2UgJyVzdGF0c19wYXJ0aXRpb24lJworIG9yZGVyIGJ5IHJlbG5hbWUgQ09MTEFU RSAiQyI7CisKK1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBvbjsKK1NFVCBlbmFibGVfYml0bWFw c2NhbiBUTyBvbjsKKwogLS0tLQogLS0gQmFzaWMgdGVzdHMgZm9yIHRyYWNrX2Z1bmN0aW9u cwogLS0tCkBAIC0yMTgsMTUgKzI4OSwxNSBAQCBTRUxFQ1QgJ2Ryb3Bfc3RhdHNfdGVzdF9z dWJ4YWN0Jzo6cmVnY2xhc3M6Om9pZCBBUyBkcm9wX3N0YXRzX3Rlc3Rfc3VieGFjdF9vaWQg XAogCiBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CiAKLVNFTEVDVCBwZ19z dGF0X2dldF9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X29pZCk7CitTRUxFQ1QgcGdf c3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3Rfb2lkKTsKIERST1Ag VEFCTEUgZHJvcF9zdGF0c190ZXN0OwotU0VMRUNUIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVz KDpkcm9wX3N0YXRzX3Rlc3Rfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJfbGl2ZV90 dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF9vaWQpOwogU0VMRUNUIHBnX3N0YXRfZ2V0X3hhY3Rf dHVwbGVzX2luc2VydGVkKDpkcm9wX3N0YXRzX3Rlc3Rfb2lkKTsKIAogLS0gY2hlY2sgdGhh dCByb2xsYmFjayBwcm90ZWN0cyBhZ2FpbnN0IGhhdmluZyBzdGF0cyBkcm9wcGVkIGFuZCB0 aGF0IGxvY2FsCiAtLSBtb2RpZmljYXRpb25zIGRvbid0IHBvc2UgYSBwcm9ibGVtCi1TRUxF Q1QgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7 Ci1TRUxFQ1QgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKDpkcm9wX3N0YXRzX3Rlc3Rf eGFjdF9vaWQpOworU0VMRUNUIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyg6ZHJvcF9z dGF0c190ZXN0X3hhY3Rfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2lu c2VydGVkKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOwogU0VMRUNUIHBnX3N0YXRfZ2V0 X3hhY3RfdHVwbGVzX2luc2VydGVkKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOwogQkVH SU47CiBJTlNFUlQgSU5UTyBkcm9wX3N0YXRzX3Rlc3RfeGFjdCBERUZBVUxUIFZBTFVFUzsK QEAgLTIzNSwxMiArMzA2LDEyIEBAIERST1AgVEFCTEUgZHJvcF9zdGF0c190ZXN0X3hhY3Q7 CiBTRUxFQ1QgcGdfc3RhdF9nZXRfeGFjdF90dXBsZXNfaW5zZXJ0ZWQoOmRyb3Bfc3RhdHNf dGVzdF94YWN0X29pZCk7CiBST0xMQkFDSzsKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRf Zmx1c2goKTsKLVNFTEVDVCBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190 ZXN0X3hhY3Rfb2lkKTsKLVNFTEVDVCBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQoOmRy b3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7CitTRUxFQ1QgcGdfc3RhdF9nZXRfdGFiX2xpdmVf dHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOworU0VMRUNUIHBnX3N0YXRfZ2V0 X3RhYl90dXBsZXNfaW5zZXJ0ZWQoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7CiAKIC0t IHRyYW5zYWN0aW9uYWwgZHJvcAotU0VMRUNUIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKDpk cm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOwotU0VMRUNUIHBnX3N0YXRfZ2V0X3R1cGxlc19p bnNlcnRlZCg6ZHJvcF9zdGF0c190ZXN0X3hhY3Rfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2dl dF90YWJfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7CitTRUxFQ1Qg cGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCg6ZHJvcF9zdGF0c190ZXN0X3hhY3Rf b2lkKTsKIEJFR0lOOwogSU5TRVJUIElOVE8gZHJvcF9zdGF0c190ZXN0X3hhY3QgREVGQVVM VCBWQUxVRVM7CiBTRUxFQ1QgcGdfc3RhdF9nZXRfeGFjdF90dXBsZXNfaW5zZXJ0ZWQoOmRy b3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7CkBAIC0yNDgsMTEgKzMxOSwxMSBAQCBEUk9QIFRB QkxFIGRyb3Bfc3RhdHNfdGVzdF94YWN0OwogU0VMRUNUIHBnX3N0YXRfZ2V0X3hhY3RfdHVw bGVzX2luc2VydGVkKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOwogQ09NTUlUOwogU0VM RUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOwotU0VMRUNUIHBnX3N0YXRfZ2V0X2xp dmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOwotU0VMRUNUIHBnX3N0YXRf Z2V0X3R1cGxlc19pbnNlcnRlZCg6ZHJvcF9zdGF0c190ZXN0X3hhY3Rfb2lkKTsKK1NFTEVD VCBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29p ZCk7CitTRUxFQ1QgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCg6ZHJvcF9zdGF0 c190ZXN0X3hhY3Rfb2lkKTsKIAogLS0gc2F2ZXBvaW50IHJvbGxiYWNrICgyIGxldmVscykK LVNFTEVDVCBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1Ynhh Y3Rfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMoOmRyb3Bfc3Rh dHNfdGVzdF9zdWJ4YWN0X29pZCk7CiBCRUdJTjsKIElOU0VSVCBJTlRPIGRyb3Bfc3RhdHNf dGVzdF9zdWJ4YWN0IERFRkFVTFQgVkFMVUVTOwogU0FWRVBPSU5UIHNwMTsKQEAgLTI2NCwy NyArMzM1LDI3IEBAIFJPTExCQUNLIFRPIFNBVkVQT0lOVCBzcDI7CiBTRUxFQ1QgcGdfc3Rh dF9nZXRfeGFjdF90dXBsZXNfaW5zZXJ0ZWQoOmRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0X29p ZCk7CiBDT01NSVQ7CiBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7Ci1TRUxF Q1QgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0X29p ZCk7CitTRUxFQ1QgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rl c3Rfc3VieGFjdF9vaWQpOwogCiAtLSBzYXZlcG9pbnQgcm9sYmFjayAoMSBsZXZlbCkKLVNF TEVDVCBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rf b2lkKTsKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNf dGVzdF9zdWJ4YWN0X29pZCk7CiBCRUdJTjsKIFNBVkVQT0lOVCBzcDE7CiBEUk9QIFRBQkxF IGRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0OwogU0FWRVBPSU5UIHNwMjsKIFJPTExCQUNLIFRP IFNBVkVQT0lOVCBzcDE7CiBDT01NSVQ7Ci1TRUxFQ1QgcGdfc3RhdF9nZXRfbGl2ZV90dXBs ZXMoOmRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0X29pZCk7CitTRUxFQ1QgcGdfc3RhdF9nZXRf dGFiX2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3Rfc3VieGFjdF9vaWQpOwogCiAtLSBh bmQgbm93IGFjdHVhbGx5IGRyb3AKLVNFTEVDVCBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyg6 ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJf bGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0X29pZCk7CiBCRUdJTjsKIFNB VkVQT0lOVCBzcDE7CiBEUk9QIFRBQkxFIGRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0OwogU0FW RVBPSU5UIHNwMjsKIFJFTEVBU0UgU0FWRVBPSU5UIHNwMTsKIENPTU1JVDsKLVNFTEVDVCBw Z19zdGF0X2dldF9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lkKTsK K1NFTEVDVCBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF9z dWJ4YWN0X29pZCk7CiAKIERST1AgVEFCTEUgdHJ1bmNfc3RhdHNfdGVzdCwgdHJ1bmNfc3Rh dHNfdGVzdDEsIHRydW5jX3N0YXRzX3Rlc3QyLCB0cnVuY19zdGF0c190ZXN0MywgdHJ1bmNf c3RhdHNfdGVzdDQ7CiBEUk9QIFRBQkxFIHByZXZzdGF0czsKQEAgLTQ5Myw0MCArNTY0LDQw IEBAIENSRUFURSBpbmRleCBzdGF0c190ZXN0X2lkeDEgb24gc3RhdHNfdGVzdF90YWIxKGEp OwogU0VMRUNUICdzdGF0c190ZXN0X2lkeDEnOjpyZWdjbGFzczo6b2lkIEFTIHN0YXRzX3Rl c3RfaWR4MV9vaWQgXGdzZXQKIFNFVCBlbmFibGVfc2Vxc2NhbiBUTyBvZmY7CiBzZWxlY3Qg YSBmcm9tIHN0YXRzX3Rlc3RfdGFiMSB3aGVyZSBhID0gMzsKLVNFTEVDVCBwZ19zdGF0X2hh dmVfc3RhdHMoJ3JlbGF0aW9uJywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CitT RUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdpbmRleCcsIDpkYm9pZCwgOnN0YXRzX3Rlc3Rf aWR4MV9vaWQpOwogCiAtLSBwZ19zdGF0X2hhdmVfc3RhdHMgcmV0dXJucyBmYWxzZSBmb3Ig ZHJvcHBlZCBpbmRleCB3aXRoIHN0YXRzCi1TRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdy ZWxhdGlvbicsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOworU0VMRUNUIHBnX3N0 YXRfaGF2ZV9zdGF0cygnaW5kZXgnLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsK IERST1AgaW5kZXggc3RhdHNfdGVzdF9pZHgxOwotU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0 cygncmVsYXRpb24nLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKK1NFTEVDVCBw Z19zdGF0X2hhdmVfc3RhdHMoJ2luZGV4JywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29p ZCk7CiAKIC0tIHBnX3N0YXRfaGF2ZV9zdGF0cyByZXR1cm5zIGZhbHNlIGZvciByb2xsZWQg YmFjayBpbmRleCBjcmVhdGlvbgogQkVHSU47CiBDUkVBVEUgaW5kZXggc3RhdHNfdGVzdF9p ZHgxIG9uIHN0YXRzX3Rlc3RfdGFiMShhKTsKIFNFTEVDVCAnc3RhdHNfdGVzdF9pZHgxJzo6 cmVnY2xhc3M6Om9pZCBBUyBzdGF0c190ZXN0X2lkeDFfb2lkIFxnc2V0CiBzZWxlY3QgYSBm cm9tIHN0YXRzX3Rlc3RfdGFiMSB3aGVyZSBhID0gMzsKLVNFTEVDVCBwZ19zdGF0X2hhdmVf c3RhdHMoJ3JlbGF0aW9uJywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CitTRUxF Q1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdpbmRleCcsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4 MV9vaWQpOwogUk9MTEJBQ0s7Ci1TRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdyZWxhdGlv bicsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOworU0VMRUNUIHBnX3N0YXRfaGF2 ZV9zdGF0cygnaW5kZXgnLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKIAogLS0g cGdfc3RhdF9oYXZlX3N0YXRzIHJldHVybnMgdHJ1ZSBmb3IgcmVpbmRleCBDT05DVVJSRU5U TFkKIENSRUFURSBpbmRleCBzdGF0c190ZXN0X2lkeDEgb24gc3RhdHNfdGVzdF90YWIxKGEp OwogU0VMRUNUICdzdGF0c190ZXN0X2lkeDEnOjpyZWdjbGFzczo6b2lkIEFTIHN0YXRzX3Rl c3RfaWR4MV9vaWQgXGdzZXQKIHNlbGVjdCBhIGZyb20gc3RhdHNfdGVzdF90YWIxIHdoZXJl IGEgPSAzOwotU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygncmVsYXRpb24nLCA6ZGJvaWQs IDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ2lu ZGV4JywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CiBSRUlOREVYIGluZGV4IENP TkNVUlJFTlRMWSBzdGF0c190ZXN0X2lkeDE7CiAtLSBmYWxzZSBmb3IgcHJldmlvdXMgb2lk Ci1TRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdyZWxhdGlvbicsIDpkYm9pZCwgOnN0YXRz X3Rlc3RfaWR4MV9vaWQpOworU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygnaW5kZXgnLCA6 ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKIC0tIHRydWUgZm9yIG5ldyBvaWQKIFNF TEVDVCAnc3RhdHNfdGVzdF9pZHgxJzo6cmVnY2xhc3M6Om9pZCBBUyBzdGF0c190ZXN0X2lk eDFfb2lkIFxnc2V0Ci1TRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdyZWxhdGlvbicsIDpk Ym9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOworU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0 cygnaW5kZXgnLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKIAogLS0gcGdfc3Rh dF9oYXZlX3N0YXRzIHJldHVybnMgdHJ1ZSBmb3IgYSByb2xsZWQgYmFjayBkcm9wIGluZGV4 IHdpdGggc3RhdHMKIEJFR0lOOwotU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygncmVsYXRp b24nLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2hh dmVfc3RhdHMoJ2luZGV4JywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CiBEUk9Q IGluZGV4IHN0YXRzX3Rlc3RfaWR4MTsKIFJPTExCQUNLOwotU0VMRUNUIHBnX3N0YXRfaGF2 ZV9zdGF0cygncmVsYXRpb24nLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKK1NF TEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ2luZGV4JywgOmRib2lkLCA6c3RhdHNfdGVzdF9p ZHgxX29pZCk7CiAKIC0tIHB1dCBlbmFibGVfc2Vxc2NhbiBiYWNrIHRvIG9uCiBTRVQgZW5h YmxlX3NlcXNjYW4gVE8gb247CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlw ZWRlZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CmluZGV4IDU4 ZGFlY2E4MzEuLmY5MDA5MjYzYmMgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90 eXBlZGVmcy5saXN0CisrKyBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CkBA IC0yMDA4LDEwICsyMDA4LDExIEBAIFBnU3RhdFNoYXJlZF9Db21tb24KIFBnU3RhdFNoYXJl ZF9EYXRhYmFzZQogUGdTdGF0U2hhcmVkX0Z1bmN0aW9uCiBQZ1N0YXRTaGFyZWRfSGFzaEVu dHJ5Ci1QZ1N0YXRTaGFyZWRfUmVsYXRpb24KK1BnU3RhdFNoYXJlZF9JbmRleAogUGdTdGF0 U2hhcmVkX1JlcGxTbG90CiBQZ1N0YXRTaGFyZWRfU0xSVQogUGdTdGF0U2hhcmVkX1N1YnNj cmlwdGlvbgorUGdTdGF0U2hhcmVkX1RhYmxlCiBQZ1N0YXRTaGFyZWRfV2FsCiBQZ1N0YXRf QXJjaGl2ZXJTdGF0cwogUGdTdGF0X0JhY2tlbmRGdW5jdGlvbkVudHJ5CkBAIC0yMDI1LDYg KzIwMjYsNyBAQCBQZ1N0YXRfRmV0Y2hDb25zaXN0ZW5jeQogUGdTdGF0X0Z1bmN0aW9uQ2Fs bFVzYWdlCiBQZ1N0YXRfRnVuY3Rpb25Db3VudHMKIFBnU3RhdF9IYXNoS2V5CitQZ1N0YXRf SW5kZXhTdGF0dXMKIFBnU3RhdF9LaW5kCiBQZ1N0YXRfS2luZEluZm8KIFBnU3RhdF9Mb2Nh bFN0YXRlCg== --------------NuvZ0DKzStamcEUxm1QltWmx--