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 1pIQ23-0003Vq-HY for pgsql-hackers@arkaria.postgresql.org; Thu, 19 Jan 2023 08:12:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pIQ22-0004Ps-DG for pgsql-hackers@arkaria.postgresql.org; Thu, 19 Jan 2023 08:12:22 +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 1pIQ21-0004PW-QI for pgsql-hackers@lists.postgresql.org; Thu, 19 Jan 2023 08:12:22 +0000 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pIQ1y-0000WJ-Sp for pgsql-hackers@lists.postgresql.org; Thu, 19 Jan 2023 08:12:20 +0000 Received: by mail-wm1-x331.google.com with SMTP id fl11-20020a05600c0b8b00b003daf72fc844so3018167wmb.0 for ; Thu, 19 Jan 2023 00:12:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=YhIPUJ/il0+qbV/UlKCyN+adMdUTH0rcdNo+67DEQt0=; b=feNTJH5Rl2/u6J8gZqbJeO9Iks1K+AB9xROuq3tOYOsewPv5/1GG0QCqpo2SqX68xi eHVACYPdkqzIfUKpv/WgHhqMAD5r6/pxdqu4CztXAZZlwXYWa/WhHndNEIueEFMCGWG4 UJ2vbfecbKbz2wHNvGgmRI05xX9lqNBaKnkZjRPiPl5M1TxV0cY6atyeDKUqpTnZtHRr 12m+BkcA+DmbvhKFOh/QBmp96sruhuPmfhJ8JfzJV0NDlBfSt7jQO+9vafUvB3nmrKgN zkvgy9CFhcBeNRWpHArg4oYt0XExnf/JUSH24k2QzCOHugVO0gLk4x90Zw3lbI79TX5Y Ie7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=YhIPUJ/il0+qbV/UlKCyN+adMdUTH0rcdNo+67DEQt0=; b=i9VhOy/P1gIorjo2hnc7uesiGhW2nJ3Xf7V9pOyZqXEWeFgyxW7YX7rNFQfGCg20px giXKahF/G505N/T837XElRFMAZa3RVmpGCUBHcb4rFnpj5JWYYzs7HxxQEFxO+T23ZGL 4qcoTT3GWK59ckFK5kW2tTdRmEJFOLs7cuXCbEi29fAFq7YeX0Vd3XHdRSOVkkQ5IZ+R d6Rw7kd6am/aSb1SN12honGEjUC1lz4h57o4K0+DnBuqk2IvKApmncoL+SvvntvmrXCa 0W0dFyrl4qEwfEoijQbP909p7nw3HgGJwGpa2QYGYX8AWdhQ3g4pFOuxWE4ZpjaW/aYg L8Gw== X-Gm-Message-State: AFqh2kodPQWWQLI7hxTIY6Fh+yNHwSwUXlE1Q1s7WHuay8wTF5alAYP9 2y+m1c+jzzp/0dcZzk2VgGfniHS3PBzxjg== X-Google-Smtp-Source: AMrXdXvvercOyLSmxvczgYcJ9b7vi9djrtA60WTCb8o2EaqgNenuCC6Mm9eCijVbtgouZHoiAj4y1A== X-Received: by 2002:a1c:f607:0:b0:3d3:5027:89a4 with SMTP id w7-20020a1cf607000000b003d3502789a4mr17979296wmc.7.1674115936545; Thu, 19 Jan 2023 00:12:16 -0800 (PST) Received: from [192.168.10.226] ([54.239.6.188]) by smtp.gmail.com with ESMTPSA id t13-20020adfe10d000000b002b6bcc0b64dsm20837251wrz.4.2023.01.19.00.12.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 19 Jan 2023 00:12:15 -0800 (PST) Content-Type: multipart/mixed; boundary="------------YmQOOMIV2XlJpJMMA7Ri9oUA" Message-ID: <2198c60b-9a6c-79a5-bb35-81f1ac3113bd@gmail.com> Date: Thu, 19 Jan 2023 09:10:59 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: Helper functions for wait_for_catchup() in Cluster.pm Content-Language: en-US To: Alvaro Herrera Cc: PostgreSQL Hackers References: <20230118095911.bscvvnyu2ywhison@alvherre.pgsql> From: "Drouvot, Bertrand" In-Reply-To: <20230118095911.bscvvnyu2ywhison@alvherre.pgsql> 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. --------------YmQOOMIV2XlJpJMMA7Ri9oUA Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, On 1/18/23 10:59 AM, Alvaro Herrera wrote: > On 2023-Jan-18, Drouvot, Bertrand wrote: > >> The current calls are done that way: >> >> wait_for_replay_catchup called: >> - 8 times with write LSN as an argument >> - 1 time with insert LSN as an argument >> - 16 times with flush LSN as an argument > >> So it looks like that providing a node as a second argument >> would not help for the wait_for_replay_catchup() case. > > ... unless we changed the calls that wait for reply that use write or > insert so that they use flush instead. That's a good idea, thanks! Please find attached V2 doing so. > Surely everything should still > work, right? Right. > Flushing would still occur, either right after the write > (as the transaction commits) or ~200ms afterwards when WAL writer > catches up to that point. > > I suppose this may fail to be true if there is some test that is > specifically testing whether writing WAL without flushing works, which > should rare enough, but if it does exist, I don't see this kind of test. Please note that V2 does not contain wait_for_flush_catchup() and wait_for_sent_catchup() anymore as: 1) they are not used yet and 2) it lets to their author (if any) decide the node->lsn() mode to be used. This is also mentioned as a comment in V2. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------YmQOOMIV2XlJpJMMA7Ri9oUA Content-Type: text/plain; charset=UTF-8; name="v2-0001-wait_for_catchup_helper_functions.patch" Content-Disposition: attachment; filename="v2-0001-wait_for_catchup_helper_functions.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfcmV3aW5kL3QvMDA3X3N0YW5kYnlfc291cmNlLnBs IGIvc3JjL2Jpbi9wZ19yZXdpbmQvdC8wMDdfc3RhbmRieV9zb3VyY2UucGwKaW5kZXggNTI2 NDRjMmMwZC4uNzIzNmEzYjE3NyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19yZXdpbmQvdC8w MDdfc3RhbmRieV9zb3VyY2UucGwKKysrIGIvc3JjL2Jpbi9wZ19yZXdpbmQvdC8wMDdfc3Rh bmRieV9zb3VyY2UucGwKQEAgLTc0LDkgKzc0LDggQEAgJG5vZGVfYS0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsCiAJIklOU0VSVCBJTlRPIHRibDEgdmFsdWVzICgnaW4gQSwgYmVmb3JlIHBy b21vdGlvbicpIik7CiAkbm9kZV9hLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJ0NIRUNLUE9J TlQnKTsKIAotbXkgJGxzbiA9ICRub2RlX2EtPmxzbignd3JpdGUnKTsKLSRub2RlX2EtPndh aXRfZm9yX2NhdGNodXAoJ25vZGVfYicsICd3cml0ZScsICRsc24pOwotJG5vZGVfYi0+d2Fp dF9mb3JfY2F0Y2h1cCgnbm9kZV9jJywgJ3dyaXRlJywgJGxzbik7Ciskbm9kZV9hLT53YWl0 X2Zvcl93cml0ZV9jYXRjaHVwKCdub2RlX2InLCAkbm9kZV9hKTsKKyRub2RlX2ItPndhaXRf Zm9yX3dyaXRlX2NhdGNodXAoJ25vZGVfYycsICRub2RlX2EpOwogCiAjIFByb21vdGUgQwog IwpAQCAtMTYwLDcgKzE1OSw3IEBAIGluIEEsIGFmdGVyIEMgd2FzIHByb21vdGVkCiAkbm9k ZV9hLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiSU5TRVJUIElOVE8gdGJsMSB2YWx1ZXMg KCdpbiBBLCBhZnRlciByZXdpbmQnKSIpOwogCi0kbm9kZV9iLT53YWl0X2Zvcl9jYXRjaHVw KCdub2RlX2MnLCAncmVwbGF5JywgJG5vZGVfYS0+bHNuKCd3cml0ZScpKTsKKyRub2RlX2It PndhaXRfZm9yX3JlcGxheV9jYXRjaHVwKCdub2RlX2MnLCAkbm9kZV9hKTsKIAogY2hlY2tf cXVlcnkoCiAJJ1NFTEVDVCAqIEZST00gdGJsMScsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9t b2R1bGVzL2JyaW4vdC8wMl93YWxfY29uc2lzdGVuY3kucGwgYi9zcmMvdGVzdC9tb2R1bGVz L2JyaW4vdC8wMl93YWxfY29uc2lzdGVuY3kucGwKaW5kZXggNTk4M2VmMjA4ZS4uNzIxMWJh OGQ4ZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy9icmluL3QvMDJfd2FsX2NvbnNp c3RlbmN5LnBsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvYnJpbi90LzAyX3dhbF9jb25zaXN0 ZW5jeS5wbApAQCAtNzAsNiArNzAsNiBAQCBteSAoJHJldCwgJG91dCwgJGVycikgPSAkd2hp c2tleS0+cHNxbCgKIAl9KTsKIGNtcF9vaygkb3V0LCAnPj0nLCAxKTsKIAotJHdoaXNrZXkt PndhaXRfZm9yX2NhdGNodXAoJGNoYXJsaWUsICdyZXBsYXknLCAkd2hpc2tleS0+bHNuKCdp bnNlcnQnKSk7Ciskd2hpc2tleS0+d2FpdF9mb3JfcmVwbGF5X2NhdGNodXAoJGNoYXJsaWUs ICR3aGlza2V5KTsKIAogZG9uZV90ZXN0aW5nKCk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9w ZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtIGIvc3JjL3Rlc3QvcGVybC9Qb3N0Z3Jl U1FML1Rlc3QvQ2x1c3Rlci5wbQppbmRleCAwNDkyMWNhM2EzLi5jZWE5Nzk2YzBjIDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtCisrKyBi L3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0NsdXN0ZXIucG0KQEAgLTI3MDksNiAr MjcwOSw0NCBAQCBzdWIgd2FpdF9mb3JfY2F0Y2h1cAogCXJldHVybjsKIH0KIAorIyBOb3cg ZGVmaW5pbmcgaGVscGVyIGZ1bmN0aW9ucyB3YWl0X2Zvcl9yZXBsYXlfY2F0Y2h1cCgpIGFu ZAorIyB3YWl0X2Zvcl93cml0ZV9jYXRjaHVwKCkuCisjIFBsZWFzZSBub3RlIHRoYXQgd2Fp dF9mb3JfZmx1c2hfY2F0Y2h1cCgpIGFuZCB3YWl0X2Zvcl9zZW50X2NhdGNodXAoKSBhcmUg bm90CisjIGRlZmluZWQgYXM6IDEpIHRoZXkgYXJlIG5vdCB1c2VkIHlldCBhbmQgMikgaXQg bGV0cyB0aGVpciBhdXRob3IgKGlmIGFueSkKKyMgZGVjaWRlIHRoZSBub2RlLT5sc24oKSBt b2RlIHRvIGJlIHVzZWQuCisKKz1wb2QKKworPWl0ZW0gJG5vZGUtPndhaXRfZm9yX3JlcGxh eV9jYXRjaHVwKHN0YW5kYnlfbmFtZSwgbm9kZSkKKworSGVscGVyIGZ1bmN0aW9uIGZvciB3 YWl0X2Zvcl9jYXRjaHVwIHdoZW4gd2FpdGluZyBmb3IgdGhlIHJlcGxheV9sc24gY29sdW1u Cit0byBjYXRjaHVwLgorCis9Y3V0CisKK3N1YiB3YWl0X2Zvcl9yZXBsYXlfY2F0Y2h1cAor eworCW15ICgkc2VsZiwgJHN0YW5kYnlfbmFtZSwgJG5vZGUpID0gQF87CisKKwkkc2VsZi0+ d2FpdF9mb3JfY2F0Y2h1cCgkc3RhbmRieV9uYW1lLCAncmVwbGF5JywgJG5vZGUtPmxzbign Zmx1c2gnKSk7Cit9CisKKz1wb2QKKworPWl0ZW0gJG5vZGUtPndhaXRfZm9yX3dyaXRlX2Nh dGNodXAoc3RhbmRieV9uYW1lLCBub2RlKQorCitIZWxwZXIgZnVuY3Rpb24gZm9yIHdhaXRf Zm9yX2NhdGNodXAgd2hlbiB3YWl0aW5nIGZvciB0aGUgd3JpdGVfbHNuIGNvbHVtbgordG8g Y2F0Y2h1cC4KKworPWN1dAorCitzdWIgd2FpdF9mb3Jfd3JpdGVfY2F0Y2h1cAoreworCW15 ICgkc2VsZiwgJHN0YW5kYnlfbmFtZSwgJG5vZGUpID0gQF87CisKKwkkc2VsZi0+d2FpdF9m b3JfY2F0Y2h1cCgkc3RhbmRieV9uYW1lLCAnd3JpdGUnLCAkbm9kZS0+bHNuKCd3cml0ZScp KTsKK30KKwogPXBvZAogCiA9aXRlbSAkbm9kZS0+d2FpdF9mb3Jfc2xvdF9jYXRjaHVwKHNs b3RfbmFtZSwgbW9kZSwgdGFyZ2V0X2xzbikKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlY292 ZXJ5L3QvMDAxX3N0cmVhbV9yZXAucGwgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAwMV9zdHJl YW1fcmVwLnBsCmluZGV4IDIzYTkwZGQ4NWIuLjViMTVhMjBkNTQgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlY292ZXJ5L3QvMDAxX3N0cmVhbV9yZXAucGwKKysrIGIvc3JjL3Rlc3QvcmVj b3ZlcnkvdC8wMDFfc3RyZWFtX3JlcC5wbApAQCAtNDcsOSArNDcsOCBAQCAkbm9kZV9wcmlt YXJ5LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiQ1JFQVRFIFRBQkxFIHRhYl9pbnQgQVMg U0VMRUNUIGdlbmVyYXRlX3NlcmllcygxLDEwMDIpIEFTIGEiKTsKIAogIyBXYWl0IGZvciBz dGFuZGJ5cyB0byBjYXRjaCB1cAotbXkgJHByaW1hcnlfbHNuID0gJG5vZGVfcHJpbWFyeS0+ bHNuKCd3cml0ZScpOwotJG5vZGVfcHJpbWFyeS0+d2FpdF9mb3JfY2F0Y2h1cCgkbm9kZV9z dGFuZGJ5XzEsICdyZXBsYXknLCAkcHJpbWFyeV9sc24pOwotJG5vZGVfc3RhbmRieV8xLT53 YWl0X2Zvcl9jYXRjaHVwKCRub2RlX3N0YW5kYnlfMiwgJ3JlcGxheScsICRwcmltYXJ5X2xz bik7Ciskbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9yZXBsYXlfY2F0Y2h1cCgkbm9kZV9zdGFu ZGJ5XzEsICRub2RlX3ByaW1hcnkpOworJG5vZGVfc3RhbmRieV8xLT53YWl0X2Zvcl9yZXBs YXlfY2F0Y2h1cCgkbm9kZV9zdGFuZGJ5XzIsICRub2RlX3ByaW1hcnkpOwogCiBteSAkcmVz dWx0ID0KICAgJG5vZGVfc3RhbmRieV8xLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVD VCBjb3VudCgqKSBGUk9NIHRhYl9pbnQiKTsKQEAgLTY2LDkgKzY1LDggQEAgJG5vZGVfcHJp bWFyeS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIkNSRUFURSBTRVFVRU5DRSBzZXExOyBT RUxFQ1QgbmV4dHZhbCgnc2VxMScpIik7CiAKICMgV2FpdCBmb3Igc3RhbmRieXMgdG8gY2F0 Y2ggdXAKLSRwcmltYXJ5X2xzbiA9ICRub2RlX3ByaW1hcnktPmxzbignd3JpdGUnKTsKLSRu b2RlX3ByaW1hcnktPndhaXRfZm9yX2NhdGNodXAoJG5vZGVfc3RhbmRieV8xLCAncmVwbGF5 JywgJHByaW1hcnlfbHNuKTsKLSRub2RlX3N0YW5kYnlfMS0+d2FpdF9mb3JfY2F0Y2h1cCgk bm9kZV9zdGFuZGJ5XzIsICdyZXBsYXknLCAkcHJpbWFyeV9sc24pOworJG5vZGVfcHJpbWFy eS0+d2FpdF9mb3JfcmVwbGF5X2NhdGNodXAoJG5vZGVfc3RhbmRieV8xLCAkbm9kZV9wcmlt YXJ5KTsKKyRub2RlX3N0YW5kYnlfMS0+d2FpdF9mb3JfcmVwbGF5X2NhdGNodXAoJG5vZGVf c3RhbmRieV8yLCAkbm9kZV9wcmltYXJ5KTsKIAogJHJlc3VsdCA9ICRub2RlX3N0YW5kYnlf MS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgKiBGUk9NIHNlcTEiKTsKIHByaW50 ICJzdGFuZGJ5IDE6ICRyZXN1bHRcbiI7CkBAIC0zNzIsMTAgKzM3MCw4IEBAIHN1YiByZXBs YXlfY2hlY2sKIAlteSAkbmV3dmFsID0gJG5vZGVfcHJpbWFyeS0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsCiAJCSdJTlNFUlQgSU5UTyByZXBsYXllZCh2YWwpIFNFTEVDVCBjb2FsZXNjZSht YXgodmFsKSwwKSArIDEgQVMgbmV3dmFsIEZST00gcmVwbGF5ZWQgUkVUVVJOSU5HIHZhbCcK IAkpOwotCW15ICRwcmltYXJ5X2xzbiA9ICRub2RlX3ByaW1hcnktPmxzbignd3JpdGUnKTsK LQkkbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9jYXRjaHVwKCRub2RlX3N0YW5kYnlfMSwgJ3Jl cGxheScsICRwcmltYXJ5X2xzbik7Ci0JJG5vZGVfc3RhbmRieV8xLT53YWl0X2Zvcl9jYXRj aHVwKCRub2RlX3N0YW5kYnlfMiwgJ3JlcGxheScsCi0JCSRwcmltYXJ5X2xzbik7CisJJG5v ZGVfcHJpbWFyeS0+d2FpdF9mb3JfcmVwbGF5X2NhdGNodXAoJG5vZGVfc3RhbmRieV8xLCAk bm9kZV9wcmltYXJ5KTsKKwkkbm9kZV9zdGFuZGJ5XzEtPndhaXRfZm9yX3JlcGxheV9jYXRj aHVwKCRub2RlX3N0YW5kYnlfMiwgJG5vZGVfcHJpbWFyeSk7CiAKIAkkbm9kZV9zdGFuZGJ5 XzEtPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCQlxcVtTRUxFQ1QgMSBGUk9NIHJlcGxheWVk IFdIRVJFIHZhbCA9ICRuZXd2YWxdKQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVjb3Zlcnkv dC8wMTBfbG9naWNhbF9kZWNvZGluZ190aW1lbGluZXMucGwgYi9zcmMvdGVzdC9yZWNvdmVy eS90LzAxMF9sb2dpY2FsX2RlY29kaW5nX3RpbWVsaW5lcy5wbAppbmRleCBlYjFhM2I2ZWY4 Li41N2IzMmE3MGE3IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAxMF9sb2dp Y2FsX2RlY29kaW5nX3RpbWVsaW5lcy5wbAorKysgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAx MF9sb2dpY2FsX2RlY29kaW5nX3RpbWVsaW5lcy5wbApAQCAtMTM1LDcgKzEzNSw3IEBAIGNt cF9vaygKIAkneG1pbiBvbiBwaHlzaWNhbCBzbG90IG11c3Qgbm90IGJlIGxvd2VyIHRoYW4g Y2F0YWxvZ194bWluJyk7CiAKICRub2RlX3ByaW1hcnktPnNhZmVfcHNxbCgncG9zdGdyZXMn LCAnQ0hFQ0tQT0lOVCcpOwotJG5vZGVfcHJpbWFyeS0+d2FpdF9mb3JfY2F0Y2h1cCgkbm9k ZV9yZXBsaWNhLCAnd3JpdGUnKTsKKyRub2RlX3ByaW1hcnktPndhaXRfZm9yX3dyaXRlX2Nh dGNodXAoJG5vZGVfcmVwbGljYSwgJG5vZGVfcHJpbWFyeSk7CiAKICMgQm9vbSwgY3Jhc2gK ICRub2RlX3ByaW1hcnktPnN0b3AoJ2ltbWVkaWF0ZScpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvcmVjb3ZlcnkvdC8wMjdfc3RyZWFtX3JlZ3Jlc3MucGwgYi9zcmMvdGVzdC9yZWNvdmVy eS90LzAyN19zdHJlYW1fcmVncmVzcy5wbAppbmRleCA2OWQ2ZGRmMjgxLi4zMDNjYjQyYzEz IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAyN19zdHJlYW1fcmVncmVzcy5w bAorKysgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAyN19zdHJlYW1fcmVncmVzcy5wbApAQCAt ODYsOCArODYsNyBAQCAkbm9kZV9wcmltYXJ5LT5wc3FsKCdyZWdyZXNzaW9uJywKIAkic2Vs ZWN0IHNldHZhbChzZXFyZWxpZCwgbmV4dHZhbChzZXFyZWxpZCkpIGZyb20gcGdfc2VxdWVu Y2UiKTsKIAogIyBXYWl0IGZvciBzdGFuZGJ5IHRvIGNhdGNoIHVwCi0kbm9kZV9wcmltYXJ5 LT53YWl0X2Zvcl9jYXRjaHVwKCRub2RlX3N0YW5kYnlfMSwgJ3JlcGxheScsCi0JJG5vZGVf cHJpbWFyeS0+bHNuKCdpbnNlcnQnKSk7Ciskbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9yZXBs YXlfY2F0Y2h1cCgkbm9kZV9zdGFuZGJ5XzEsICRub2RlX3ByaW1hcnkpOwogCiAjIFBlcmZv cm0gYSBsb2dpY2FsIGR1bXAgb2YgcHJpbWFyeSBhbmQgc3RhbmRieSwgYW5kIGNoZWNrIHRo YXQgdGhleSBtYXRjaAogY29tbWFuZF9vaygKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlY292 ZXJ5L3QvMDMwX3N0YXRzX2NsZWFudXBfcmVwbGljYS5wbCBiL3NyYy90ZXN0L3JlY292ZXJ5 L3QvMDMwX3N0YXRzX2NsZWFudXBfcmVwbGljYS5wbAppbmRleCBmMTEyMWU0YjEyLi43YzNm YTQ3NWU1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAzMF9zdGF0c19jbGVh bnVwX3JlcGxpY2EucGwKKysrIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzBfc3RhdHNfY2xl YW51cF9yZXBsaWNhLnBsCkBAIC0zOCw4ICszOCw3IEBAIGRyb3BfdGFibGVfYnlfb2lkKCdw b3N0Z3JlcycsICR0YWJsZW9pZCk7CiBkcm9wX2Z1bmN0aW9uX2J5X29pZCgncG9zdGdyZXMn LCAkZnVuY29pZCk7CiAKICRzZWN0ID0gJ3Bvc3QgZHJvcCc7Ci1teSAkcHJpbWFyeV9sc24g PSAkbm9kZV9wcmltYXJ5LT5sc24oJ2ZsdXNoJyk7Ci0kbm9kZV9wcmltYXJ5LT53YWl0X2Zv cl9jYXRjaHVwKCRub2RlX3N0YW5kYnksICdyZXBsYXknLCAkcHJpbWFyeV9sc24pOworJG5v ZGVfcHJpbWFyeS0+d2FpdF9mb3JfcmVwbGF5X2NhdGNodXAoJG5vZGVfc3RhbmRieSwgJG5v ZGVfcHJpbWFyeSk7CiB0ZXN0X3N0YW5kYnlfZnVuY190YWJfc3RhdHNfc3RhdHVzKCdwb3N0 Z3JlcycsCiAJJGRib2lkLCAkdGFibGVvaWQsICRmdW5jb2lkLCAnZicpOwogCkBAIC00OSw4 ICs0OCw3IEBAIHRlc3Rfc3RhbmRieV9mdW5jX3RhYl9zdGF0c19zdGF0dXMoJ3Bvc3RncmVz JywKICRzZWN0ID0gInNjaGVtYSBjcmVhdGlvbiI7CiAKICRub2RlX3ByaW1hcnktPnNhZmVf cHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFNDSEVNQSBkcm9wX3NjaGVtYV90ZXN0MSIpOwot JHByaW1hcnlfbHNuID0gJG5vZGVfcHJpbWFyeS0+bHNuKCdmbHVzaCcpOwotJG5vZGVfcHJp bWFyeS0+d2FpdF9mb3JfY2F0Y2h1cCgkbm9kZV9zdGFuZGJ5LCAncmVwbGF5JywgJHByaW1h cnlfbHNuKTsKKyRub2RlX3ByaW1hcnktPndhaXRfZm9yX3JlcGxheV9jYXRjaHVwKCRub2Rl X3N0YW5kYnksICRub2RlX3ByaW1hcnkpOwogCiAoJGRib2lkLCAkdGFibGVvaWQsICRmdW5j b2lkKSA9CiAgIHBvcHVsYXRlX3N0YW5kYnlfc3RhdHMoJ3Bvc3RncmVzJywgJ2Ryb3Bfc2No ZW1hX3Rlc3QxJyk7CkBAIC02MSw4ICs1OSw3IEBAICRub2RlX3ByaW1hcnktPnNhZmVfcHNx bCgncG9zdGdyZXMnLCAiRFJPUCBTQ0hFTUEgZHJvcF9zY2hlbWFfdGVzdDEgQ0FTQ0FERSIp OwogCiAkc2VjdCA9ICJwb3N0IHNjaGVtYSBkcm9wIjsKIAotJHByaW1hcnlfbHNuID0gJG5v ZGVfcHJpbWFyeS0+bHNuKCdmbHVzaCcpOwotJG5vZGVfcHJpbWFyeS0+d2FpdF9mb3JfY2F0 Y2h1cCgkbm9kZV9zdGFuZGJ5LCAncmVwbGF5JywgJHByaW1hcnlfbHNuKTsKKyRub2RlX3By aW1hcnktPndhaXRfZm9yX3JlcGxheV9jYXRjaHVwKCRub2RlX3N0YW5kYnksICRub2RlX3By aW1hcnkpOwogCiAjIHZlcmlmeSB0YWJsZSBhbmQgZnVuY3Rpb24gc3RhdHMgcmVtb3ZlZCBm cm9tIHN0YW5kYnkKIHRlc3Rfc3RhbmRieV9mdW5jX3RhYl9zdGF0c19zdGF0dXMoJ3Bvc3Rn cmVzJywKQEAgLTc0LDggKzcxLDcgQEAgdGVzdF9zdGFuZGJ5X2Z1bmNfdGFiX3N0YXRzX3N0 YXR1cygncG9zdGdyZXMnLAogJHNlY3QgPSAiY3JlYXRlZGIiOwogCiAkbm9kZV9wcmltYXJ5 LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBEQVRBQkFTRSB0ZXN0Iik7Ci0kcHJp bWFyeV9sc24gPSAkbm9kZV9wcmltYXJ5LT5sc24oJ2ZsdXNoJyk7Ci0kbm9kZV9wcmltYXJ5 LT53YWl0X2Zvcl9jYXRjaHVwKCRub2RlX3N0YW5kYnksICdyZXBsYXknLCAkcHJpbWFyeV9s c24pOworJG5vZGVfcHJpbWFyeS0+d2FpdF9mb3JfcmVwbGF5X2NhdGNodXAoJG5vZGVfc3Rh bmRieSwgJG5vZGVfcHJpbWFyeSk7CiAKICgkZGJvaWQsICR0YWJsZW9pZCwgJGZ1bmNvaWQp ID0gcG9wdWxhdGVfc3RhbmRieV9zdGF0cygndGVzdCcsICdwdWJsaWMnKTsKIApAQCAtODUs OCArODEsNyBAQCB0ZXN0X3N0YW5kYnlfZGJfc3RhdHNfc3RhdHVzKCd0ZXN0JywgJGRib2lk LCAndCcpOwogCiAkbm9kZV9wcmltYXJ5LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkRST1Ag REFUQUJBU0UgdGVzdCIpOwogJHNlY3QgICAgICAgID0gInBvc3QgZHJvcGRiIjsKLSRwcmlt YXJ5X2xzbiA9ICRub2RlX3ByaW1hcnktPmxzbignZmx1c2gnKTsKLSRub2RlX3ByaW1hcnkt PndhaXRfZm9yX2NhdGNodXAoJG5vZGVfc3RhbmRieSwgJ3JlcGxheScsICRwcmltYXJ5X2xz bik7Ciskbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9yZXBsYXlfY2F0Y2h1cCgkbm9kZV9zdGFu ZGJ5LCAkbm9kZV9wcmltYXJ5KTsKIAogIyBUZXN0IHRoYXQgdGhlIHN0YXRzIHdlcmUgY2xl YW5lZCB1cCBvbiBzdGFuZGJ5CiAjIE5vdGUgdGhhdCB0aGlzIGNvbm5lY3RzIHRvICdwb3N0 Z3JlcycgYnV0IHByb3ZpZGVzIHRoZSBkYm9pZCBvZiBkcm9wcGVkIGRiCkBAIC0xMzcsOCAr MTMyLDcgQEAgc3ViIHBvcHVsYXRlX3N0YW5kYnlfc3RhdHMKIAkkbm9kZV9wcmltYXJ5LT5z YWZlX3BzcWwoJGNvbm5lY3RfZGIsCiAJCSJDUkVBVEUgRlVOQ1RJT04gJHNjaGVtYS5kcm9w X2Z1bmNfdGVzdDEoKSBSRVRVUk5TIFZPSUQgQVMgJ3NlbGVjdCAyOycgTEFOR1VBR0UgU1FM IElNTVVUQUJMRSIKIAkpOwotCW15ICRwcmltYXJ5X2xzbiA9ICRub2RlX3ByaW1hcnktPmxz bignZmx1c2gnKTsKLQkkbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9jYXRjaHVwKCRub2RlX3N0 YW5kYnksICdyZXBsYXknLCAkcHJpbWFyeV9sc24pOworCSRub2RlX3ByaW1hcnktPndhaXRf Zm9yX3JlcGxheV9jYXRjaHVwKCRub2RlX3N0YW5kYnksICRub2RlX3ByaW1hcnkpOwogCiAJ IyBjb2xsZWN0IG9iamVjdCBvaWRzCiAJbXkgJGRib2lkID0gJG5vZGVfc3RhbmRieS0+c2Fm ZV9wc3FsKCRjb25uZWN0X2RiLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8w MzFfcmVjb3ZlcnlfY29uZmxpY3QucGwgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAzMV9yZWNv dmVyeV9jb25mbGljdC5wbAppbmRleCA4NzVhZmI4ZTNjLi5hNTc1Mjg1NGE3IDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAzMV9yZWNvdmVyeV9jb25mbGljdC5wbAorKysg Yi9zcmMvdGVzdC9yZWNvdmVyeS90LzAzMV9yZWNvdmVyeV9jb25mbGljdC5wbApAQCAtNjMs OCArNjMsNyBAQCBDUkVBVEUgVEFCTEUgJHt0YWJsZTF9KGEgaW50LCBiIGludCk7CiBJTlNF UlQgSU5UTyAkdGFibGUxIFNFTEVDVCBpICUgMywgMCBGUk9NIGdlbmVyYXRlX3Nlcmllcygx LDIwKSBpOwogQ1JFQVRFIFRBQkxFICR7dGFibGUyfShhIGludCwgYiBpbnQpOwogXSk7Ci1t eSAkcHJpbWFyeV9sc24gPSAkbm9kZV9wcmltYXJ5LT5sc24oJ2ZsdXNoJyk7Ci0kbm9kZV9w cmltYXJ5LT53YWl0X2Zvcl9jYXRjaHVwKCRub2RlX3N0YW5kYnksICdyZXBsYXknLCAkcHJp bWFyeV9sc24pOworJG5vZGVfcHJpbWFyeS0+d2FpdF9mb3JfcmVwbGF5X2NhdGNodXAoJG5v ZGVfc3RhbmRieSwgJG5vZGVfcHJpbWFyeSk7CiAKIAogIyBhIGxvbmdydW5uaW5nIHBzcWwg dGhhdCB3ZSBjYW4gdXNlIHRvIHRyaWdnZXIgY29uZmxpY3RzCkBAIC05Nyw4ICs5Niw3IEBA ICRub2RlX3ByaW1hcnktPnNhZmVfcHNxbCgKIAlCRUdJTjsgTE9DSyAkdGFibGUxOyBDT01N SVQ7CiAJXSk7CiAKLSRwcmltYXJ5X2xzbiA9ICRub2RlX3ByaW1hcnktPmxzbignZmx1c2gn KTsKLSRub2RlX3ByaW1hcnktPndhaXRfZm9yX2NhdGNodXAoJG5vZGVfc3RhbmRieSwgJ3Jl cGxheScsICRwcmltYXJ5X2xzbik7Ciskbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9yZXBsYXlf Y2F0Y2h1cCgkbm9kZV9zdGFuZGJ5LCAkbm9kZV9wcmltYXJ5KTsKIAogbXkgJGN1cnNvcjEg PSAidGVzdF9yZWNvdmVyeV9jb25mbGljdF9jdXJzb3IiOwogCkBAIC0xMjQsOCArMTIyLDcg QEAgJG5vZGVfcHJpbWFyeS0+c2FmZV9wc3FsKCR0ZXN0X2RiLCBxcVtWQUNVVU0gJHRhYmxl MTtdKTsKICMgZmluaXNoZWQsIHNvIHdhaXRpbmcgZm9yIGNhdGNodXAgZW5zdXJlcyB0aGF0 IHRoZXJlIGlzIG5vIHJhY2UgYmV0d2VlbgogIyBlbmNvdW50ZXJpbmcgdGhlIHJlY292ZXJ5 IGNvbmZsaWN0IHdoaWNoIGNhdXNlcyB0aGUgZGlzY29ubmVjdCBhbmQgY2hlY2tpbmcKICMg dGhlIGxvZ2ZpbGUgZm9yIHRoZSB0ZXJtaW5hdGVkIGNvbm5lY3Rpb24uCi0kcHJpbWFyeV9s c24gPSAkbm9kZV9wcmltYXJ5LT5sc24oJ2ZsdXNoJyk7Ci0kbm9kZV9wcmltYXJ5LT53YWl0 X2Zvcl9jYXRjaHVwKCRub2RlX3N0YW5kYnksICdyZXBsYXknLCAkcHJpbWFyeV9sc24pOwor JG5vZGVfcHJpbWFyeS0+d2FpdF9mb3JfcmVwbGF5X2NhdGNodXAoJG5vZGVfc3RhbmRieSwg JG5vZGVfcHJpbWFyeSk7CiAKIGNoZWNrX2NvbmZsaWN0X2xvZygiVXNlciB3YXMgaG9sZGlu ZyBzaGFyZWQgYnVmZmVyIHBpbiBmb3IgdG9vIGxvbmciKTsKIHJlY29ubmVjdF9hbmRfY2xl YXIoKTsKQEAgLTEzOCw4ICsxMzUsNyBAQCAkZXhwZWN0ZWRfY29uZmxpY3RzKys7CiAKICRu b2RlX3ByaW1hcnktPnNhZmVfcHNxbCgkdGVzdF9kYiwKIAlxcVtJTlNFUlQgSU5UTyAkdGFi bGUxIFNFTEVDVCBpLCAwIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsMjApIGldKTsKLSRwcmlt YXJ5X2xzbiA9ICRub2RlX3ByaW1hcnktPmxzbignZmx1c2gnKTsKLSRub2RlX3ByaW1hcnkt PndhaXRfZm9yX2NhdGNodXAoJG5vZGVfc3RhbmRieSwgJ3JlcGxheScsICRwcmltYXJ5X2xz bik7Ciskbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9yZXBsYXlfY2F0Y2h1cCgkbm9kZV9zdGFu ZGJ5LCAkbm9kZV9wcmltYXJ5KTsKIAogIyBERUNMQVJFIGFuZCBGRVRDSCBmcm9tIGN1cnNv ciBvbiB0aGUgc3RhbmRieQogJHBzcWxfc3RhbmRieXtzdGRpbn0gLj0gcXFbCkBAIC0xNjAs OCArMTU2LDcgQEAgJG5vZGVfcHJpbWFyeS0+c2FmZV9wc3FsKCR0ZXN0X2RiLAogJG5vZGVf cHJpbWFyeS0+c2FmZV9wc3FsKCR0ZXN0X2RiLCBxcVtWQUNVVU0gJHRhYmxlMTtdKTsKIAog IyBXYWl0IGZvciBhdHRlbXB0ZWQgcmVwbGF5IG9mIFBSVU5FIHJlY29yZHMKLSRwcmltYXJ5 X2xzbiA9ICRub2RlX3ByaW1hcnktPmxzbignZmx1c2gnKTsKLSRub2RlX3ByaW1hcnktPndh aXRfZm9yX2NhdGNodXAoJG5vZGVfc3RhbmRieSwgJ3JlcGxheScsICRwcmltYXJ5X2xzbik7 Ciskbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9yZXBsYXlfY2F0Y2h1cCgkbm9kZV9zdGFuZGJ5 LCAkbm9kZV9wcmltYXJ5KTsKIAogY2hlY2tfY29uZmxpY3RfbG9nKAogCSJVc2VyIHF1ZXJ5 IG1pZ2h0IGhhdmUgbmVlZGVkIHRvIHNlZSByb3cgdmVyc2lvbnMgdGhhdCBtdXN0IGJlIHJl bW92ZWQiKTsKQEAgLTE4NCw4ICsxNzksNyBAQCBvayhwdW1wX3VudGlsX3N0YW5kYnkocXIv XjEkL20pLCAiJHNlY3Q6IGNvbmZsaWN0aW5nIGxvY2sgYWNxdWlyZWQiKTsKICMgRFJPUCBU QUJMRSBjb250YWluaW5nIGJsb2NrIHdoaWNoIHN0YW5kYnkgaGFzIGluIGEgcGlubmVkIGJ1 ZmZlcgogJG5vZGVfcHJpbWFyeS0+c2FmZV9wc3FsKCR0ZXN0X2RiLCBxcVtEUk9QIFRBQkxF ICR0YWJsZTE7XSk7CiAKLSRwcmltYXJ5X2xzbiA9ICRub2RlX3ByaW1hcnktPmxzbignZmx1 c2gnKTsKLSRub2RlX3ByaW1hcnktPndhaXRfZm9yX2NhdGNodXAoJG5vZGVfc3RhbmRieSwg J3JlcGxheScsICRwcmltYXJ5X2xzbik7Ciskbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9yZXBs YXlfY2F0Y2h1cCgkbm9kZV9zdGFuZGJ5LCAkbm9kZV9wcmltYXJ5KTsKIAogY2hlY2tfY29u ZmxpY3RfbG9nKCJVc2VyIHdhcyBob2xkaW5nIGEgcmVsYXRpb24gbG9jayBmb3IgdG9vIGxv bmciKTsKIHJlY29ubmVjdF9hbmRfY2xlYXIoKTsKQEAgLTIxMyw4ICsyMDcsNyBAQCBvayhw dW1wX3VudGlsX3N0YW5kYnkocXIvXjYwMDAkL20pLAogIyBzdGFuZGJ5CiAkbm9kZV9wcmlt YXJ5LT5zYWZlX3BzcWwoJHRlc3RfZGIsIHFxW0RST1AgVEFCTEVTUEFDRSAkdGFibGVzcGFj ZTE7XSk7CiAKLSRwcmltYXJ5X2xzbiA9ICRub2RlX3ByaW1hcnktPmxzbignZmx1c2gnKTsK LSRub2RlX3ByaW1hcnktPndhaXRfZm9yX2NhdGNodXAoJG5vZGVfc3RhbmRieSwgJ3JlcGxh eScsICRwcmltYXJ5X2xzbik7Ciskbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9yZXBsYXlfY2F0 Y2h1cCgkbm9kZV9zdGFuZGJ5LCAkbm9kZV9wcmltYXJ5KTsKIAogY2hlY2tfY29uZmxpY3Rf bG9nKAogCSJVc2VyIHdhcyBvciBtaWdodCBoYXZlIGJlZW4gdXNpbmcgdGFibGVzcGFjZSB0 aGF0IG11c3QgYmUgZHJvcHBlZCIpOwpAQCAtMjU1LDggKzI0OCw3IEBAIElOU0VSVCBJTlRP ICR0YWJsZTEoYSkgVkFMVUVTICgxNzApOwogU0VMRUNUIHR4aWRfY3VycmVudCgpOwogXSk7 CiAKLSRwcmltYXJ5X2xzbiA9ICRub2RlX3ByaW1hcnktPmxzbignZmx1c2gnKTsKLSRub2Rl X3ByaW1hcnktPndhaXRfZm9yX2NhdGNodXAoJG5vZGVfc3RhbmRieSwgJ3JlcGxheScsICRw cmltYXJ5X2xzbik7Ciskbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9yZXBsYXlfY2F0Y2h1cCgk bm9kZV9zdGFuZGJ5LCAkbm9kZV9wcmltYXJ5KTsKIAogJHBzcWxfc3RhbmRieXtzdGRpbn0g Lj0gcXFbCiAgICAgQkVHSU47CkBAIC0yODIsOCArMjc0LDcgQEAgU0VMRUNUICd3YWl0aW5n JyBGUk9NIHBnX2xvY2tzIFdIRVJFIGxvY2t0eXBlID0gJ3JlbGF0aW9uJyBBTkQgTk9UIGdy YW50ZWQ7CiAjIFZBQ1VVTSB3aWxsIHBydW5lIGF3YXkgcm93cywgY2F1c2luZyBhIGJ1ZmZl ciBwaW4gY29uZmxpY3QsIHdoaWxlIHN0YW5kYnkKICMgcHNxbCBpcyB3YWl0aW5nIG9uIGxv Y2sKICRub2RlX3ByaW1hcnktPnNhZmVfcHNxbCgkdGVzdF9kYiwgcXFbVkFDVVVNICR0YWJs ZTE7XSk7Ci0kcHJpbWFyeV9sc24gPSAkbm9kZV9wcmltYXJ5LT5sc24oJ2ZsdXNoJyk7Ci0k bm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9jYXRjaHVwKCRub2RlX3N0YW5kYnksICdyZXBsYXkn LCAkcHJpbWFyeV9sc24pOworJG5vZGVfcHJpbWFyeS0+d2FpdF9mb3JfcmVwbGF5X2NhdGNo dXAoJG5vZGVfc3RhbmRieSwgJG5vZGVfcHJpbWFyeSk7CiAKIGNoZWNrX2NvbmZsaWN0X2xv ZygiVXNlciB0cmFuc2FjdGlvbiBjYXVzZWQgYnVmZmVyIGRlYWRsb2NrIHdpdGggcmVjb3Zl cnkuIik7CiByZWNvbm5lY3RfYW5kX2NsZWFyKCk7CkBAIC0zMTEsOCArMzAyLDcgQEAgJHNl Y3QgPSAiZGF0YWJhc2UgY29uZmxpY3QiOwogCiAkbm9kZV9wcmltYXJ5LT5zYWZlX3BzcWwo J3Bvc3RncmVzJywgcXFbRFJPUCBEQVRBQkFTRSAkdGVzdF9kYjtdKTsKIAotJHByaW1hcnlf bHNuID0gJG5vZGVfcHJpbWFyeS0+bHNuKCdmbHVzaCcpOwotJG5vZGVfcHJpbWFyeS0+d2Fp dF9mb3JfY2F0Y2h1cCgkbm9kZV9zdGFuZGJ5LCAncmVwbGF5JywgJHByaW1hcnlfbHNuKTsK KyRub2RlX3ByaW1hcnktPndhaXRfZm9yX3JlcGxheV9jYXRjaHVwKCRub2RlX3N0YW5kYnks ICRub2RlX3ByaW1hcnkpOwogCiBjaGVja19jb25mbGljdF9sb2coIlVzZXIgd2FzIGNvbm5l Y3RlZCB0byBhIGRhdGFiYXNlIHRoYXQgbXVzdCBiZSBkcm9wcGVkIik7CiAKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDMzX3JlcGxheV90c3BfZHJvcHMucGwgYi9zcmMv dGVzdC9yZWNvdmVyeS90LzAzM19yZXBsYXlfdHNwX2Ryb3BzLnBsCmluZGV4IDg5NmIyODJi ZDQuLmNhNDllMmQ0ZGMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDMzX3Jl cGxheV90c3BfZHJvcHMucGwKKysrIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzNfcmVwbGF5 X3RzcF9kcm9wcy5wbApAQCAtNDIsOCArNDIsNyBAQCBzdWIgdGVzdF90YWJsZXNwYWNlCiAJ JG5vZGVfc3RhbmRieS0+c3RhcnQ7CiAKIAkjIE1ha2Ugc3VyZSB0aGUgY29ubmVjdGlvbiBp cyBtYWRlCi0JJG5vZGVfcHJpbWFyeS0+d2FpdF9mb3JfY2F0Y2h1cCgkbm9kZV9zdGFuZGJ5 LCAnd3JpdGUnLAotCQkkbm9kZV9wcmltYXJ5LT5sc24oJ3dyaXRlJykpOworCSRub2RlX3By aW1hcnktPndhaXRfZm9yX3dyaXRlX2NhdGNodXAoJG5vZGVfc3RhbmRieSwgJG5vZGVfcHJp bWFyeSk7CiAKIAkjIERvIGltbWVkaWF0ZSBzaHV0ZG93biBqdXN0IGFmdGVyIGEgc2VxdWVu Y2Ugb2YgQ1JFQVRFIERBVEFCQVNFIC8gRFJPUAogCSMgREFUQUJBU0UgLyBEUk9QIFRBQkxF U1BBQ0UuIFRoaXMgY2F1c2VzIENSRUFURSBEQVRBQkFTRSBXQUwgcmVjb3JkcwpAQCAtNjUs OCArNjQsNyBAQCBzdWIgdGVzdF90YWJsZXNwYWNlCiAJJHF1ZXJ5ID1+IHMvPFNUUkFURUdZ Pi8kc3RyYXRlZ3kvZzsKIAogCSRub2RlX3ByaW1hcnktPnNhZmVfcHNxbCgncG9zdGdyZXMn LCAkcXVlcnkpOwotCSRub2RlX3ByaW1hcnktPndhaXRfZm9yX2NhdGNodXAoJG5vZGVfc3Rh bmRieSwgJ3dyaXRlJywKLQkJJG5vZGVfcHJpbWFyeS0+bHNuKCd3cml0ZScpKTsKKwkkbm9k ZV9wcmltYXJ5LT53YWl0X2Zvcl93cml0ZV9jYXRjaHVwKCRub2RlX3N0YW5kYnksICRub2Rl X3ByaW1hcnkpOwogCiAJIyBzaG93ICJjcmVhdGUgbWlzc2luZyBkaXJlY3RvcnkiIGxvZyBt ZXNzYWdlCiAJJG5vZGVfc3RhbmRieS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCg== --------------YmQOOMIV2XlJpJMMA7Ri9oUA--