Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vDjxy-00Elvs-1U for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Oct 2025 13:42:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1vDjxv-00DBiq-Ug for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Oct 2025 13:42:22 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <3danissimo@gmail.com>) id 1vDjxv-00DBii-J8 for pgsql-hackers@lists.postgresql.org; Tue, 28 Oct 2025 13:42:22 +0000 Received: from mail-yw1-x112b.google.com ([2607:f8b0:4864:20::112b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from <3danissimo@gmail.com>) id 1vDjxs-004hqL-0s for pgsql-hackers@postgresql.org; Tue, 28 Oct 2025 13:42:22 +0000 Received: by mail-yw1-x112b.google.com with SMTP id 00721157ae682-7814273415cso49354137b3.1 for ; Tue, 28 Oct 2025 06:42:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761658939; x=1762263739; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=LRsoWUjez1i0hBNtzvO1+0CvvDvBhahHAjA2IZp5QME=; b=RgomN8L4NGcVgDArNVsk9FFI3qxG5x9JamTl3DXG4sdxqv+kSAXuOJ+9a+5KmyAH1q epnzTR3JhMQvxmTAGl31mgVM+h1cAhKxSrQXEnLkz0wAeaZcwvVaZt/peB0WMULdh554 2OAKZT8f5xkWJZ1ACijiDCb7w9oSjcSOnVr7RKhHyeqH4DBbhqj6k++Wvqhut7zuKrmS IFZDTZz0msmc+22Qe3sFQJzPXHNbkXdwQpBxPHhiU8ajnV+y9ckpwXsVVSX8xiQ/uJpB ct/YVXlf469Aa33YCJ2p1aa6lB3HvK4yyNxWXe/4NpmuEznw0gZsH73OEtnd4pGz8TaR 9F5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761658939; x=1762263739; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=LRsoWUjez1i0hBNtzvO1+0CvvDvBhahHAjA2IZp5QME=; b=THLfvl3hxS0dU3LwKkdarCnl5TRGb5a94khnwnwg8xSBO2CX4TlPPbE6gfeknkkg1k ozN//X12zMVE31y64Z2sr2IAalFZhYF3lbZPlwcDVm+Il/OXVr+Lbndr3gyVCbdXgBRh n2zWdSv+pF9jlB4ek4LWjTl4aZglOMQWrIZbSA5GaS55A2JJv2YFTrWfcz4znjrhg6rq 6+C46hjqGWyuSWS6KjBArgqBRybBcKSMve1dBqC2xqTYd2v0V+QYTk8Q30Ky0Ul0JIbi rPnOgV1APn6L1EVejCk+g9/SDp2AQ0cDC6mB65bHQwkDrYNy2rsRN63IUtAlFaf1u1Xp Mtcg== X-Forwarded-Encrypted: i=1; AJvYcCVEhceZneGh/nlBfYf/YeeMcBqa+66w2Ur56lZh+mkTF1jvovzSXw1daHNWmq8Tp8aQswJNqkoUyYeTDFwX@postgresql.org X-Gm-Message-State: AOJu0YwhEUc9C+nCQgQf3oNhfQy8LFEL965PXezD2A9r/07ZeREMODI0 W0euhwcc24ddF9/St0fIlk7nXTeQ3jJmCyw+IQ4fnsU86IPoF45803ZiwvPg205MH6pHNdpKB+u EwWEEMhyClkf12mF7HkveUw+zkzBh+YM= X-Gm-Gg: ASbGncsBRR9JGOqYaiwcxZmc2qAbRBoPcLgGwIaD0ARFyt5RBH9ny+NiAtSX1o+EMxu iWmHKr2wzjxwFrD76Klx+v849EkRsTM9w41WUt/8jU19U69xR4sY/9K2D0ifB1KAZp5iJQwFxYR hKCej/mer32MiLZBoF5f3cKitCrDh7rHGAvu8LgUTxBdyDfj2cRJlWXBN3FeC9qTARte/BBSKpd 5SGcDDbU4BEp2acE3WnKZQt9v8H7p99oYM9Yrt8R3jRhMyRMiF2uwsWK64O7ds= X-Google-Smtp-Source: AGHT+IGskczlxL2M3xe7jVXy+YYbjQ66f05EGymYmfIZWBnLBExWlgNPNbHveU1Y3758Cex7YPV86ahXLqPRiqMB5QY= X-Received: by 2002:a05:690c:630e:b0:784:9883:5fa8 with SMTP id 00721157ae682-786181cafb0mr32917327b3.68.1761658938616; Tue, 28 Oct 2025 06:42:18 -0700 (PDT) MIME-Version: 1.0 References: <2f3fa419-9000-4e2a-b070-6e35d5de0e4c@uni-muenster.de> <751a6cb8-cac8-46c4-8c64-9e23f663e926@uni-muenster.de> In-Reply-To: From: Daniil Davydov <3danissimo@gmail.com> Date: Tue, 28 Oct 2025 20:42:07 +0700 X-Gm-Features: AWmQ_bmDMEkXPgmTeLRUr5clHxMqpMOaAKBTbBB5VMOYw17OmI43u4ah-FDX1Cg Message-ID: Subject: Re: Fix bug with accessing to temporary tables of other sessions To: Jim Jones Cc: Stepan Neretin , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="00000000000040a9a80642382fe7" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000040a9a80642382fe7 Content-Type: text/plain; charset="UTF-8" Hi, I've rebased patches on the newest master. -- Best regards, Daniil Davydov --00000000000040a9a80642382fe7 Content-Type: text/x-patch; charset="US-ASCII"; name="v12-0002-Logging-for-parallel-autovacuum.patch" Content-Disposition: attachment; filename="v12-0002-Logging-for-parallel-autovacuum.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mham8hji0 RnJvbSA1N2VhNGMzMTg2NjRmNmUwYjcyMDQwZDE0ZTdhN2Q5ZjgyZDIwMzZjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5paWwgRGF2aWRvdiA8ZC5kYXZ5ZG92QHBvc3RncmVzcHJv LnJ1PgpEYXRlOiBNb24sIDE4IEF1ZyAyMDI1IDE1OjE0OjI1ICswNzAwClN1YmplY3Q6IFtQQVRD SCB2MTIgMi80XSBMb2dnaW5nIGZvciBwYXJhbGxlbCBhdXRvdmFjdXVtCgotLS0KIHNyYy9iYWNr ZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyAgfCAyNyArKysrKysrKysrKysrKysrKysrKysr KysrLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgfCAyMCArKysrKysr KysrKysrKy0tLS0tLQogc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggICAgICAgICB8IDE2 ICsrKysrKysrKysrKysrLS0KIHNyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0ICAgICAg fCAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwppbmRleCBkMmIwMzFmZGQwNi4uZDM2 NGNkZTVmZTUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenku YworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAgLTM0Nyw2ICsz NDcsMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgTFZSZWxTdGF0ZQogCiAJLyogSW5zdHJ1bWVudGF0aW9u IGNvdW50ZXJzICovCiAJaW50CQkJbnVtX2luZGV4X3NjYW5zOworCisJLyoKKwkgKiBOdW1iZXIg b2YgcGxhbm5lZCBhbmQgYWN0dWFsbHkgbGF1bmNoZWQgcGFyYWxsZWwgd29ya2VycyBmb3IgYWxs IGluZGV4CisJICogc2NhbnMsIG9yIE5VTEwKKwkgKi8KKwlQVldvcmtlcnNVc2FnZSAqd29ya2Vy c191c2FnZTsKIAkvKiBDb3VudGVycyB0aGF0IGZvbGxvdyBhcmUgb25seSBmb3Igc2Nhbm5lZF9w YWdlcyAqLwogCWludDY0CQl0dXBsZXNfZGVsZXRlZDsgLyogIyBkZWxldGVkIGZyb20gdGFibGUg Ki8KIAlpbnQ2NAkJdHVwbGVzX2Zyb3plbjsJLyogIyBuZXdseSBmcm96ZW4gKi8KQEAgLTcwMCw2 ICs3MDYsMTYgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9uIHJlbCwgY29uc3QgVmFjdXVtUGFy YW1zIHBhcmFtcywKIAkJaW5kbmFtZXMgPSBwYWxsb2Moc2l6ZW9mKGNoYXIgKikgKiB2YWNyZWwt Pm5pbmRleGVzKTsKIAkJZm9yIChpbnQgaSA9IDA7IGkgPCB2YWNyZWwtPm5pbmRleGVzOyBpKysp CiAJCQlpbmRuYW1lc1tpXSA9IHBzdHJkdXAoUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUodmFjcmVs LT5pbmRyZWxzW2ldKSk7CisKKwkJLyoKKwkJICogQWxsb2NhdGUgc3BhY2UgZm9yIHdvcmtlcnMg dXNhZ2Ugc3RhdGlzdGljcy4gVGh1cywgd2UgZXhwbGljaXRseQorCQkgKiBtYWtlIGNsZWFyIHRo YXQgc3VjaCBzdGF0aXN0aWNzIG11c3QgYmUgYWNjdW11bGF0ZWQuIEZvciBub3csIHRoaXMKKwkJ ICogaXMgdXNlZCBvbmx5IGJ5IGF1dG92YWN1dW0gbGVhZGVyIHdvcmtlciwgYmVjYXVzZSBpdCBt dXN0IGxvZyBpdCBpbgorCQkgKiB0aGUgZW5kIG9mIHRhYmxlIHByb2Nlc3NpbmcuCisJCSAqLwor CQl2YWNyZWwtPndvcmtlcnNfdXNhZ2UgPSBBbUF1dG9WYWN1dW1Xb3JrZXJQcm9jZXNzKCkgPwor CQkJKFBWV29ya2Vyc1VzYWdlICopIHBhbGxvYzAoc2l6ZW9mKFBWV29ya2Vyc1VzYWdlKSkgOgor CQkJTlVMTDsKIAl9CiAKIAkvKgpAQCAtMTAyNCw2ICsxMDQwLDExIEBAIGhlYXBfdmFjdXVtX3Jl bChSZWxhdGlvbiByZWwsIGNvbnN0IFZhY3V1bVBhcmFtcyBwYXJhbXMsCiAJCQkJCQkJIHZhY3Jl bC0+cmVsbmFtZXNwYWNlLAogCQkJCQkJCSB2YWNyZWwtPnJlbG5hbWUsCiAJCQkJCQkJIHZhY3Jl bC0+bnVtX2luZGV4X3NjYW5zKTsKKwkJCWlmICh2YWNyZWwtPndvcmtlcnNfdXNhZ2UpCisJCQkJ YXBwZW5kU3RyaW5nSW5mbygmYnVmLAorCQkJCQkJCQkgXygid29ya2VycyB1c2FnZSBzdGF0aXN0 aWNzIGZvciBhbGwgb2YgaW5kZXggc2NhbnMgOiBsYXVuY2hlZCBpbiB0b3RhbCA9ICVkLCBwbGFu bmVkIGluIHRvdGFsID0gJWRcbiIpLAorCQkJCQkJCQkgdmFjcmVsLT53b3JrZXJzX3VzYWdlLT5u bGF1bmNoZWQsCisJCQkJCQkJCSB2YWNyZWwtPndvcmtlcnNfdXNhZ2UtPm5wbGFubmVkKTsKIAkJ CWFwcGVuZFN0cmluZ0luZm8oJmJ1ZiwgXygicGFnZXM6ICV1IHJlbW92ZWQsICV1IHJlbWFpbiwg JXUgc2Nhbm5lZCAoJS4yZiUlIG9mIHRvdGFsKSwgJXUgZWFnZXJseSBzY2FubmVkXG4iKSwKIAkJ CQkJCQkgdmFjcmVsLT5yZW1vdmVkX3BhZ2VzLAogCQkJCQkJCSBuZXdfcmVsX3BhZ2VzLApAQCAt MjY1Myw3ICsyNjc0LDggQEAgbGF6eV92YWN1dW1fYWxsX2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFj cmVsKQogCXsKIAkJLyogT3V0c291cmNlIGV2ZXJ5dGhpbmcgdG8gcGFyYWxsZWwgdmFyaWFudCAq LwogCQlwYXJhbGxlbF92YWN1dW1fYnVsa2RlbF9hbGxfaW5kZXhlcyh2YWNyZWwtPnB2cywgb2xk X2xpdmVfdHVwbGVzLAotCQkJCQkJCQkJCQl2YWNyZWwtPm51bV9pbmRleF9zY2Fucyk7CisJCQkJ CQkJCQkJCXZhY3JlbC0+bnVtX2luZGV4X3NjYW5zLAorCQkJCQkJCQkJCQl2YWNyZWwtPndvcmtl cnNfdXNhZ2UpOwogCiAJCS8qCiAJCSAqIERvIGEgcG9zdGNoZWNrIHRvIGNvbnNpZGVyIGFwcGx5 aW5nIHdyYXBhcm91bmQgZmFpbHNhZmUgbm93LiAgTm90ZQpAQCAtMzA4NSw3ICszMTA3LDggQEAg bGF6eV9jbGVhbnVwX2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKIAkJLyogT3V0c291 cmNlIGV2ZXJ5dGhpbmcgdG8gcGFyYWxsZWwgdmFyaWFudCAqLwogCQlwYXJhbGxlbF92YWN1dW1f Y2xlYW51cF9hbGxfaW5kZXhlcyh2YWNyZWwtPnB2cywgcmVsdHVwbGVzLAogCQkJCQkJCQkJCQl2 YWNyZWwtPm51bV9pbmRleF9zY2FucywKLQkJCQkJCQkJCQkJZXN0aW1hdGVkX2NvdW50KTsKKwkJ CQkJCQkJCQkJZXN0aW1hdGVkX2NvdW50LAorCQkJCQkJCQkJCQl2YWNyZWwtPndvcmtlcnNfdXNh Z2UpOwogCX0KIAogCS8qIFJlc2V0IHRoZSBwcm9ncmVzcyBjb3VudGVycyAqLwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYyBiL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggYWNkNTNiODViMWMuLjlhMjU4MjM4NjUwIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCisrKyBiL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKQEAgLTIyNyw3ICsyMjcsNyBAQCBz dHJ1Y3QgUGFyYWxsZWxWYWN1dW1TdGF0ZQogc3RhdGljIGludAlwYXJhbGxlbF92YWN1dW1fY29t cHV0ZV93b3JrZXJzKFJlbGF0aW9uICppbmRyZWxzLCBpbnQgbmluZGV4ZXMsIGludCBucmVxdWVz dGVkLAogCQkJCQkJCQkJCQlib29sICp3aWxsX3BhcmFsbGVsX3ZhY3V1bSk7CiBzdGF0aWMgdm9p ZCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19hbGxfaW5kZXhlcyhQYXJhbGxlbFZhY3V1bVN0YXRl ICpwdnMsIGludCBudW1faW5kZXhfc2NhbnMsCi0JCQkJCQkJCQkJCQlib29sIHZhY3V1bSk7CisJ CQkJCQkJCQkJCQlib29sIHZhY3V1bSwgUFZXb3JrZXJzVXNhZ2UgKnd1c2FnZSk7CiBzdGF0aWMg dm9pZCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19zYWZlX2luZGV4ZXMoUGFyYWxsZWxWYWN1dW1T dGF0ZSAqcHZzKTsKIHN0YXRpYyB2b2lkIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX3Vuc2FmZV9p bmRleGVzKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cyk7CiBzdGF0aWMgdm9pZCBwYXJhbGxlbF92 YWN1dW1fcHJvY2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlv biBpbmRyZWwsCkBAIC01MDIsNyArNTAyLDcgQEAgcGFyYWxsZWxfdmFjdXVtX3Jlc2V0X2RlYWRf aXRlbXMoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzKQogICovCiB2b2lkCiBwYXJhbGxlbF92YWN1 dW1fYnVsa2RlbF9hbGxfaW5kZXhlcyhQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMsIGxvbmcgbnVt X3RhYmxlX3R1cGxlcywKLQkJCQkJCQkJCWludCBudW1faW5kZXhfc2NhbnMpCisJCQkJCQkJCQlp bnQgbnVtX2luZGV4X3NjYW5zLCBQVldvcmtlcnNVc2FnZSAqd3VzYWdlKQogewogCUFzc2VydCgh SXNQYXJhbGxlbFdvcmtlcigpKTsKIApAQCAtNTEzLDcgKzUxMyw3IEBAIHBhcmFsbGVsX3ZhY3V1 bV9idWxrZGVsX2FsbF9pbmRleGVzKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgbG9uZyBudW1f dGFibGVfdHVwCiAJcHZzLT5zaGFyZWQtPnJlbHR1cGxlcyA9IG51bV90YWJsZV90dXBsZXM7CiAJ cHZzLT5zaGFyZWQtPmVzdGltYXRlZF9jb3VudCA9IHRydWU7CiAKLQlwYXJhbGxlbF92YWN1dW1f cHJvY2Vzc19hbGxfaW5kZXhlcyhwdnMsIG51bV9pbmRleF9zY2FucywgdHJ1ZSk7CisJcGFyYWxs ZWxfdmFjdXVtX3Byb2Nlc3NfYWxsX2luZGV4ZXMocHZzLCBudW1faW5kZXhfc2NhbnMsIHRydWUs IHd1c2FnZSk7CiB9CiAKIC8qCkBAIC01MjEsNyArNTIxLDggQEAgcGFyYWxsZWxfdmFjdXVtX2J1 bGtkZWxfYWxsX2luZGV4ZXMoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBsb25nIG51bV90YWJs ZV90dXAKICAqLwogdm9pZAogcGFyYWxsZWxfdmFjdXVtX2NsZWFudXBfYWxsX2luZGV4ZXMoUGFy YWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBsb25nIG51bV90YWJsZV90dXBsZXMsCi0JCQkJCQkJCQlp bnQgbnVtX2luZGV4X3NjYW5zLCBib29sIGVzdGltYXRlZF9jb3VudCkKKwkJCQkJCQkJCWludCBu dW1faW5kZXhfc2NhbnMsIGJvb2wgZXN0aW1hdGVkX2NvdW50LAorCQkJCQkJCQkJUFZXb3JrZXJz VXNhZ2UgKnd1c2FnZSkKIHsKIAlBc3NlcnQoIUlzUGFyYWxsZWxXb3JrZXIoKSk7CiAKQEAgLTUz Myw3ICs1MzQsNyBAQCBwYXJhbGxlbF92YWN1dW1fY2xlYW51cF9hbGxfaW5kZXhlcyhQYXJhbGxl bFZhY3V1bVN0YXRlICpwdnMsIGxvbmcgbnVtX3RhYmxlX3R1cAogCXB2cy0+c2hhcmVkLT5yZWx0 dXBsZXMgPSBudW1fdGFibGVfdHVwbGVzOwogCXB2cy0+c2hhcmVkLT5lc3RpbWF0ZWRfY291bnQg PSBlc3RpbWF0ZWRfY291bnQ7CiAKLQlwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19hbGxfaW5kZXhl cyhwdnMsIG51bV9pbmRleF9zY2FucywgZmFsc2UpOworCXBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNz X2FsbF9pbmRleGVzKHB2cywgbnVtX2luZGV4X3NjYW5zLCBmYWxzZSwgd3VzYWdlKTsKIH0KIAog LyoKQEAgLTYxOCw3ICs2MTksNyBAQCBwYXJhbGxlbF92YWN1dW1fY29tcHV0ZV93b3JrZXJzKFJl bGF0aW9uICppbmRyZWxzLCBpbnQgbmluZGV4ZXMsIGludCBucmVxdWVzdGVkLAogICovCiBzdGF0 aWMgdm9pZAogcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3NfYWxsX2luZGV4ZXMoUGFyYWxsZWxWYWN1 dW1TdGF0ZSAqcHZzLCBpbnQgbnVtX2luZGV4X3NjYW5zLAotCQkJCQkJCQkJYm9vbCB2YWN1dW0p CisJCQkJCQkJCQlib29sIHZhY3V1bSwgUFZXb3JrZXJzVXNhZ2UgKnd1c2FnZSkKIHsKIAlpbnQJ CQlud29ya2VyczsKIAlQVkluZFZhY1N0YXR1cyBuZXdfc3RhdHVzOwpAQCAtNzQyLDYgKzc0Mywx MyBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19hbGxfaW5kZXhlcyhQYXJhbGxlbFZhY3V1bVN0 YXRlICpwdnMsIGludCBudW1faW5kZXhfc2NhbgogCQkJCQkJCQkJICJsYXVuY2hlZCAlZCBwYXJh bGxlbCB2YWN1dW0gd29ya2VycyBmb3IgaW5kZXggY2xlYW51cCAocGxhbm5lZDogJWQpIiwKIAkJ CQkJCQkJCSBwdnMtPnBjeHQtPm53b3JrZXJzX2xhdW5jaGVkKSwKIAkJCQkJCQlwdnMtPnBjeHQt Pm53b3JrZXJzX2xhdW5jaGVkLCBud29ya2VycykpKTsKKworCQkvKiBSZW1lbWJlciB0aGVzZSB2 YWx1ZXMsIGlmIHdlIGFza2VkIHRvLiAqLworCQlpZiAod3VzYWdlICE9IE5VTEwpCisJCXsKKwkJ CXd1c2FnZS0+bmxhdW5jaGVkICs9IHB2cy0+cGN4dC0+bndvcmtlcnNfbGF1bmNoZWQ7CisJCQl3 dXNhZ2UtPm5wbGFubmVkICs9IG53b3JrZXJzOworCQl9CiAJfQogCiAJLyogVmFjdXVtIHRoZSBp bmRleGVzIHRoYXQgY2FuIGJlIHByb2Nlc3NlZCBieSBvbmx5IGxlYWRlciBwcm9jZXNzICovCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRlL2Nv bW1hbmRzL3ZhY3V1bS5oCmluZGV4IDFmMzI5MGM3ZmJmLi45MDcwOWNhMzEwNyAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFu ZHMvdmFjdXVtLmgKQEAgLTMwMCw2ICszMDAsMTYgQEAgdHlwZWRlZiBzdHJ1Y3QgVmFjRGVhZEl0 ZW1zSW5mbwogCWludDY0CQludW1faXRlbXM7CQkvKiBjdXJyZW50ICMgb2YgZW50cmllcyAqLwog fSBWYWNEZWFkSXRlbXNJbmZvOwogCisvKgorICogUFZXb3JrZXJzVXNhZ2Ugc3RvcmVzIGluZm9y bWF0aW9uIGFib3V0IHRvdGFsIG51bWJlciBvZiBsYXVuY2hlZCBhbmQgcGxhbm5lZAorICogd29y a2VycyBkdXJpbmcgcGFyYWxsZWwgdmFjdXVtLgorICovCit0eXBlZGVmIHN0cnVjdCBQVldvcmtl cnNVc2FnZQoreworCWludAkJCW5sYXVuY2hlZDsKKwlpbnQJCQlucGxhbm5lZDsKK30gUFZXb3Jr ZXJzVXNhZ2U7CisKIC8qIEdVQyBwYXJhbWV0ZXJzICovCiBleHRlcm4gUEdETExJTVBPUlQgaW50 IGRlZmF1bHRfc3RhdGlzdGljc190YXJnZXQ7CS8qIFBHRExMSU1QT1JUIGZvciBQb3N0R0lTICov CiBleHRlcm4gUEdETExJTVBPUlQgaW50IHZhY3V1bV9mcmVlemVfbWluX2FnZTsKQEAgLTM5NCwx MSArNDA0LDEzIEBAIGV4dGVybiBUaWRTdG9yZSAqcGFyYWxsZWxfdmFjdXVtX2dldF9kZWFkX2l0 ZW1zKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywKIGV4dGVybiB2b2lkIHBhcmFsbGVsX3ZhY3V1 bV9yZXNldF9kZWFkX2l0ZW1zKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cyk7CiBleHRlcm4gdm9p ZCBwYXJhbGxlbF92YWN1dW1fYnVsa2RlbF9hbGxfaW5kZXhlcyhQYXJhbGxlbFZhY3V1bVN0YXRl ICpwdnMsCiAJCQkJCQkJCQkJCQlsb25nIG51bV90YWJsZV90dXBsZXMsCi0JCQkJCQkJCQkJCQlp bnQgbnVtX2luZGV4X3NjYW5zKTsKKwkJCQkJCQkJCQkJCWludCBudW1faW5kZXhfc2NhbnMsCisJ CQkJCQkJCQkJCQlQVldvcmtlcnNVc2FnZSAqd3VzYWdlKTsKIGV4dGVybiB2b2lkIHBhcmFsbGVs X3ZhY3V1bV9jbGVhbnVwX2FsbF9pbmRleGVzKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywKIAkJ CQkJCQkJCQkJCWxvbmcgbnVtX3RhYmxlX3R1cGxlcywKIAkJCQkJCQkJCQkJCWludCBudW1faW5k ZXhfc2NhbnMsCi0JCQkJCQkJCQkJCQlib29sIGVzdGltYXRlZF9jb3VudCk7CisJCQkJCQkJCQkJ CQlib29sIGVzdGltYXRlZF9jb3VudCwKKwkJCQkJCQkJCQkJCVBWV29ya2Vyc1VzYWdlICp3dXNh Z2UpOwogZXh0ZXJuIHZvaWQgcGFyYWxsZWxfdmFjdXVtX21haW4oZHNtX3NlZ21lbnQgKnNlZywg c2htX3RvYyAqdG9jKTsKIAogLyogaW4gY29tbWFuZHMvYW5hbHl6ZS5jICovCmRpZmYgLS1naXQg YS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90 eXBlZGVmcy5saXN0CmluZGV4IDQzZmUzYmNkNTkzLi44MzA3NjNlYjJmYSAxMDA2NDQKLS0tIGEv c3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50 L3R5cGVkZWZzLmxpc3QKQEAgLTIzNzIsNiArMjM3Miw3IEBAIFB1bGxGaWx0ZXJPcHMKIFB1c2hG aWx0ZXIKIFB1c2hGaWx0ZXJPcHMKIFB1c2hGdW5jdGlvbgorUFZXb3JrZXJzVXNhZ2UKIFB5Q0Z1 bmN0aW9uCiBQeU1ldGhvZERlZgogUHlNb2R1bGVEZWYKLS0gCjIuNDMuMAoK --00000000000040a9a80642382fe7 Content-Type: text/x-patch; charset="US-ASCII"; name="v12-0001-Parallel-index-autovacuum.patch" Content-Disposition: attachment; filename="v12-0001-Parallel-index-autovacuum.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mham8hjw1 RnJvbSAyMjE3ZmM3YjI5M2MyNjdhYjQ5N2M4NDI1MWRhZTMxYzBiZmRhN2U5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5paWwgRGF2aWRvdiA8ZC5kYXZ5ZG92QHBvc3RncmVzcHJv LnJ1PgpEYXRlOiBUdWUsIDI4IE9jdCAyMDI1IDE3OjQ3OjEzICswNzAwClN1YmplY3Q6IFtQQVRD SCB2MTJdIFBhcmFsbGVsIGluZGV4IGF1dG92YWN1dW0KCi0tLQogc3JjL2JhY2tlbmQvYWNjZXNz L2NvbW1vbi9yZWxvcHRpb25zLmMgICAgICAgIHwgIDExICsrCiBzcmMvYmFja2VuZC9jb21tYW5k cy92YWN1dW1wYXJhbGxlbC5jICAgICAgICAgfCAgNDIgKysrKy0KIHNyYy9iYWNrZW5kL3Bvc3Rt YXN0ZXIvYXV0b3ZhY3V1bS5jICAgICAgICAgICB8IDE2MyArKysrKysrKysrKysrKysrKy0KIHNy Yy9iYWNrZW5kL3V0aWxzL2luaXQvZ2xvYmFscy5jICAgICAgICAgICAgICB8ICAgMSArCiBzcmMv YmFja2VuZC91dGlscy9taXNjL2d1Yy5jICAgICAgICAgICAgICAgICAgfCAgIDggKy0KIHNyYy9i YWNrZW5kL3V0aWxzL21pc2MvZ3VjX3BhcmFtZXRlcnMuZGF0ICAgICB8ICAgOSArCiBzcmMvYmFj a2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUgfCAgIDEgKwogc3JjL2Jpbi9w c3FsL3RhYi1jb21wbGV0ZS5pbi5jICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9pbmNsdWRl L21pc2NhZG1pbi5oICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS9w b3N0bWFzdGVyL2F1dG92YWN1dW0uaCAgICAgICAgICAgfCAgIDUgKwogc3JjL2luY2x1ZGUvdXRp bHMvcmVsLmggICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICsKIDExIGZpbGVzIGNoYW5nZWQs IDIzOSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9hY2Nlc3MvY29tbW9uL3JlbG9wdGlvbnMuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9jb21t b24vcmVsb3B0aW9ucy5jCmluZGV4IDllMjg4ZGZlY2JmLi4zY2MyOWQ0NDU0YSAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2NvbW1vbi9yZWxvcHRpb25zLmMKKysrIGIvc3JjL2JhY2tl bmQvYWNjZXNzL2NvbW1vbi9yZWxvcHRpb25zLmMKQEAgLTIyMiw2ICsyMjIsMTUgQEAgc3RhdGlj IHJlbG9wdF9pbnQgaW50UmVsT3B0c1tdID0KIAkJfSwKIAkJU1BHSVNUX0RFRkFVTFRfRklMTEZB Q1RPUiwgU1BHSVNUX01JTl9GSUxMRkFDVE9SLCAxMDAKIAl9LAorCXsKKwkJeworCQkJImF1dG92 YWN1dW1fcGFyYWxsZWxfd29ya2VycyIsCisJCQkiTWF4aW11bSBudW1iZXIgb2YgcGFyYWxsZWwg YXV0b3ZhY3V1bSB3b3JrZXJzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHByb2Nlc3NpbmcgdGhpcyB0 YWJsZS4iLAorCQkJUkVMT1BUX0tJTkRfSEVBUCwKKwkJCVNoYXJlVXBkYXRlRXhjbHVzaXZlTG9j aworCQl9LAorCQktMSwgLTEsIDEwMjQKKwl9LAogCXsKIAkJewogCQkJImF1dG92YWN1dW1fdmFj dXVtX3RocmVzaG9sZCIsCkBAIC0xODgxLDYgKzE4OTAsOCBAQCBkZWZhdWx0X3JlbG9wdGlvbnMo RGF0dW0gcmVsb3B0aW9ucywgYm9vbCB2YWxpZGF0ZSwgcmVsb3B0X2tpbmQga2luZCkKIAkJeyJm aWxsZmFjdG9yIiwgUkVMT1BUX1RZUEVfSU5ULCBvZmZzZXRvZihTdGRSZE9wdGlvbnMsIGZpbGxm YWN0b3IpfSwKIAkJeyJhdXRvdmFjdXVtX2VuYWJsZWQiLCBSRUxPUFRfVFlQRV9CT09MLAogCQlv ZmZzZXRvZihTdGRSZE9wdGlvbnMsIGF1dG92YWN1dW0pICsgb2Zmc2V0b2YoQXV0b1ZhY09wdHMs IGVuYWJsZWQpfSwKKwkJeyJhdXRvdmFjdXVtX3BhcmFsbGVsX3dvcmtlcnMiLCBSRUxPUFRfVFlQ RV9JTlQsCisJCW9mZnNldG9mKFN0ZFJkT3B0aW9ucywgYXV0b3ZhY3V1bSkgKyBvZmZzZXRvZihB dXRvVmFjT3B0cywgYXV0b3ZhY3V1bV9wYXJhbGxlbF93b3JrZXJzKX0sCiAJCXsiYXV0b3ZhY3V1 bV92YWN1dW1fdGhyZXNob2xkIiwgUkVMT1BUX1RZUEVfSU5ULAogCQlvZmZzZXRvZihTdGRSZE9w dGlvbnMsIGF1dG92YWN1dW0pICsgb2Zmc2V0b2YoQXV0b1ZhY09wdHMsIHZhY3V1bV90aHJlc2hv bGQpfSwKIAkJeyJhdXRvdmFjdXVtX3ZhY3V1bV9tYXhfdGhyZXNob2xkIiwgUkVMT1BUX1RZUEVf SU5ULApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYyBi L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggMGZlZWExZDMwZWMu LmFjZDUzYjg1YjFjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJh bGxlbC5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKQEAgLTEs NyArMSw5IEBACiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqCiAgKiB2YWN1dW1wYXJhbGxlbC5jCi0g KgkgIFN1cHBvcnQgcm91dGluZXMgZm9yIHBhcmFsbGVsIHZhY3V1bSBleGVjdXRpb24uCisgKgkg IFN1cHBvcnQgcm91dGluZXMgZm9yIHBhcmFsbGVsIHZhY3V1bSBhbmQgYXV0b3ZhY3V1bSBleGVj dXRpb24uIEluIHRoZQorICoJICBjb21tZW50cyBiZWxvdywgdGhlIHdvcmQgInZhY3V1bSIgd2ls bCByZWZlciB0byBib3RoIHZhY3V1bSBhbmQKKyAqCSAgYXV0b3ZhY3V1bS4KICAqCiAgKiBUaGlz IGZpbGUgY29udGFpbnMgcm91dGluZXMgdGhhdCBhcmUgaW50ZW5kZWQgdG8gc3VwcG9ydCBzZXR0 aW5nIHVwLCB1c2luZywKICAqIGFuZCB0ZWFyaW5nIGRvd24gYSBQYXJhbGxlbFZhY3V1bVN0YXRl LgpAQCAtMzQsNiArMzYsNyBAQAogI2luY2x1ZGUgImV4ZWN1dG9yL2luc3RydW1lbnQuaCIKICNp bmNsdWRlICJvcHRpbWl6ZXIvcGF0aHMuaCIKICNpbmNsdWRlICJwZ3N0YXQuaCIKKyNpbmNsdWRl ICJwb3N0bWFzdGVyL2F1dG92YWN1dW0uaCIKICNpbmNsdWRlICJzdG9yYWdlL2J1Zm1nci5oIgog I2luY2x1ZGUgInRjb3AvdGNvcHByb3QuaCIKICNpbmNsdWRlICJ1dGlscy9sc3lzY2FjaGUuaCIK QEAgLTM3Myw4ICszNzYsOSBAQCBwYXJhbGxlbF92YWN1dW1faW5pdChSZWxhdGlvbiByZWwsIFJl bGF0aW9uICppbmRyZWxzLCBpbnQgbmluZGV4ZXMsCiAJc2hhcmVkLT5xdWVyeWlkID0gcGdzdGF0 X2dldF9teV9xdWVyeV9pZCgpOwogCXNoYXJlZC0+bWFpbnRlbmFuY2Vfd29ya19tZW1fd29ya2Vy ID0KIAkJKG5pbmRleGVzX213bSA+IDApID8KLQkJbWFpbnRlbmFuY2Vfd29ya19tZW0gLyBNaW4o cGFyYWxsZWxfd29ya2VycywgbmluZGV4ZXNfbXdtKSA6Ci0JCW1haW50ZW5hbmNlX3dvcmtfbWVt OworCQl2YWNfd29ya19tZW0gLyBNaW4ocGFyYWxsZWxfd29ya2VycywgbmluZGV4ZXNfbXdtKSA6 CisJCXZhY193b3JrX21lbTsKKwogCXNoYXJlZC0+ZGVhZF9pdGVtc19pbmZvLm1heF9ieXRlcyA9 IHZhY193b3JrX21lbSAqIChzaXplX3QpIDEwMjQ7CiAKIAkvKiBQcmVwYXJlIERTQSBzcGFjZSBm b3IgZGVhZCBpdGVtcyAqLwpAQCAtNTUzLDEyICs1NTcsMTcgQEAgcGFyYWxsZWxfdmFjdXVtX2Nv bXB1dGVfd29ya2VycyhSZWxhdGlvbiAqaW5kcmVscywgaW50IG5pbmRleGVzLCBpbnQgbnJlcXVl c3RlZCwKIAlpbnQJCQluaW5kZXhlc19wYXJhbGxlbF9idWxrZGVsID0gMDsKIAlpbnQJCQluaW5k ZXhlc19wYXJhbGxlbF9jbGVhbnVwID0gMDsKIAlpbnQJCQlwYXJhbGxlbF93b3JrZXJzOworCWlu dAkJCW1heF93b3JrZXJzOworCisJbWF4X3dvcmtlcnMgPSBBbUF1dG9WYWN1dW1Xb3JrZXJQcm9j ZXNzKCkgPworCQlhdXRvdmFjdXVtX21heF9wYXJhbGxlbF93b3JrZXJzIDoKKwkJbWF4X3BhcmFs bGVsX21haW50ZW5hbmNlX3dvcmtlcnM7CiAKIAkvKgogCSAqIFdlIGRvbid0IGFsbG93IHBlcmZv cm1pbmcgcGFyYWxsZWwgb3BlcmF0aW9uIGluIHN0YW5kYWxvbmUgYmFja2VuZCBvcgogCSAqIHdo ZW4gcGFyYWxsZWxpc20gaXMgZGlzYWJsZWQuCiAJICovCi0JaWYgKCFJc1VuZGVyUG9zdG1hc3Rl ciB8fCBtYXhfcGFyYWxsZWxfbWFpbnRlbmFuY2Vfd29ya2VycyA9PSAwKQorCWlmICghSXNVbmRl clBvc3RtYXN0ZXIgfHwgbWF4X3dvcmtlcnMgPT0gMCkKIAkJcmV0dXJuIDA7CiAKIAkvKgpAQCAt NTk3LDggKzYwNiw4IEBAIHBhcmFsbGVsX3ZhY3V1bV9jb21wdXRlX3dvcmtlcnMoUmVsYXRpb24g KmluZHJlbHMsIGludCBuaW5kZXhlcywgaW50IG5yZXF1ZXN0ZWQsCiAJcGFyYWxsZWxfd29ya2Vy cyA9IChucmVxdWVzdGVkID4gMCkgPwogCQlNaW4obnJlcXVlc3RlZCwgbmluZGV4ZXNfcGFyYWxs ZWwpIDogbmluZGV4ZXNfcGFyYWxsZWw7CiAKLQkvKiBDYXAgYnkgbWF4X3BhcmFsbGVsX21haW50 ZW5hbmNlX3dvcmtlcnMgKi8KLQlwYXJhbGxlbF93b3JrZXJzID0gTWluKHBhcmFsbGVsX3dvcmtl cnMsIG1heF9wYXJhbGxlbF9tYWludGVuYW5jZV93b3JrZXJzKTsKKwkvKiBDYXAgYnkgR1VDIHZh cmlhYmxlICovCisJcGFyYWxsZWxfd29ya2VycyA9IE1pbihwYXJhbGxlbF93b3JrZXJzLCBtYXhf d29ya2Vycyk7CiAKIAlyZXR1cm4gcGFyYWxsZWxfd29ya2VyczsKIH0KQEAgLTY0Niw2ICs2NTUs MTMgQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3NfYWxsX2luZGV4ZXMoUGFyYWxsZWxWYWN1dW1T dGF0ZSAqcHZzLCBpbnQgbnVtX2luZGV4X3NjYW4KIAkgKi8KIAlud29ya2VycyA9IE1pbihud29y a2VycywgcHZzLT5wY3h0LT5ud29ya2Vycyk7CiAKKwkvKgorCSAqIFJlc2VydmUgd29ya2VycyBp biBhdXRvdmFjdXVtIGdsb2JhbCBzdGF0ZS4gTm90ZSwgdGhhdCB3ZSBtYXkgYmUgZ2l2ZW4KKwkg KiBmZXdlciB3b3JrZXJzIHRoYW4gd2UgcmVxdWVzdGVkLgorCSAqLworCWlmIChBbUF1dG9WYWN1 dW1Xb3JrZXJQcm9jZXNzKCkgJiYgbndvcmtlcnMgPiAwKQorCQlud29ya2VycyA9IEF1dG9WYWN1 dW1SZXNlcnZlUGFyYWxsZWxXb3JrZXJzKG53b3JrZXJzKTsKKwogCS8qCiAJICogU2V0IGluZGV4 IHZhY3V1bSBzdGF0dXMgYW5kIG1hcmsgd2hldGhlciBwYXJhbGxlbCB2YWN1dW0gd29ya2VyIGNh bgogCSAqIHByb2Nlc3MgaXQuCkBAIC02OTAsNiArNzA2LDE2IEBAIHBhcmFsbGVsX3ZhY3V1bV9w cm9jZXNzX2FsbF9pbmRleGVzKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgaW50IG51bV9pbmRl eF9zY2FuCiAKIAkJTGF1bmNoUGFyYWxsZWxXb3JrZXJzKHB2cy0+cGN4dCk7CiAKKwkJaWYgKEFt QXV0b1ZhY3V1bVdvcmtlclByb2Nlc3MoKSAmJgorCQkJcHZzLT5wY3h0LT5ud29ya2Vyc19sYXVu Y2hlZCA8IG53b3JrZXJzKQorCQl7CisJCQkvKgorCQkJICogVGVsbCBhdXRvdmFjdXVtIHRoYXQg d2UgY291bGQgbm90IGxhdW5jaCBhbGwgdGhlIHByZXZpb3VzbHkKKwkJCSAqIHJlc2VydmVkIHdv cmtlcnMuCisJCQkgKi8KKwkJCUF1dG9WYWN1dW1SZWxlYXNlUGFyYWxsZWxXb3JrZXJzKG53b3Jr ZXJzIC0gcHZzLT5wY3h0LT5ud29ya2Vyc19sYXVuY2hlZCk7CisJCX0KKwogCQlpZiAocHZzLT5w Y3h0LT5ud29ya2Vyc19sYXVuY2hlZCA+IDApCiAJCXsKIAkJCS8qCkBAIC03MzgsNiArNzY0LDEw IEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX2FsbF9pbmRleGVzKFBhcmFsbGVsVmFjdXVtU3Rh dGUgKnB2cywgaW50IG51bV9pbmRleF9zY2FuCiAKIAkJZm9yIChpbnQgaSA9IDA7IGkgPCBwdnMt PnBjeHQtPm53b3JrZXJzX2xhdW5jaGVkOyBpKyspCiAJCQlJbnN0ckFjY3VtUGFyYWxsZWxRdWVy eSgmcHZzLT5idWZmZXJfdXNhZ2VbaV0sICZwdnMtPndhbF91c2FnZVtpXSk7CisKKwkJLyogQWxz byByZWxlYXNlIGFsbCBwcmV2aW91c2x5IHJlc2VydmVkIHBhcmFsbGVsIGF1dG92YWN1dW0gd29y a2VycyAqLworCQlpZiAoQW1BdXRvVmFjdXVtV29ya2VyUHJvY2VzcygpICYmIHB2cy0+cGN4dC0+ bndvcmtlcnNfbGF1bmNoZWQgPiAwKQorCQkJQXV0b1ZhY3V1bVJlbGVhc2VQYXJhbGxlbFdvcmtl cnMocHZzLT5wY3h0LT5ud29ya2Vyc19sYXVuY2hlZCk7CiAJfQogCiAJLyoKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5jIGIvc3JjL2JhY2tlbmQvcG9zdG1h c3Rlci9hdXRvdmFjdXVtLmMKaW5kZXggNTA4NGFmN2RmYjYuLjk0OTlkNGYwYzEyIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2F1dG92YWN1dW0uYworKysgYi9zcmMvYmFja2Vu ZC9wb3N0bWFzdGVyL2F1dG92YWN1dW0uYwpAQCAtMTUxLDYgKzE1MSwxMiBAQCBpbnQJCQlMb2df YXV0b2FuYWx5emVfbWluX2R1cmF0aW9uID0gNjAwMDAwOwogc3RhdGljIGRvdWJsZSBhdl9zdG9y YWdlX3BhcmFtX2Nvc3RfZGVsYXkgPSAtMTsKIHN0YXRpYyBpbnQJYXZfc3RvcmFnZV9wYXJhbV9j b3N0X2xpbWl0ID0gLTE7CiAKKy8qCisgKiBWYXJpYWJsZSB0byBrZWVwIG51bWJlciBvZiBjdXJy ZW50bHkgcmVzZXJ2ZWQgcGFyYWxsZWwgYXV0b3ZhY3V1bSB3b3JrZXJzLgorICogSXQgaXMgb25s eSByZWxldmFudCBmb3IgcGFyYWxsZWwgYXV0b3ZhY3V1bSBsZWFkZXIgcHJvY2Vzcy4KKyAqLwor c3RhdGljIGludAlhdl9ud29ya2Vyc19yZXNlcnZlZCA9IDA7CisKIC8qIEZsYWdzIHNldCBieSBz aWduYWwgaGFuZGxlcnMgKi8KIHN0YXRpYyB2b2xhdGlsZSBzaWdfYXRvbWljX3QgZ290X1NJR1VT UjIgPSBmYWxzZTsKIApAQCAtMjg1LDYgKzI5MSw4IEBAIHR5cGVkZWYgc3RydWN0IEF1dG9WYWN1 dW1Xb3JrSXRlbQogICogYXZfd29ya0l0ZW1zCQl3b3JrIGl0ZW0gYXJyYXkKICAqIGF2X253b3Jr ZXJzRm9yQmFsYW5jZSB0aGUgbnVtYmVyIG9mIGF1dG92YWN1dW0gd29ya2VycyB0byB1c2Ugd2hl bgogICogCQkJCQljYWxjdWxhdGluZyB0aGUgcGVyIHdvcmtlciBjb3N0IGxpbWl0CisgKiBhdl9m cmVlUGFyYWxsZWxXb3JrZXJzIHRoZSBudW1iZXIgb2YgZnJlZSBwYXJhbGxlbCBhdXRvdmFjdXVt IHdvcmtlcnMKKyAqIGF2X21heFBhcmFsbGVsV29ya2VycyB0aGUgbWF4aW11bSBudW1iZXIgb2Yg cGFyYWxsZWwgYXV0b3ZhY3V1bSB3b3JrZXJzCiAgKgogICogVGhpcyBzdHJ1Y3QgaXMgcHJvdGVj dGVkIGJ5IEF1dG92YWN1dW1Mb2NrLCBleGNlcHQgZm9yIGF2X3NpZ25hbCBhbmQgcGFydHMKICAq IG9mIHRoZSB3b3JrZXIgbGlzdCAoc2VlIGFib3ZlKS4KQEAgLTI5OSw2ICszMDcsOCBAQCB0eXBl ZGVmIHN0cnVjdAogCVdvcmtlckluZm8JYXZfc3RhcnRpbmdXb3JrZXI7CiAJQXV0b1ZhY3V1bVdv cmtJdGVtIGF2X3dvcmtJdGVtc1tOVU1fV09SS0lURU1TXTsKIAlwZ19hdG9taWNfdWludDMyIGF2 X253b3JrZXJzRm9yQmFsYW5jZTsKKwl1aW50MzIJCWF2X2ZyZWVQYXJhbGxlbFdvcmtlcnM7CisJ dWludDMyCQlhdl9tYXhQYXJhbGxlbFdvcmtlcnM7CiB9IEF1dG9WYWN1dW1TaG1lbVN0cnVjdDsK IAogc3RhdGljIEF1dG9WYWN1dW1TaG1lbVN0cnVjdCAqQXV0b1ZhY3V1bVNobWVtOwpAQCAtMzY0 LDYgKzM3NCw3IEBAIHN0YXRpYyB2b2lkIGF1dG92YWNfcmVwb3J0X3dvcmtpdGVtKEF1dG9WYWN1 dW1Xb3JrSXRlbSAqd29ya2l0ZW0sCiBzdGF0aWMgdm9pZCBhdmxfc2lndXNyMl9oYW5kbGVyKFNJ R05BTF9BUkdTKTsKIHN0YXRpYyBib29sIGF2X3dvcmtlcl9hdmFpbGFibGUodm9pZCk7CiBzdGF0 aWMgdm9pZCBjaGVja19hdl93b3JrZXJfZ3Vjcyh2b2lkKTsKK3N0YXRpYyB2b2lkIGFkanVzdF9m cmVlX3BhcmFsbGVsX3dvcmtlcnMoaW50IHByZXZfbWF4X3BhcmFsbGVsX3dvcmtlcnMpOwogCiAK IApAQCAtNzYzLDYgKzc3NCw4IEBAIFByb2Nlc3NBdXRvVmFjTGF1bmNoZXJJbnRlcnJ1cHRzKHZv aWQpCiAJaWYgKENvbmZpZ1JlbG9hZFBlbmRpbmcpCiAJewogCQlpbnQJCQlhdXRvdmFjdXVtX21h eF93b3JrZXJzX3ByZXYgPSBhdXRvdmFjdXVtX21heF93b3JrZXJzOworCQlpbnQJCQlhdXRvdmFj dXVtX21heF9wYXJhbGxlbF93b3JrZXJzX3ByZXYgPQorCQkJYXV0b3ZhY3V1bV9tYXhfcGFyYWxs ZWxfd29ya2VyczsKIAogCQlDb25maWdSZWxvYWRQZW5kaW5nID0gZmFsc2U7CiAJCVByb2Nlc3ND b25maWdGaWxlKFBHQ19TSUdIVVApOwpAQCAtNzc5LDYgKzc5MiwxNSBAQCBQcm9jZXNzQXV0b1Zh Y0xhdW5jaGVySW50ZXJydXB0cyh2b2lkKQogCQlpZiAoYXV0b3ZhY3V1bV9tYXhfd29ya2Vyc19w cmV2ICE9IGF1dG92YWN1dW1fbWF4X3dvcmtlcnMpCiAJCQljaGVja19hdl93b3JrZXJfZ3Vjcygp OwogCisJCS8qCisJCSAqIElmIGF1dG92YWN1dW1fbWF4X3BhcmFsbGVsX3dvcmtlcnMgY2hhbmdl ZCwgd2UgbXVzdCB0YWtlIGNhcmUgb2YKKwkJICogdGhlIGNvcnJlY3QgdmFsdWUgb2YgYXZhaWxh YmxlIHBhcmFsbGVsIGF1dG92YWN1dW0gd29ya2VycyBpbgorCQkgKiBzaG1lbS4KKwkJICovCisJ CWlmIChhdXRvdmFjdXVtX21heF9wYXJhbGxlbF93b3JrZXJzX3ByZXYgIT0KKwkJCWF1dG92YWN1 dW1fbWF4X3BhcmFsbGVsX3dvcmtlcnMpCisJCQlhZGp1c3RfZnJlZV9wYXJhbGxlbF93b3JrZXJz KGF1dG92YWN1dW1fbWF4X3BhcmFsbGVsX3dvcmtlcnNfcHJldik7CisKIAkJLyogcmVidWlsZCB0 aGUgbGlzdCBpbiBjYXNlIHRoZSBuYXB0aW1lIGNoYW5nZWQgKi8KIAkJcmVidWlsZF9kYXRhYmFz ZV9saXN0KEludmFsaWRPaWQpOwogCX0KQEAgLTEzODMsNiArMTQwNSwxNyBAQCBhdmxfc2lndXNy Ml9oYW5kbGVyKFNJR05BTF9BUkdTKQogICoJCQkJCSAgQVVUT1ZBQ1VVTSBXT1JLRVIgQ09ERQog ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqLwogCisvKgorICogSWYgcGFyYWxsZWwgYXV0b3ZhY3V1bSBsZWFkZXIgaXMg ZmluaXNoaW5nIGR1ZSB0byBGQVRBTCBlcnJvciwgbWFrZSBzdXJlCisgKiB0aGF0IGFsbCByZXNl cnZlZCB3b3JrZXJzIGFyZSByZWxlYXNlZC4KKyAqLworc3RhdGljIHZvaWQKK2F1dG92YWN1dW1f d29ya2VyX2JlZm9yZV9zaG1lbV9leGl0KGludCBjb2RlLCBEYXR1bSBhcmcpCit7CisJaWYgKGNv ZGUgIT0gMCkKKwkJQXV0b1ZhY3V1bVJlbGVhc2VBbGxQYXJhbGxlbFdvcmtlcnMoKTsKK30KKwog LyoKICAqIE1haW4gZW50cnkgcG9pbnQgZm9yIGF1dG92YWN1dW0gd29ya2VyIHByb2Nlc3Nlcy4K ICAqLwpAQCAtMTQyOSw2ICsxNDYyLDggQEAgQXV0b1ZhY1dvcmtlck1haW4oY29uc3Qgdm9pZCAq c3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikKIAlwcXNpZ25hbChTSUdGUEUs IEZsb2F0RXhjZXB0aW9uSGFuZGxlcik7CiAJcHFzaWduYWwoU0lHQ0hMRCwgU0lHX0RGTCk7CiAK KwliZWZvcmVfc2htZW1fZXhpdChhdXRvdmFjdXVtX3dvcmtlcl9iZWZvcmVfc2htZW1fZXhpdCwg MCk7CisKIAkvKgogCSAqIENyZWF0ZSBhIHBlci1iYWNrZW5kIFBHUFJPQyBzdHJ1Y3QgaW4gc2hh cmVkIG1lbW9yeS4gIFdlIG11c3QgZG8gdGhpcwogCSAqIGJlZm9yZSB3ZSBjYW4gdXNlIExXTG9j a3Mgb3IgYWNjZXNzIGFueSBzaGFyZWQgbWVtb3J5LgpAQCAtMjQ4MCw2ICsyNTE1LDEyIEBAIGRv X2F1dG92YWN1dW0odm9pZCkKIAkJfQogCQlQR19DQVRDSCgpOwogCQl7CisJCQkvKgorCQkJICog UGFyYWxsZWwgYXV0b3ZhY3V1bSBjYW4gcmVzZXJ2ZSBwYXJhbGxlbCB3b3JrZXJzLiBNYWtlIHN1 cmUgdGhhdAorCQkJICogYWxsIHJlc2VydmVkIHdvcmtlcnMgYXJlIHJlbGVhc2VkLgorCQkJICov CisJCQlBdXRvVmFjdXVtUmVsZWFzZUFsbFBhcmFsbGVsV29ya2VycygpOworCiAJCQkvKgogCQkJ ICogQWJvcnQgdGhlIHRyYW5zYWN0aW9uLCBzdGFydCBhIG5ldyBvbmUsIGFuZCBwcm9jZWVkIHdp dGggdGhlCiAJCQkgKiBuZXh0IHRhYmxlIGluIG91ciBsaXN0LgpAQCAtMjg3Nyw4ICsyOTE4LDEy IEBAIHRhYmxlX3JlY2hlY2tfYXV0b3ZhYyhPaWQgcmVsaWQsIEhUQUIgKnRhYmxlX3RvYXN0X21h cCwKIAkJICovCiAJCXRhYi0+YXRfcGFyYW1zLmluZGV4X2NsZWFudXAgPSBWQUNPUFRWQUxVRV9V TlNQRUNJRklFRDsKIAkJdGFiLT5hdF9wYXJhbXMudHJ1bmNhdGUgPSBWQUNPUFRWQUxVRV9VTlNQ RUNJRklFRDsKLQkJLyogQXMgb2Ygbm93LCB3ZSBkb24ndCBzdXBwb3J0IHBhcmFsbGVsIHZhY3V1 bSBmb3IgYXV0b3ZhY3V1bSAqLwotCQl0YWItPmF0X3BhcmFtcy5ud29ya2VycyA9IC0xOworCisJ CS8qIERlY2lkZSB3aGV0aGVyIHdlIG5lZWQgdG8gcHJvY2VzcyBpbmRleGVzIG9mIHRhYmxlIGlu IHBhcmFsbGVsLiAqLworCQl0YWItPmF0X3BhcmFtcy5ud29ya2VycyA9IGF2b3B0cworCQkJPyBh dm9wdHMtPmF1dG92YWN1dW1fcGFyYWxsZWxfd29ya2VycworCQkJOiAtMTsKKwogCQl0YWItPmF0 X3BhcmFtcy5mcmVlemVfbWluX2FnZSA9IGZyZWV6ZV9taW5fYWdlOwogCQl0YWItPmF0X3BhcmFt cy5mcmVlemVfdGFibGVfYWdlID0gZnJlZXplX3RhYmxlX2FnZTsKIAkJdGFiLT5hdF9wYXJhbXMu bXVsdGl4YWN0X2ZyZWV6ZV9taW5fYWdlID0gbXVsdGl4YWN0X2ZyZWV6ZV9taW5fYWdlOwpAQCAt MzM2MCw2ICszNDA1LDg1IEBAIEF1dG9WYWN1dW1SZXF1ZXN0V29yayhBdXRvVmFjdXVtV29ya0l0 ZW1UeXBlIHR5cGUsIE9pZCByZWxhdGlvbklkLAogCXJldHVybiByZXN1bHQ7CiB9CiAKKy8qCisg KiBJbiBvcmRlciB0byBtZWV0IHRoZSAnYXV0b3ZhY3V1bV9tYXhfcGFyYWxsZWxfd29ya2Vycycg bGltaXQsIGxlYWRlcgorICogYXV0b3ZhY3V1bSBwcm9jZXNzIG11c3QgY2FsbCB0aGlzIGZ1bmN0 aW9uLiBJdCByZXR1cm5zIHRoZSBudW1iZXIgb2YKKyAqIHBhcmFsbGVsIHdvcmtlcnMgdGhhdCBh Y3R1YWxseSBjYW4gYmUgbGF1bmNoZWQgYW5kIHJlc2VydmVzIHRoZXNlIHdvcmtlcnMKKyAqIChp ZiBhbnkpIGluIGdsb2JhbCBhdXRvdmFjdXVtIHN0YXRlLgorICoKKyAqIE5PVEU6IFdlIHdpbGwg dHJ5IHRvIHByb3ZpZGUgYXMgbWFueSB3b3JrZXJzIGFzIHJlcXVlc3RlZCwgZXZlbiBpZiBjYWxs ZXIKKyAqIHdpbGwgb2NjdXB5IGFsbCBhdmFpbGFibGUgd29ya2Vycy4KKyAqLworaW50CitBdXRv VmFjdXVtUmVzZXJ2ZVBhcmFsbGVsV29ya2VycyhpbnQgbndvcmtlcnMpCit7CisJaW50CQkJbnJl c2VydmVkOworCisJLyogT25seSBsZWFkZXIgd29ya2VyIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24u ICovCisJQXNzZXJ0KEFtQXV0b1ZhY3V1bVdvcmtlclByb2Nlc3MoKSAmJiAhSXNQYXJhbGxlbFdv cmtlcigpKTsKKworCS8qCisJICogV2UgY2FuIG9ubHkgcmVzZXJ2ZSB3b3JrZXJzIGF0IHRoZSBi ZWdpbm5pbmcgb2YgcGFyYWxsZWwgaW5kZXgKKwkgKiBwcm9jZXNzaW5nLCBzbyB3ZSBtdXN0IG5v dCBoYXZlIGFueSByZXNlcnZlZCB3b3JrZXJzIHJpZ2h0IG5vdy4KKwkgKi8KKwlBc3NlcnQoYXZf bndvcmtlcnNfcmVzZXJ2ZWQgPT0gMCk7CisKKwlMV0xvY2tBY3F1aXJlKEF1dG92YWN1dW1Mb2Nr LCBMV19FWENMVVNJVkUpOworCisJLyogUHJvdmlkZSBhcyBtYW55IHdvcmtlcnMgYXMgd2UgY2Fu LiAqLworCW5yZXNlcnZlZCA9IE1pbihBdXRvVmFjdXVtU2htZW0tPmF2X2ZyZWVQYXJhbGxlbFdv cmtlcnMsIG53b3JrZXJzKTsKKwlBdXRvVmFjdXVtU2htZW0tPmF2X2ZyZWVQYXJhbGxlbFdvcmtl cnMgLT0gbndvcmtlcnM7CisKKwkvKiBSZW1lbWJlciBob3cgbWFueSB3b3JrZXJzIHdlIGhhdmUg cmVzZXJ2ZWQuICovCisJYXZfbndvcmtlcnNfcmVzZXJ2ZWQgKz0gbndvcmtlcnM7CisKKwlMV0xv Y2tSZWxlYXNlKEF1dG92YWN1dW1Mb2NrKTsKKwlyZXR1cm4gbnJlc2VydmVkOworfQorCisvKgor ICogTGVhZGVyIGF1dG92YWN1dW0gcHJvY2VzcyBtdXN0IGNhbGwgdGhpcyBmdW5jdGlvbiBpbiBv cmRlciB0byB1cGRhdGUgZ2xvYmFsCisgKiBhdXRvdmFjdXVtIHN0YXRlLCBzbyBvdGhlciBsZWFk ZXJzIHdpbGwgYmUgYWJsZSB0byB1c2UgdGhlc2UgcGFyYWxsZWwKKyAqIHdvcmtlcnMuCisgKgor ICogJ253b3JrZXJzJyAtIGhvdyBtYW55IHdvcmtlcnMgY2FsbGVyIHdhbnRzIHRvIHJlbGVhc2Uu CisgKi8KK3ZvaWQKK0F1dG9WYWN1dW1SZWxlYXNlUGFyYWxsZWxXb3JrZXJzKGludCBud29ya2Vy cykKK3sKKwkvKiBPbmx5IGxlYWRlciB3b3JrZXIgY2FuIGNhbGwgdGhpcyBmdW5jdGlvbi4gKi8K KwlBc3NlcnQoQW1BdXRvVmFjdXVtV29ya2VyUHJvY2VzcygpICYmICFJc1BhcmFsbGVsV29ya2Vy KCkpOworCisJTFdMb2NrQWNxdWlyZShBdXRvdmFjdXVtTG9jaywgTFdfRVhDTFVTSVZFKTsKKwor CS8qCisJICogSWYgdGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcmFsbGVsIHdvcmtlcnMgd2FzIHJl ZHVjZWQgZHVyaW5nIGV4ZWN1dGlvbiwKKwkgKiB3ZSBtdXN0IGNhcCBhdmFpbGFibGUgd29ya2Vy cyBudW1iZXIgYnkgaXRzIG5ldyB2YWx1ZS4KKwkgKi8KKwlBdXRvVmFjdXVtU2htZW0tPmF2X2Zy ZWVQYXJhbGxlbFdvcmtlcnMgPQorCQlNaW4oQXV0b1ZhY3V1bVNobWVtLT5hdl9mcmVlUGFyYWxs ZWxXb3JrZXJzICsgbndvcmtlcnMsCisJCQlBdXRvVmFjdXVtU2htZW0tPmF2X21heFBhcmFsbGVs V29ya2Vycyk7CisKKwkvKiBEb24ndCBoYXZlIHRvIHJlbWVtYmVyIHRoZXNlIHdvcmtlcnMgYW55 bW9yZS4gKi8KKwlhdl9ud29ya2Vyc19yZXNlcnZlZCAtPSBud29ya2VyczsKKworCUxXTG9ja1Jl bGVhc2UoQXV0b3ZhY3V1bUxvY2spOworfQorCisvKgorICogU2FtZSBhcyBhYm92ZSwgYnV0IHJl bGVhc2UgKmFsbCogcGFyYWxsZWwgd29ya2VycywgdGhhdCB3ZXJlIHJlc2VydmVkIGJ5CisgKiBj dXJyZW50IGxlYWRlciBhdXRvdmFjdXVtIHByb2Nlc3MuCisgKi8KK3ZvaWQKK0F1dG9WYWN1dW1S ZWxlYXNlQWxsUGFyYWxsZWxXb3JrZXJzKHZvaWQpCit7CisJLyogT25seSBsZWFkZXIgd29ya2Vy IGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24uICovCisJQXNzZXJ0KEFtQXV0b1ZhY3V1bVdvcmtlclBy b2Nlc3MoKSAmJiAhSXNQYXJhbGxlbFdvcmtlcigpKTsKKworCWlmIChhdl9ud29ya2Vyc19yZXNl cnZlZCA+IDApCisJCUF1dG9WYWN1dW1SZWxlYXNlUGFyYWxsZWxXb3JrZXJzKGF2X253b3JrZXJz X3Jlc2VydmVkKTsKK30KKwogLyoKICAqIGF1dG92YWNfaW5pdAogICoJCVRoaXMgaXMgY2FsbGVk IGF0IHBvc3RtYXN0ZXIgaW5pdGlhbGl6YXRpb24uCkBAIC0zNDIwLDYgKzM1NDQsMTAgQEAgQXV0 b1ZhY3V1bVNobWVtSW5pdCh2b2lkKQogCQlBc3NlcnQoIWZvdW5kKTsKIAogCQlBdXRvVmFjdXVt U2htZW0tPmF2X2xhdW5jaGVycGlkID0gMDsKKwkJQXV0b1ZhY3V1bVNobWVtLT5hdl9tYXhQYXJh bGxlbFdvcmtlcnMgPQorCQkJTWluKGF1dG92YWN1dW1fbWF4X3BhcmFsbGVsX3dvcmtlcnMsIG1h eF93b3JrZXJfcHJvY2Vzc2VzKTsKKwkJQXV0b1ZhY3V1bVNobWVtLT5hdl9mcmVlUGFyYWxsZWxX b3JrZXJzID0KKwkJCUF1dG9WYWN1dW1TaG1lbS0+YXZfbWF4UGFyYWxsZWxXb3JrZXJzOwogCQlk Y2xpc3RfaW5pdCgmQXV0b1ZhY3V1bVNobWVtLT5hdl9mcmVlV29ya2Vycyk7CiAJCWRsaXN0X2lu aXQoJkF1dG9WYWN1dW1TaG1lbS0+YXZfcnVubmluZ1dvcmtlcnMpOwogCQlBdXRvVmFjdXVtU2ht ZW0tPmF2X3N0YXJ0aW5nV29ya2VyID0gTlVMTDsKQEAgLTM1MDEsMyArMzYyOSwzNCBAQCBjaGVj a19hdl93b3JrZXJfZ3Vjcyh2b2lkKQogCQkJCSBlcnJkZXRhaWwoIlRoZSBzZXJ2ZXIgd2lsbCBv bmx5IHN0YXJ0IHVwIHRvIFwiYXV0b3ZhY3V1bV93b3JrZXJfc2xvdHNcIiAoJWQpIGF1dG92YWN1 dW0gd29ya2VycyBhdCBhIGdpdmVuIHRpbWUuIiwKIAkJCQkJCSAgIGF1dG92YWN1dW1fd29ya2Vy X3Nsb3RzKSkpOwogfQorCisvKgorICogTWFrZSBzdXJlIHRoYXQgbnVtYmVyIG9mIGZyZWUgcGFy YWxsZWwgd29ya2VycyBjb3JyZXNwb25kcyB0byB0aGUKKyAqIGF1dG92YWN1dW1fbWF4X3BhcmFs bGVsX3dvcmtlcnMgcGFyYW1ldGVyIChhZnRlciBpdCB3YXMgY2hhbmdlZCkuCisgKi8KK3N0YXRp YyB2b2lkCithZGp1c3RfZnJlZV9wYXJhbGxlbF93b3JrZXJzKGludCBwcmV2X21heF9wYXJhbGxl bF93b3JrZXJzKQoreworCUxXTG9ja0FjcXVpcmUoQXV0b3ZhY3V1bUxvY2ssIExXX0VYQ0xVU0lW RSk7CisKKwkvKgorCSAqIENhcCB0aGUgbnVtYmVyIG9mIGZyZWUgd29ya2VycyBieSBuZXcgcGFy YW1ldGVyJ3MgdmFsdWUsIGlmIG5lZWRlZC4KKwkgKi8KKwlBdXRvVmFjdXVtU2htZW0tPmF2X2Zy ZWVQYXJhbGxlbFdvcmtlcnMgPQorCQlNaW4oQXV0b1ZhY3V1bVNobWVtLT5hdl9mcmVlUGFyYWxs ZWxXb3JrZXJzLAorCQkJYXV0b3ZhY3V1bV9tYXhfcGFyYWxsZWxfd29ya2Vycyk7CisKKwlpZiAo YXV0b3ZhY3V1bV9tYXhfcGFyYWxsZWxfd29ya2VycyA+IHByZXZfbWF4X3BhcmFsbGVsX3dvcmtl cnMpCisJeworCQkvKgorCQkgKiBJZiB1c2VyIHdhbnRzIHRvIGluY3JlYXNlIG51bWJlciBvZiBw YXJhbGxlbCBhdXRvdmFjdXVtIHdvcmtlcnMsIHdlCisJCSAqIG11c3QgaW5jcmVhc2UgbnVtYmVy IG9mIGZyZWUgd29ya2Vycy4KKwkJICovCisJCUF1dG9WYWN1dW1TaG1lbS0+YXZfZnJlZVBhcmFs bGVsV29ya2VycyArPQorCQkJKGF1dG92YWN1dW1fbWF4X3BhcmFsbGVsX3dvcmtlcnMgLSBwcmV2 X21heF9wYXJhbGxlbF93b3JrZXJzKTsKKwl9CisKKwlBdXRvVmFjdXVtU2htZW0tPmF2X21heFBh cmFsbGVsV29ya2VycyA9IGF1dG92YWN1dW1fbWF4X3BhcmFsbGVsX3dvcmtlcnM7CisKKwlMV0xv Y2tSZWxlYXNlKEF1dG92YWN1dW1Mb2NrKTsKK30KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0 aWxzL2luaXQvZ2xvYmFscy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9nbG9iYWxzLmMKaW5k ZXggZDMxY2I0NWEwNTguLmZkMDBkNmY4OWRjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGls cy9pbml0L2dsb2JhbHMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9pbml0L2dsb2JhbHMuYwpA QCAtMTQzLDYgKzE0Myw3IEBAIGludAkJCU5CdWZmZXJzID0gMTYzODQ7CiBpbnQJCQlNYXhDb25u ZWN0aW9ucyA9IDEwMDsKIGludAkJCW1heF93b3JrZXJfcHJvY2Vzc2VzID0gODsKIGludAkJCW1h eF9wYXJhbGxlbF93b3JrZXJzID0gODsKK2ludAkJCWF1dG92YWN1dW1fbWF4X3BhcmFsbGVsX3dv cmtlcnMgPSAwOwogaW50CQkJTWF4QmFja2VuZHMgPSAwOwogCiAvKiBHVUMgcGFyYW1ldGVycyBm b3IgdmFjdXVtICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Yy5jIGIv c3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWMuYwppbmRleCBhODIyODZjYzk4YS4uZTdjNTk4MmRh MmEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMKKysrIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvbWlzYy9ndWMuYwpAQCAtMzM4Nyw5ICszMzg3LDEzIEBAIHNldF9jb25maWdf d2l0aF9oYW5kbGUoY29uc3QgY2hhciAqbmFtZSwgY29uZmlnX2hhbmRsZSAqaGFuZGxlLAogCSAq CiAJICogQWxzbyBhbGxvdyBub3JtYWwgc2V0dGluZyBpZiB0aGUgR1VDIGlzIG1hcmtlZCBHVUNf QUxMT1dfSU5fUEFSQUxMRUwuCiAJICoKLQkgKiBPdGhlciBjaGFuZ2VzIG1pZ2h0IG5lZWQgdG8g YWZmZWN0IG90aGVyIHdvcmtlcnMsIHNvIGZvcmJpZCB0aGVtLgorCSAqIE90aGVyIGNoYW5nZXMg bWlnaHQgbmVlZCB0byBhZmZlY3Qgb3RoZXIgd29ya2Vycywgc28gZm9yYmlkIHRoZW0uIE5vdGUs CisJICogdGhhdCBwYXJhbGxlbCBhdXRvdmFjdXVtIGxlYWRlciBpcyBhbiBleGNlcHRpb24sIGJl Y2F1c2Ugb25seSBjb3N0LWJhc2VkCisJICogZGVsYXlzIG5lZWQgdG8gYmUgYWZmZWN0ZWQgYWxz byB0byBwYXJhbGxlbCB2YWN1dW0gd29ya2VycywgYW5kIHdlIHdpbGwKKwkgKiBoYW5kbGUgaXQg ZWxzZXdoZXJlIGlmIGFwcHJvcHJpYXRlLgogCSAqLwotCWlmIChJc0luUGFyYWxsZWxNb2RlKCkg JiYgY2hhbmdlVmFsICYmIGFjdGlvbiAhPSBHVUNfQUNUSU9OX1NBVkUgJiYKKwlpZiAoSXNJblBh cmFsbGVsTW9kZSgpICYmICFBbUF1dG9WYWN1dW1Xb3JrZXJQcm9jZXNzKCkgJiYgY2hhbmdlVmFs ICYmCisJCWFjdGlvbiAhPSBHVUNfQUNUSU9OX1NBVkUgJiYKIAkJKHJlY29yZC0+ZmxhZ3MgJiBH VUNfQUxMT1dfSU5fUEFSQUxMRUwpID09IDApCiAJewogCQllcmVwb3J0KGVsZXZlbCwKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3BhcmFtZXRlcnMuZGF0IGIvc3JjL2Jh Y2tlbmQvdXRpbHMvbWlzYy9ndWNfcGFyYW1ldGVycy5kYXQKaW5kZXggZDZmYzgzMzM4NTAuLjVm YmRhNjZiM2Q0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJhbWV0 ZXJzLmRhdAorKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJhbWV0ZXJzLmRhdApA QCAtMjEyOSw2ICsyMTI5LDE1IEBACiAgIG1heCA9PiAnTUFYX0JBQ0tFTkRTJywKIH0sCiAKK3sg bmFtZSA9PiAnYXV0b3ZhY3V1bV9tYXhfcGFyYWxsZWxfd29ya2VycycsIHR5cGUgPT4gJ2ludCcs IGNvbnRleHQgPT4gJ1BHQ19TSUdIVVAnLCBncm91cCA9PiAnVkFDVVVNX0FVVE9WQUNVVU0nLAor ICBzaG9ydF9kZXNjID0+ICdNYXhpbXVtIG51bWJlciBvZiBwYXJhbGxlbCBhdXRvdmFjdXVtIHdv cmtlcnMsIHRoYXQgY2FuIGJlIHRha2VuIGZyb20gYmd3b3JrZXJzIHBvb2wuJywKKyAgbG9uZ19k ZXNjID0+ICdUaGlzIHBhcmFtZXRlciBpcyBjYXBwZWQgYnkgIm1heF93b3JrZXJfcHJvY2Vzc2Vz IiAobm90IGJ5ICJhdXRvdmFjdXVtX21heF93b3JrZXJzIiEpLicsCisgIHZhcmlhYmxlID0+ICdh dXRvdmFjdXVtX21heF9wYXJhbGxlbF93b3JrZXJzJywKKyAgYm9vdF92YWwgPT4gJzAnLAorICBt aW4gPT4gJzAnLAorICBtYXggPT4gJ01BWF9CQUNLRU5EUycsCit9LAorCiB7IG5hbWUgPT4gJ21h eF9wYXJhbGxlbF9tYWludGVuYW5jZV93b3JrZXJzJywgdHlwZSA9PiAnaW50JywgY29udGV4dCA9 PiAnUEdDX1VTRVJTRVQnLCBncm91cCA9PiAnUkVTT1VSQ0VTX1dPUktFUl9QUk9DRVNTRVMnLAog ICBzaG9ydF9kZXNjID0+ICdTZXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJhbGxlbCBwcm9j ZXNzZXMgcGVyIG1haW50ZW5hbmNlIG9wZXJhdGlvbi4nLAogICB2YXJpYWJsZSA9PiAnbWF4X3Bh cmFsbGVsX21haW50ZW5hbmNlX3dvcmtlcnMnLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRp bHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9w b3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCmluZGV4IGY2MmI2MTk2N2VmLi5iM2U0NzFlZDMzZSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCisr KyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZQpAQCAtNjkx LDYgKzY5MSw3IEBACiBhdXRvdmFjdXVtX3dvcmtlcl9zbG90cyA9IDE2CSMgYXV0b3ZhY3V1bSB3 b3JrZXIgc2xvdHMgdG8gYWxsb2NhdGUKIAkJCQkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQp CiAjYXV0b3ZhY3V1bV9tYXhfd29ya2VycyA9IDMJCSMgbWF4IG51bWJlciBvZiBhdXRvdmFjdXVt IHN1YnByb2Nlc3NlcworI2F1dG92YWN1dW1fbWF4X3BhcmFsbGVsX3dvcmtlcnMgPSAwCSMgZGlz YWJsZWQgYnkgZGVmYXVsdCBhbmQgbGltaXRlZCBieSBtYXhfd29ya2VyX3Byb2Nlc3NlcwogI2F1 dG92YWN1dW1fbmFwdGltZSA9IDFtaW4JCSMgdGltZSBiZXR3ZWVuIGF1dG92YWN1dW0gcnVucwog I2F1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9sZCA9IDUwCSMgbWluIG51bWJlciBvZiByb3cgdXBk YXRlcyBiZWZvcmUKIAkJCQkJIyB2YWN1dW0KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWIt Y29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYwppbmRleCAzNmVh NmE0ZDU1Ny4uZDg5ZGE2MDY5MjAgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxl dGUuaW4uYworKysgYi9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMKQEAgLTE0MTIsNiAr MTQxMiw3IEBAIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCB0YWJsZV9zdG9yYWdlX3BhcmFtZXRl cnNbXSA9IHsKIAkiYXV0b3ZhY3V1bV9tdWx0aXhhY3RfZnJlZXplX21heF9hZ2UiLAogCSJhdXRv dmFjdXVtX211bHRpeGFjdF9mcmVlemVfbWluX2FnZSIsCiAJImF1dG92YWN1dW1fbXVsdGl4YWN0 X2ZyZWV6ZV90YWJsZV9hZ2UiLAorCSJhdXRvdmFjdXVtX3BhcmFsbGVsX3dvcmtlcnMiLAogCSJh dXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2RlbGF5IiwKIAkiYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9s aW1pdCIsCiAJImF1dG92YWN1dW1fdmFjdXVtX2luc2VydF9zY2FsZV9mYWN0b3IiLApkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvbWlzY2FkbWluLmggYi9zcmMvaW5jbHVkZS9taXNjYWRtaW4uaApp bmRleCAxYmVmOTg0NzFjMy4uODU5MjY0MTU2NTcgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL21p c2NhZG1pbi5oCisrKyBiL3NyYy9pbmNsdWRlL21pc2NhZG1pbi5oCkBAIC0xNzcsNiArMTc3LDcg QEAgZXh0ZXJuIFBHRExMSU1QT1JUIGludCBNYXhCYWNrZW5kczsKIGV4dGVybiBQR0RMTElNUE9S VCBpbnQgTWF4Q29ubmVjdGlvbnM7CiBleHRlcm4gUEdETExJTVBPUlQgaW50IG1heF93b3JrZXJf cHJvY2Vzc2VzOwogZXh0ZXJuIFBHRExMSU1QT1JUIGludCBtYXhfcGFyYWxsZWxfd29ya2VyczsK K2V4dGVybiBQR0RMTElNUE9SVCBpbnQgYXV0b3ZhY3V1bV9tYXhfcGFyYWxsZWxfd29ya2VyczsK IAogZXh0ZXJuIFBHRExMSU1QT1JUIGludCBjb21taXRfdGltZXN0YW1wX2J1ZmZlcnM7CiBleHRl cm4gUEdETExJTVBPUlQgaW50IG11bHRpeGFjdF9tZW1iZXJfYnVmZmVyczsKZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5oIGIvc3JjL2luY2x1ZGUvcG9zdG1h c3Rlci9hdXRvdmFjdXVtLmgKaW5kZXggMDIzYWM2ZDVmYTguLmY0YjkzYjQ0NTMxIDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL2F1dG92YWN1dW0uaAorKysgYi9zcmMvaW5jbHVk ZS9wb3N0bWFzdGVyL2F1dG92YWN1dW0uaApAQCAtNjUsNiArNjUsMTEgQEAgcGdfbm9yZXR1cm4g ZXh0ZXJuIHZvaWQgQXV0b1ZhY1dvcmtlck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1cF9kYXRhLCBz aXplX3Qgc3RhcnQKIGV4dGVybiBib29sIEF1dG9WYWN1dW1SZXF1ZXN0V29yayhBdXRvVmFjdXVt V29ya0l0ZW1UeXBlIHR5cGUsCiAJCQkJCQkJCSAgT2lkIHJlbGF0aW9uSWQsIEJsb2NrTnVtYmVy IGJsa25vKTsKIAorLyogcGFyYWxsZWwgYXV0b3ZhY3V1bSBzdHVmZiAqLworZXh0ZXJuIGludAlB dXRvVmFjdXVtUmVzZXJ2ZVBhcmFsbGVsV29ya2VycyhpbnQgbndvcmtlcnMpOworZXh0ZXJuIHZv aWQgQXV0b1ZhY3V1bVJlbGVhc2VQYXJhbGxlbFdvcmtlcnMoaW50IG53b3JrZXJzKTsKK2V4dGVy biB2b2lkIEF1dG9WYWN1dW1SZWxlYXNlQWxsUGFyYWxsZWxXb3JrZXJzKHZvaWQpOworCiAvKiBz aGFyZWQgbWVtb3J5IHN0dWZmICovCiBleHRlcm4gU2l6ZSBBdXRvVmFjdXVtU2htZW1TaXplKHZv aWQpOwogZXh0ZXJuIHZvaWQgQXV0b1ZhY3V1bVNobWVtSW5pdCh2b2lkKTsKZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL3V0aWxzL3JlbC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvcmVsLmgKaW5kZXgg ODAyODYwNzZhMTEuLmU4NzlmZGNmYzY5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9y ZWwuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9yZWwuaApAQCAtMzExLDYgKzMxMSwxMyBAQCB0 eXBlZGVmIHN0cnVjdCBGb3JlaWduS2V5Q2FjaGVJbmZvCiB0eXBlZGVmIHN0cnVjdCBBdXRvVmFj T3B0cwogewogCWJvb2wJCWVuYWJsZWQ7CisKKwkvKgorCSAqIE1heCBudW1iZXIgb2YgcGFyYWxs ZWwgYXV0b3ZhY3V1bSB3b3JrZXJzLiBJZiB2YWx1ZSBpcyAwIHRoZW4gcGFyYWxsZWwKKwkgKiBk ZWdyZWUgd2lsbCBjb21wdXRlZCBiYXNlZCBvbiBudW1iZXIgb2YgaW5kZXhlcy4KKwkgKi8KKwlp bnQJCQlhdXRvdmFjdXVtX3BhcmFsbGVsX3dvcmtlcnM7CisKIAlpbnQJCQl2YWN1dW1fdGhyZXNo b2xkOwogCWludAkJCXZhY3V1bV9tYXhfdGhyZXNob2xkOwogCWludAkJCXZhY3V1bV9pbnNfdGhy ZXNob2xkOwotLSAKMi40My4wCgo= --00000000000040a9a80642382fe7--