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.96) (envelope-from ) id 1vtMV1-001aMO-13 for pgsql-hackers@arkaria.postgresql.org; Fri, 20 Feb 2026 09:08:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vtMV0-007Awo-0m for pgsql-hackers@arkaria.postgresql.org; Fri, 20 Feb 2026 09:08:34 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vtMUz-007AwI-1Z for pgsql-hackers@lists.postgresql.org; Fri, 20 Feb 2026 09:08:33 +0000 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vtMUw-00000000L8d-0C2p for pgsql-hackers@postgresql.org; Fri, 20 Feb 2026 09:08:32 +0000 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-2a964077671so67645ad.0 for ; Fri, 20 Feb 2026 01:08:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771578510; cv=none; d=google.com; s=arc-20240605; b=B9LrPzQ0ars7XPMzjNRW6Xlr2LprCrBbLDJmrg6fPiNPceFJLOL454LFrfbTvlB6wL NldtbFFuOUAq41jo7VwORw+UASJC7xX6vfH5Kvo6RgIlkmul5R9M8pXmrroTpVR/Vm+p +jZKV+MNPqwS6d+jQpDPhf0LXPMffpkb9y1P0DIaSQxvqZVIRUpg0VNIdjjL9YWBFpEz JN4t9Z5mQWceHbq0qb2uL4YF1Rg0c8OrFs429Imaym5Gdd0i3D4fPD/VrSUvC3El9PTN lK1F4/JscyqROfC0y+HF3y9zgf9H1ednvdchs5P2nKWm8P7iyOZ8G0HV+RNz8h7WyX9Z XbvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=T7WpfK7JlpMD7IYnr87asc9Z4f1AmeFmIewCG5u1G9c=; fh=oy2bJEGCxCaAKt1jMPKuUx3lQ4jFAn5IMk+YfdA7gjU=; b=C9JivLSRap0ZaklzHwUpjmYI4GFJ0UXNdKjpllZyK5tZm/tt7uMBSwVLJ5gSdO+1il mMONsuaVfpOWD0/TqbKdRDNY33REn/TCK/QgMETM2DN4KTXv3+g2t4mLxSqjsp/3QVxq CiS0ahcxMDZjTIBr6X/9ZRuuWGUkdRyUDgwTaMFSteWbthoZqDYmz31mA2k5s4IDQUBA Xe2dgYP05MkfB0+FYdQY+PjP8Z4oIY4++xxJ41AaMRjlSA8eOg87nE/kHz6OsIxzzYQe YZ45XM0uHI1r3w4Xl4L+JeB/MOtgTH+qYMx8yi/1iQSiO2XKZW2oBbNN32R+jNDlJUhd j4yg==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1771578510; x=1772183310; 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=T7WpfK7JlpMD7IYnr87asc9Z4f1AmeFmIewCG5u1G9c=; b=JNDbhza93oKxW5K1AMaSU6ubB1t9PZGY6YQbZGpe/bGgK11+2BxlB1pdCCjCWkiJM3 LzsmWU/bkT1XaWVMxdwspf61EtkTWT/aCwGzLwGwmdyA9nyqa68MXIIMvtx3Hq8U09Ad sD9rgQghxCIUy9qb2u5SWZFW6rhp/3tWSlajuHhqalBKWl4zFHP7oaP8s9arocv0ckRd Ka99VswuHvI7cYh6S8mQ6c9a/PYMGNrGHuOZVER8Ho/RccpuEuir52nhxd+QSQgCf5+p 96FI4pQL/u81+23uLBVfwLXrrTeIeAA1j3fbmPLd9X84MBekY08LXTq47vXdV4sEeL5a IrLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771578510; x=1772183310; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=T7WpfK7JlpMD7IYnr87asc9Z4f1AmeFmIewCG5u1G9c=; b=XYtaV4pQqGUOGWvg8AZ+Eeq0R50zPbCR7ybX5cxw20dgHbAOpkHUk2dqcoD6RIOxJW DK26DwHmrROxSJG/0r2NuLVgsW3TEdHCQsJSch8zChz7LzGh+l2ce5QsGu8yTjWHQ1/D IDZacZAfTco8l9SAFXiewnuY4emxrxmI165RWau2ds8DevlwyEECz2I8GVmwRGGtifzC qYBnL0gLo4b12Zt3rcqNda59etOOX+d6XfbA20Fw/5MXFVmWypTEumh4P6gp7blyrwlf 3Z4GrMJxkg3CET72w6n+sbLuoG8/3xwHD0r9jNlmVdu9s4GmVBEWKZyIuSm1xKSsWMnK mXdA== X-Forwarded-Encrypted: i=1; AJvYcCWNB1zZ2A3BUjwum8x4lJmsAoPvRGkeHBTV7wt0Gkk9HIoqygRr/KROmugvZH1w/bMcVoWElIcOiirjkktt@postgresql.org X-Gm-Message-State: AOJu0YyDJZZZIWLXt/fCRScBWvf1l6Zcdf2vra7wk+4ZnCRlJtv33X4Y AYWN7+dHBZBA7AEU6hyCpjWFP6n4cUJRbGsxhvZirJZmggGjPyDDQcmFxXOx43sZ/HD8oNA+3Ww +vuzuG+Rn8gg6yYJ0QASRWUWii2kK1C/X9dY/0Nel X-Gm-Gg: AZuq6aLw/hqtR7N+gnTCpKHwA3u+EMEcpQGhdqqh5jhGGD7C3jB4WPp/2R7ovHBPYOY nP11lz4noqOv74ddoJ2i9GXtH5RqcpwTqQi8Ghm831Y/V0RACG4VKoOp7idVJG1hZtUzylPd6+D sJcQzAYyW9pz4jEI6tXIWR86B50WFqCKDPkXEVsPT3RwogAhfku4zxjMJUMsogtuhgwrDDKcwVT C8jdi1y3N2p8A2bX8+Fjaflfr1KzDwGHPRTIZ3TDveo+9qjBbOd7AVf7W+WDLEqRypN1BBA0rrP lHSVpgfmctKDUJD2hF0R4XrFCzuKf4C/VfSZ X-Received: by 2002:a17:902:cf06:b0:2a8:fe50:2933 with SMTP id d9443c01a7336-2ad69d42021mr1498345ad.0.1771578509441; Fri, 20 Feb 2026 01:08:29 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Nitin Motiani Date: Fri, 20 Feb 2026 14:38:17 +0530 X-Gm-Features: AaiRm51ZPwpzdz_4ukS4QZCOz6J2cbKOykziY_yixbmQSPpTFgcnQYOMIKrjl-Q Message-ID: Subject: Re: Adding pg_dump flag for parallel export to pipes To: Dilip Kumar Cc: Thomas Munro , Hannu Krosing , pgsql-hackers@postgresql.org Content-Type: multipart/mixed; boundary="000000000000bff803064b3dc384" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000bff803064b3dc384 Content-Type: text/plain; charset="UTF-8" Hi, I fixed the failing tap test. Attaching rebased patches along with the new test. The last patch is still WIP because I need to add more test cases. Thanks, Nitin Motiani Google --000000000000bff803064b3dc384 Content-Type: application/x-patch; name="v8-0003-Add-basic-tests-for-pipe-command.patch" Content-Disposition: attachment; filename="v8-0003-Add-basic-tests-for-pipe-command.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mluo2ew52 RnJvbSA2Nzg2ZWM1MGFlMWQ2NDk0MjUzYjI3YWQ2MjRjNTYyMzkzODIxYjkzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaXRpbiBNb3RpYW5pIDxuaXRpbm1vdGlhbmlAZ29vZ2xlLmNv bT4KRGF0ZTogU2F0LCAxNSBGZWIgMjAyNSAwNDoyOToxNyArMDAwMApTdWJqZWN0OiBbUEFUQ0gg djggMy81XSBBZGQgYmFzaWMgdGVzdHMgZm9yIHBpcGUtY29tbWFuZAoKKiBUaGlzIGN1cnJlbnRs eSBvbmx5IGFkZHMgYSBmZXcgYmFzaWMgdGVzdHMgZm9yIHBnX2R1bXAgd2l0aCAtLXBpcGUtY29t bWFuZC4KKiBUaGVzZSB0ZXN0cyBpbmNsdWRlIHRoZSBpbnZhbGlkIHVzYWdlcyBvZiAtLXBpcGUt Y29tbWFuZCB3aXRoIG90aGVyIGZsYWdzLgoqIFdlIGFyZSBzdGlsbCB3b3JraW5nIG9uIGFkZGlu ZyBvdGhlciB0ZXN0cyBpbiBwZ19kdW1wLnBsLiBCdXQKICB3ZSByYW4gaW50byBzb21lIGlzc3Vl cyB3aGljaCBtaWdodCBiZSByZWxhdGVkIHRvIHNldHVwLgotLS0KIHNyYy9iaW4vcGdfZHVtcC90 LzAwMV9iYXNpYy5wbCB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEg ZmlsZSBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19k dW1wL3QvMDAxX2Jhc2ljLnBsIGIvc3JjL2Jpbi9wZ19kdW1wL3QvMDAxX2Jhc2ljLnBsCmluZGV4 IGFiOTMxMGViNDJiLi45ZWY2MzRkZjk4OSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3Qv MDAxX2Jhc2ljLnBsCisrKyBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMV9iYXNpYy5wbApAQCAtNzQs NiArNzQsNDIgQEAgY29tbWFuZF9mYWlsc19saWtlKAogCSdwZ19kdW1wOiBvcHRpb25zIC0tc3Rh dGlzdGljcy1vbmx5IGFuZCAtLW5vLXN0YXRpc3RpY3MgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIn CiApOwogCitjb21tYW5kX2ZhaWxzX2xpa2UoCisJWyAncGdfZHVtcCcsICctRmQnLCAnLS1waXBl LWNvbW1hbmQ9ImNhdCInLCAnLWYnLCAndGVzdGRpcicsICd0ZXN0J10sCisJcXIvXFFwZ19kdW1w OiBoaW50OiBPbmx5IG9uZSBvZiBbLS1maWxlLCAtLXBpcGUtY29tbWFuZF0gYWxsb3dlZFxFLywK KwkncGdfZHVtcDogaGludDogT25seSBvbmUgb2YgWy0tZmlsZSwgLS1waXBlLWNvbW1hbmRdIGFs bG93ZWQnCispOworCitjb21tYW5kX2ZhaWxzX2xpa2UoCisJWyAncGdfZHVtcCcsICctRmQnLCAn LS1waXBlLWNvbW1hbmQ9ImNhdCInLCAnLVonLCAnZ3ppcCcsICd0ZXN0J10sCisJcXIvXFFwZ19k dW1wOiBoaW50OiBPcHRpb24gLS1waXBlLWNvbW1hbmQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGFu eSBjb21wcmVzc2lvbiB0eXBlXEUvLAorCSdwZ19kdW1wOiBoaW50OiBPcHRpb24gLS1waXBlLWNv bW1hbmQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGFueSBjb21wcmVzc2lvbiB0eXBlJworKTsKKwor Y29tbWFuZF9mYWlsc19saWtlKAorCVsgJ3BnX2R1bXAnLCAnLUZkJywgJy0tcGlwZS1jb21tYW5k PSJjYXQiJywgJy0tY29tcHJlc3M9bHo0JywgJ3Rlc3QnXSwKKwlxci9cUXBnX2R1bXA6IGhpbnQ6 IE9wdGlvbiAtLXBpcGUtY29tbWFuZCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggYW55IGNvbXByZXNz aW9uIHR5cGVcRS8sCisJJ3BnX2R1bXA6IGhpbnQ6IE9wdGlvbiAtLXBpcGUtY29tbWFuZCBpcyBu b3Qgc3VwcG9ydGVkIHdpdGggYW55IGNvbXByZXNzaW9uIHR5cGUnCispOworCitjb21tYW5kX2Zh aWxzX2xpa2UoCisJWyAncGdfZHVtcCcsICctRmQnLCAnLS1waXBlLWNvbW1hbmQ9ImNhdCInLCAn LVonLCAnMScsICd0ZXN0J10sCisJcXIvXFFwZ19kdW1wOiBoaW50OiBPcHRpb24gLS1waXBlLWNv bW1hbmQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGFueSBjb21wcmVzc2lvbiB0eXBlXEUvLAorCSdw Z19kdW1wOiBoaW50OiBPcHRpb24gLS1waXBlLWNvbW1hbmQgaXMgbm90IHN1cHBvcnRlZCB3aXRo IGFueSBjb21wcmVzc2lvbiB0eXBlJworKTsKKworY29tbWFuZF9mYWlsc19saWtlKAorCVsgJ3Bn X2R1bXAnLCAnLUZjJywgJy0tcGlwZS1jb21tYW5kPSJjYXQiJywgJ3Rlc3QnXSwKKwlxci9cUXBn X2R1bXA6IGhpbnQ6IE9wdGlvbiAtLXBpcGUtY29tbWFuZCBpcyBvbmx5IHN1cHBvcnRlZCB3aXRo IGRpcmVjdG9yeSBmb3JtYXQuXEUvLAorCSdwZ19kdW1wOiBoaW50OiBPcHRpb24gLS1waXBlLWNv bW1hbmQgaXMgb25seSBzdXBwb3J0ZWQgd2l0aCBkaXJlY3RvcnkgZm9ybWF0LicKKyk7CisKK2Nv bW1hbmRfZmFpbHNfbGlrZSgKKwlbICdwZ19kdW1wJywgJy0tZm9ybWF0PXRhcicsICctLXBpcGUt Y29tbWFuZD0iY2F0IicsICd0ZXN0J10sCisJcXIvXFFwZ19kdW1wOiBoaW50OiBPcHRpb24gLS1w aXBlLWNvbW1hbmQgaXMgb25seSBzdXBwb3J0ZWQgd2l0aCBkaXJlY3RvcnkgZm9ybWF0LlxFLywK KwkncGdfZHVtcDogaGludDogT3B0aW9uIC0tcGlwZS1jb21tYW5kIGlzIG9ubHkgc3VwcG9ydGVk IHdpdGggZGlyZWN0b3J5IGZvcm1hdC4nCispOworCiBjb21tYW5kX2ZhaWxzX2xpa2UoCiAJWyAn cGdfZHVtcCcsICctajInLCAnLS1pbmNsdWRlLWZvcmVpZ24tZGF0YT14eHgnIF0sCiAJcXIvXFFw Z19kdW1wOiBlcnJvcjogb3B0aW9uIC0taW5jbHVkZS1mb3JlaWduLWRhdGEgaXMgbm90IHN1cHBv cnRlZCB3aXRoIHBhcmFsbGVsIGJhY2t1cFxFLywKLS0gCjIuNTMuMC4zNDUuZzk2ZGRmYzVlYWEt Z29vZwoK --000000000000bff803064b3dc384 Content-Type: application/x-patch; name="v8-0005-POC-Add-tests-to-pg_dump.pl.patch" Content-Disposition: attachment; filename="v8-0005-POC-Add-tests-to-pg_dump.pl.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mluo2ew84 RnJvbSBjOWUzOGJjODdmYWQyMzk5ZDNhOTllNjYxZWViOGVhYmYwYTgxYjhlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaXRpbiBNb3RpYW5pIDxuaXRpbm1vdGlhbmlAZ29vZ2xlLmNv bT4KRGF0ZTogVGh1LCAyMiBNYXkgMjAyNSAxMDoyMDoxNSArMDAwMApTdWJqZWN0OiBbUEFUQ0gg djggNS81XSBbUE9DXSBBZGQgdGVzdHMgdG8gcGdfZHVtcC5wbAoKKiBQT0MgdGVzdCBpbiBwZ19k dW1wLnBsLiBNb3JlIHRlc3RzIHdpbGwgYmUgYWRkZWQgYW5kIHRoaXMgcGF0Y2gKICBtZXJnZWQg d2l0aCB0aGUgb3RoZXIgdGVzdCBwYXRjaC4KLS0tCiBzcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdf ZHVtcC5wbCB8IDE5ICsrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwg Yi9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbAppbmRleCBhOGRjYzJiNWM3NS4uMmFm MjgyODU3NjAgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCisr KyBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCkBAIC0yMjMsNiArMjIzLDI1IEBA IG15ICVwZ2R1bXBfcnVucyA9ICgKIAkJXSwKIAl9LAogCisJIyBUaGlzIHRlc3Qga2VwdCBmYWls aW5nLgorCWRlZmF1bHRzX2Rpcl9mb3JtYXRfcGlwZSA9PiB7CisJCXRlc3Rfa2V5ID0+ICdkZWZh dWx0cycsCisJCWR1bXBfY21kID0+IFsKKwkJCSdwZ19kdW1wJywKKwkJCSctLWZvcm1hdCcgPT4g J2RpcmVjdG9yeScsCisJCQknLS1waXBlLWNvbW1hbmQnID0+ICJjYXQgPiAkdGVtcGRpci9kZWZh dWx0c19kaXJfZm9ybWF0LyVmIiwKKwkJCSctLXN0YXRpc3RpY3MnLAorCQkJJ3Bvc3RncmVzJywK KwkJXSwKKwlyZXN0b3JlX2NtZCA9PiBbCisJCQkncGdfcmVzdG9yZScsCisJCQknLS1mb3JtYXQn ID0+ICdkaXJlY3RvcnknLAorCQkJJy0tZmlsZScgPT4gIiR0ZW1wZGlyL2RlZmF1bHRzX2Rpcl9m b3JtYXRfcGlwZS5zcWwiLAorCQkJJy0tc3RhdGlzdGljcycsCisJCQkiJHRlbXBkaXIvZGVmYXVs dHNfZGlyX2Zvcm1hdCIsCisJCV0sCisJfSwKKwogCSMgRG8gbm90IHVzZSAtLW5vLXN5bmMgdG8g Z2l2ZSB0ZXN0IGNvdmVyYWdlIGZvciBkYXRhIHN5bmMuCiAJZGVmYXVsdHNfcGFyYWxsZWwgPT4g ewogCQl0ZXN0X2tleSA9PiAnZGVmYXVsdHMnLAotLSAKMi41My4wLjM0NS5nOTZkZGZjNWVhYS1n b29nCgo= --000000000000bff803064b3dc384 Content-Type: application/x-patch; name="v8-0004-Add-documentation-for-pipe-command-in-pg_dump-and.patch" Content-Disposition: attachment; filename="v8-0004-Add-documentation-for-pipe-command-in-pg_dump-and.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mluo2ew73 RnJvbSA5MDUyZjQ4YTUyZjRiYTYzZjJkNTk3MDljMTcwOTkzZjAyNDhjODNkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaXRpbiBNb3RpYW5pIDxuaXRpbm1vdGlhbmlAZ29vZ2xlLmNv bT4KRGF0ZTogRnJpLCA0IEFwciAyMDI1IDE0OjM0OjQ4ICswMDAwClN1YmplY3Q6IFtQQVRDSCB2 OCA0LzVdIEFkZCBkb2N1bWVudGF0aW9uIGZvciBwaXBlLWNvbW1hbmQgaW4gcGdfZHVtcCBhbmQK IHBnX3Jlc3RvcmUKCiogQWRkIHRoZSBkZXNjcmlwdGlvbnMgb2YgdGhlIG5ldyBmbGFncyBhbmQg Y29uc3RyYWludHMKICByZWdhcmRpbmcgd2hpY2ggbW9kZSBhbmQgb3RoZXIgZmxhZ3MgdGhleSBj YW4ndCBiZSB1c2VkIHdpdGguCiogRXhwbGFpbiB0aGUgcHVycG9zZSBvZiB0aGUgZmxhZ3MuCiog QWRkIGEgZmV3IGV4YW1wbGVzIG9mIHRoZSB1c2FnZSBvZiB0aGUgZmxhZ3MuCi0tLQogZG9jL3Ny Yy9zZ21sL3JlZi9wZ19kdW1wLnNnbWwgICAgfCA1NiArKysrKysrKysrKysrKysrKysrKysrKysr KwogZG9jL3NyYy9zZ21sL3JlZi9wZ19yZXN0b3JlLnNnbWwgfCA2OCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAxMjMgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcGdfZHVtcC5zZ21sIGIv ZG9jL3NyYy9zZ21sL3JlZi9wZ19kdW1wLnNnbWwKaW5kZXggN2Y1MzhlOTAxOTQuLjUxY2U3M2Yz OTBmIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3BnX2R1bXAuc2dtbAorKysgYi9kb2Mv c3JjL3NnbWwvcmVmL3BnX2R1bXAuc2dtbApAQCAtMjk3LDYgKzI5Nyw3IEBAIFBvc3RncmVTUUwg ZG9jdW1lbnRhdGlvbgogICAgICAgICBzcGVjaWZpZXMgdGhlIHRhcmdldCBkaXJlY3RvcnkgaW5z dGVhZCBvZiBhIGZpbGUuIEluIHRoaXMgY2FzZSB0aGUKICAgICAgICAgZGlyZWN0b3J5IGlzIGNy ZWF0ZWQgYnkgPGNvbW1hbmQ+cGdfZHVtcDwvY29tbWFuZD4gdW5sZXNzIHRoZSBkaXJlY3RvcnkK ICAgICAgICAgZXhpc3RzIGFuZCBpcyBlbXB0eS4KKyAgICAgICAgVGhpcyBvcHRpb24gYW5kIDxv cHRpb24+LS1waXBlLWNvbW1hbmQ8L29wdGlvbj4gY2FuJ3QgYmUgdXNlZCB0b2dldGhlci4KICAg ICAgICA8L3BhcmE+CiAgICAgICA8L2xpc3RpdGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KQEAg LTEyMjQsNiArMTIyNSwzMiBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICAgICAgIDwvbGlz dGl0ZW0+CiAgICAgIDwvdmFybGlzdGVudHJ5PgogCisgICAgIDx2YXJsaXN0ZW50cnk+CisgICAg ICA8dGVybT48b3B0aW9uPi0tcGlwZS1jb21tYW5kPC9vcHRpb24+PC90ZXJtPgorICAgICAgPGxp c3RpdGVtPgorICAgICAgIDxwYXJhPgorICAgICAgICBUaGlzIG9wdGlvbiBpcyBvbmx5IHN1cHBv cnRlZCB3aXRoIHRoZSBkaXJlY3Rvcnkgb3V0cHV0CisgICAgICAgIGZvcm1hdC4gSXQgY2FuIGJl IHVzZWQgdG8gd3JpdGUgdG8gbXVsdGlwbGUgc3RyZWFtcyB3aGljaAorICAgICAgICBvdGhlcndp c2Ugd291bGQgbm90IGJlIHBvc3NpYmxlIHdpdGggdGhlIGRpcmVjdG9yeSBtb2RlLgorICAgICAg ICBGb3IgZWFjaCBzdHJlYW0sIGl0IHN0YXJ0cyBhIHByb2Nlc3Mgd2hpY2ggcnVucyB0aGUKKyAg ICAgICAgc3BlY2lmaWVkIGNvbW1hbmQgYW5kIHBpcGVzIHRoZSBwZ19kdW1wIG91dHB1dCB0byB0 aGlzCisgICAgICAgIHByb2Nlc3MuCisgICAgICAgIFRoaXMgb3B0aW9uIGlzIG5vdCB2YWxpZCBp ZiA8b3B0aW9uPi0tZmlsZTwvb3B0aW9uPgorICAgICAgICBpcyBhbHNvIHNwZWNpZmllZC4KKyAg ICAgICA8L3BhcmE+CisgICAgICAgPHBhcmE+CisgICAgICAgIFRoZSBwaXBlLWNvbW1hbmQgY2Fu IGJlIHVzZWQgdG8gcGVyZm9ybSBvcGVyYXRpb25zIGxpa2UgY29tcHJlc3MKKyAgICAgICAgdXNp bmcgYSBjdXN0b20gYWxnb3JpdGhtLCBmaWx0ZXIsIG9yIHdyaXRlIHRoZSBvdXRwdXQgdG8gYSBj bG91ZAorICAgICAgICBzdG9yYWdlIGV0Yy4gVGhlIHVzZXIgd291bGQgbmVlZCBhIHdheSB0byBw aXBlIHRoZSBmaW5hbCBvdXRwdXQgb2YKKyAgICAgICAgZWFjaCBzdHJlYW0gdG8gYSBmaWxlLiBU byBoYW5kbGUgdGhhdCwgdGhlIHBpcGUgY29tbWFuZCBzdXBwb3J0cyBhIGZvcm1hdAorICAgICAg ICBzcGVjaWZpZXIgJWYuIEFuZCBhbGwgdGhlIGluc3RhbmNlcyBvZiAlZiBpbiB0aGUgY29tbWFu ZCBzdHJpbmcKKyAgICAgICAgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5n IGZpbGUgbmFtZSB3aGljaAorICAgICAgICB3b3VsZCBoYXZlIGJlZW4gdXNlZCBpbiB0aGUgZGly ZWN0b3J5IG1vZGUgd2l0aCA8b3B0aW9uPi0tZmlsZTwvb3B0aW9uPi4KKyAgICAgICAgU2VlIDx4 cmVmIGxpbmtlbmQ9InBnLWR1bXAtZXhhbXBsZXMiLz4gYmVsb3cuCisgICAgICAgPC9wYXJhPgor ICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92YXJsaXN0ZW50cnk+CisKICAgICAgPHZhcmxpc3Rl bnRyeT4KICAgICAgIDx0ZXJtPjxvcHRpb24+LS1xdW90ZS1hbGwtaWRlbnRpZmllcnM8L29wdGlv bj48L3Rlcm0+CiAgICAgICA8bGlzdGl0ZW0+CkBAIC0xNzkxLDYgKzE4MTgsMzUgQEAgQ1JFQVRF IERBVEFCQVNFIGZvbyBXSVRIIFRFTVBMQVRFIHRlbXBsYXRlMDsKIDwvc2NyZWVuPgogICA8L3Bh cmE+CiAKKyAgPHBhcmE+CisgICBUbyB1c2UgcGlwZS1jb21tYW5kIHRvIGR1bXAgYSBkYXRhYmFz ZSBpbnRvIGEgZGlyZWN0b3J5LWZvcm1hdCBhcmNoaXZlCisgICAodGhlIGRpcmVjdG9yeSA8bGl0 ZXJhbD5kdW1wZGlyPC9saXRlcmFsPiBuZWVkcyB0byBleGlzdCBiZWZvcmUgcnVubmluZyB0aGUg Y29tbWFuZCkuCisKKzxzY3JlZW4+Cis8cHJvbXB0PiQ8L3Byb21wdD4gPHVzZXJpbnB1dD5wZ19k dW1wIC1GZCBteWRiIC0tcGlwZS1jb21tYW5kPSJjYXQgPiBkdW1wZGlyLyVmIjwvdXNlcmlucHV0 PgorPC9zY3JlZW4+CisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFRvIHVzZSBwaXBlLWNvbW1h bmQgdG8gZHVtcCBhIGRhdGFiYXNlIGludG8gYSBkaXJlY3RvcnktZm9ybWF0IGFyY2hpdmUKKyAg IGluIHBhcmFsbGVsIHdpdGggNSB3b3JrZXIgam9icyAodGhlIGRpcmVjdG9yeSA8bGl0ZXJhbD5k dW1wZGlyPC9saXRlcmFsPiBuZWVkcyB0byBleGlzdAorICAgYmVmb3JlIHJ1bm5pbmcgdGhlIGNv bW1hbmQpLgorCis8c2NyZWVuPgorPHByb21wdD4kPC9wcm9tcHQ+IDx1c2VyaW5wdXQ+cGdfZHVt cCAtRmQgbXlkYiAtaiA1IC0tcGlwZS1jb21tYW5kPSJjYXQgPiBkdW1wZGlyLyVmIjwvdXNlcmlu cHV0PgorPC9zY3JlZW4+CisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFRvIHVzZSBwaXBlLWNv bW1hbmQgdG8gY29tcHJlc3MgYW5kIGR1bXAgYSBkYXRhYmFzZSBpbnRvIGEKKyAgIGRpcmVjdG9y eS1mb3JtYXQgYXJjaGl2ZSAodGhlIGRpcmVjdG9yeSA8bGl0ZXJhbD5kdW1wZGlyPC9saXRlcmFs PiBuZWVkcyB0bworICAgZXhpc3QgYmVmb3JlIHJ1bm5pbmcgdGhlIGNvbW1hbmQpLgorCis8c2Ny ZWVuPgorPHByb21wdD4kPC9wcm9tcHQ+IDx1c2VyaW5wdXQ+cGdfZHVtcCAtRmQgbXlkYiAtLXBp cGUtY29tbWFuZD0iZ3ppcCA+IGR1bXBkaXIvJWYuZ3oiPC91c2VyaW5wdXQ+Cis8L3NjcmVlbj4K KyAgPC9wYXJhPgorCiAgIDxwYXJhPgogICAgVG8gcmVsb2FkIGFuIGFyY2hpdmUgZmlsZSBpbnRv IGEgKGZyZXNobHkgY3JlYXRlZCkgZGF0YWJhc2UgbmFtZWQKICAgIDxsaXRlcmFsPm5ld2RiPC9s aXRlcmFsPjoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcGdfcmVzdG9yZS5zZ21sIGIv ZG9jL3NyYy9zZ21sL3JlZi9wZ19yZXN0b3JlLnNnbWwKaW5kZXggNDIwYTMwOGE3YzcuLmJlMWVk NTFmZTFiIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3BnX3Jlc3RvcmUuc2dtbAorKysg Yi9kb2Mvc3JjL3NnbWwvcmVmL3BnX3Jlc3RvcmUuc2dtbApAQCAtOTYsNyArOTYsMTAgQEAgUG9z dGdyZVNRTCBkb2N1bWVudGF0aW9uCiAgICAgICAgPHBhcmE+CiAgICAgICAgU3BlY2lmaWVzIHRo ZSBsb2NhdGlvbiBvZiB0aGUgYXJjaGl2ZSBmaWxlIChvciBkaXJlY3RvcnksIGZvciBhCiAgICAg ICAgZGlyZWN0b3J5LWZvcm1hdCBhcmNoaXZlKSB0byBiZSByZXN0b3JlZC4KLSAgICAgICBJZiBu b3Qgc3BlY2lmaWVkLCB0aGUgc3RhbmRhcmQgaW5wdXQgaXMgdXNlZC4KKyAgICAgICBUaGlzIG9w dGlvbiBhbmQgPG9wdGlvbj4tLXBpcGUtY29tbWFuZDwvb3B0aW9uPiBjYW4ndCBiZSBzZXQKKyAg ICAgICBhdCB0aGUgc2FtZSB0aW1lLgorICAgICAgIElmIG5laXRoZXIgdGhpcyBvcHRpb24gbm9y IDxvcHRpb24+LS1waXBlLWNvbW1hbmQ8L29wdGlvbj4gaXMgc3BlY2lmaWVkLAorICAgICAgIHRo ZSBzdGFuZGFyZCBpbnB1dCBpcyB1c2VkLgogICAgICAgIDwvcGFyYT4KICAgICAgIDwvbGlzdGl0 ZW0+CiAgICAgIDwvdmFybGlzdGVudHJ5PgpAQCAtODIwLDYgKzgyMywzMiBAQCBQb3N0Z3JlU1FM IGRvY3VtZW50YXRpb24KICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgIDwvdmFybGlzdGVudHJ5Pgog CisgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICA8dGVybT48b3B0aW9uPi0tcGlwZS1jb21tYW5k PC9vcHRpb24+PC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgorICAgICAg ICBUaGlzIG9wdGlvbiBpcyBvbmx5IHN1cHBvcnRlZCB3aXRoIHRoZSBkaXJlY3Rvcnkgb3V0cHV0 CisgICAgICAgIGZvcm1hdC4gSXQgY2FuIGJlIHVzZWQgdG8gcmVhZCBmcm9tIG11bHRpcGxlIHN0 cmVhbXMgd2hpY2gKKyAgICAgICAgb3RoZXJ3aXNlIHdvdWxkIG5vdCBiZSBwb3NzaWJsZSB3aXRo IHRoZSBkaXJlY3RvcnkgbW9kZS4KKyAgICAgICAgRm9yIGVhY2ggc3RyZWFtLCBpdCBzdGFydHMg YSBwcm9jZXNzIHdoaWNoIHJ1bnMgdGhlCisgICAgICAgIHNwZWNpZmllZCBjb21tYW5kIGFuZCBw aXBlcyBpdHMgb3V0cHV0IHRvIHRoZSBwZ19yZXN0b3JlIHByb2Nlc3MuCisgICAgICAgIFRoaXMg b3B0aW9uIGlzIG5vdCB2YWxpZCBpZiA8b3B0aW9uPmZpbGVuYW1lPC9vcHRpb24+IGlzIGFsc28g c3BlY2lmaWVkLgorICAgICAgIDwvcGFyYT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgVGhlIHBp cGUtY29tbWFuZCBjYW4gYmUgdXNlZCB0byBwZXJmb3JtIG9wZXJhdGlvbnMgbGlrZQorICAgICAg ICBkZWNvbXByZXNzIHVzaW5nIGEgY3VzdG9tIGFsZ29yaXRobSwgZmlsdGVyLCBvciByZWFkIGZy b20KKyAgICAgICAgYSBjbG91ZCBzdG9yYWdlLiBXaGVuIHJlYWRpbmcgZnJvbSB0aGUgcGdfZHVt cCBvdXRwdXQsCisgICAgICAgIHRoZSB1c2VyIHdvdWxkIG5lZWQgYSB3YXkgdG8gcmVhZCB0aGUg Y29ycmVjdCBmaWxlIGluIGVhY2gKKyAgICAgICAgc3RyZWFtLiBUbyBoYW5kbGUgdGhhdCwgdGhl IHBpcGUgY29tbWFuZCBzdXBwb3J0cyBhIGZvcm1hdAorICAgICAgICBzcGVjaWZpZXIgJWYuIEFu ZCBhbGwgdGhlIGluc3RhbmNlcyBvZiAlZiBpbiB0aGUgY29tbWFuZCBzdHJpbmcKKyAgICAgICAg d2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGZpbGUgbmFtZSB3aGljaAor ICAgICAgICB3b3VsZCBoYXZlIGJlZW4gdXNlZCBpbiB0aGUgZGlyZWN0b3J5IG1vZGUgd2l0aCA8 b3B0aW9uPmZpbGVuYW1lPC9vcHRpb24+LgorICAgICAgICBUaGlzIGlzIHNhbWUgYXMgdGhlIDxv cHRpb24+LS1waXBlLWNvbW1hbmQ8L29wdGlvbj4gb2YgcGctZHVtcC4KKyAgICAgICAgU2VlIDx4 cmVmIGxpbmtlbmQ9ImFwcC1wZ3Jlc3RvcmUtZXhhbXBsZXMiLz4gYmVsb3cuCisgICAgICAgPC9w YXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92YXJsaXN0ZW50cnk+CisKICAgICAgPHZh cmxpc3RlbnRyeT4KICAgICAgICA8dGVybT48b3B0aW9uPi0tc2VjdGlvbj08cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+c2VjdGlvbm5hbWU8L3JlcGxhY2VhYmxlPjwvb3B0aW9uPjwvdGVy bT4KICAgICAgICA8bGlzdGl0ZW0+CkBAIC0xMjM0LDYgKzEyNjMsNDMgQEAgQ1JFQVRFIERBVEFC QVNFIGZvbyBXSVRIIFRFTVBMQVRFIHRlbXBsYXRlMDsKIDxwcm9tcHQ+JDwvcHJvbXB0PiA8dXNl cmlucHV0PnBnX3Jlc3RvcmUgLUwgZGIubGlzdCBkYi5kdW1wPC91c2VyaW5wdXQ+CiA8L3NjcmVl bj48L3BhcmE+CiAKKyAgPHBhcmE+CisgICBUbyB1c2UgcGdfcmVzdG9yZSB3aXRoIHBpcGUtY29t bWFuZCB0byByZWNyZWF0ZSBmcm9tIGEgZHVtcCBpbgorICAgZGlyZWN0b3J5LWFyY2hpdmUgZm9y bWF0LiBUaGUgZGF0YWJhc2Ugc2hvdWxkIG5vdCBleGlzdCBiZWZvcmVoYW5kLgorICAgQXNzdW1l IGluIHRoaXMgZXhhbXBsZSB0aGF0IHRoZSBkdW1wIGluIGRpcmVjdG9yeS1hcmNoaXZlIGZvcm1h dCBpcworICAgc3RvcmVkIGluIDxsaXRlcmFsPmR1bXBkaXI8L2xpdGVyYWw+LgorCis8c2NyZWVu PgorPHByb21wdD4kPC9wcm9tcHQ+IDx1c2VyaW5wdXQ+cGdfcmVzdG9yZSAtQyAtRmQgLWQgcG9z dGdyZXMgLS1waXBlLWNvbW1uYWQ9ImNhdCBkdW1wZGlyLyVmIjwvdXNlcmlucHV0PgorPC9zY3Jl ZW4+CisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFRvIHVzZSBwZ19yZXN0b3JlIHdpdGggcGlw ZS1jb21tYW5kIHRvIGZpcnN0IGRlY29tcHJlc3MgYW5kIHRoZW4KKyAgIHJlY3JlYXRlIGZyb20g YSBkdW1wIGluIGRpcmVjdG9yeS1hcmNoaXZlIGZvcm1hdC4gVGhlIGRhdGFiYXNlCisgICBzaG91 bGQgbm90IGV4aXN0IGJlZm9yZWhhbmQuCisgICBBc3N1bWUgaW4gdGhpcyBleGFtcGxlIHRoYXQg dGhlIGR1bXAgaW4gZGlyZWN0b3J5LWFyY2hpdmUgZm9ybWF0IGlzCisgICBzdG9yZWQgaW4gPGxp dGVyYWw+ZHVtcGRpcjwvbGl0ZXJhbD4uIEFuZCBhbGwgZmlsZXMgYXJlCisgICA8bGl0ZXJhbD5n emlwPC9saXRlcmFsPiBjb21wcmVzc2VkLgorCis8c2NyZWVuPgorPHByb21wdD4kPC9wcm9tcHQ+ IDx1c2VyaW5wdXQ+cGdfcmVzdG9yZSAtQyAtRmQgLWQgcG9zdGdyZXMgLS1waXBlLWNvbW1uYWQ9 ImNhdCBkdW1wZGlyLyVmLmd6IHwgZ3VuemlwIjwvdXNlcmlucHV0PgorPC9zY3JlZW4+CisgIDwv cGFyYT4KKworICA8cGFyYT4KKyAgIFRvIHVzZSBwaXBlLWNvbW1hbmQgYWxvbmcgd2l0aCA8b3B0 aW9uPi1MPC9vcHRpb24+IHRvIHJlY3JlYXRlIG9ubHkKKyAgIHNlbGVjdGQgaXRlbXMgZnJvbSBh IGR1bXAgaW4gdGhlIGRpcmVjdG9yeS1hcmNoaXZlIGZvcm1hdC4KKyAgIFRoZSBkYXRhYmFzZSBz aG91bGQgbm90IGV4aXN0IGJlZm9yZWhhbmQuCisgICBBc3N1bWUgaW4gdGhpcyBleGFtcGxlIHRo YXQgdGhlIGR1bXAgaW4gZGlyZWN0b3J5LWFyY2hpdmUgZm9ybWF0IGlzCisgICBzdG9yZWQgaW4g ZHVtcGRpci4KKyAgIFRoZSA8bGl0ZXJhbD5kYi5saXN0PC9saXRlcmFsPiBmaWxlIGlzIHRoZSBz YW1lIGFzIG9uZSB1c2VkIGluIHRoZSBwcmV2aW91cyBleGFtcGxlIHdpdGggPG9wdGlvbj4tTDwv b3B0aW9uPgorCis8c2NyZWVuPgorPHByb21wdD4kPC9wcm9tcHQ+IDx1c2VyaW5wdXQ+cGdfcmVz dG9yZSAtQyAtRmQgLWQgcG9zdGdyZXMgLS1waXBlLWNvbW1uYWQ9ImNhdCBkdW1wZGlyLyVmIiAt TCBkYi5saXN0PC91c2VyaW5wdXQ+Cis8L3NjcmVlbj4KKyAgPC9wYXJhPgorCiAgPC9yZWZzZWN0 MT4KIAogIDxyZWZzZWN0MT4KLS0gCjIuNTMuMC4zNDUuZzk2ZGRmYzVlYWEtZ29vZwoK --000000000000bff803064b3dc384 Content-Type: application/x-patch; name="v8-0002-Add-pipe-command-support-in-pg_restore.patch" Content-Disposition: attachment; filename="v8-0002-Add-pipe-command-support-in-pg_restore.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mluo2ew41 RnJvbSAxMWU2ZTljNjQ3OTM0MTM0NjRjZWU5MzY2NDM4NTRkNjVlZWMzZDQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaXRpbiBNb3RpYW5pIDxuaXRpbm1vdGlhbmlAZ29vZ2xlLmNv bT4KRGF0ZTogU2F0LCAxNSBGZWIgMjAyNSAwODowNToyNSArMDAwMApTdWJqZWN0OiBbUEFUQ0gg djggMi81XSBBZGQgcGlwZS1jb21tYW5kIHN1cHBvcnQgaW4gcGdfcmVzdG9yZQoKKiBUaGlzIGlz IHNhbWUgYXMgdGhlIHBnX2R1bXAgY2hhbmdlLiBXZSBhZGQgc3VwcG9ydAogIGZvciAtLXBpcGUt Y29tbWFuZCBpbiBkaXJlY3RvcnkgYXJjaGl2ZSBmb3JtYXQuIFRoaXMgY2FuIGJlIHVzZWQKICB0 byByZWFkIGZyb20gbXVsdGlwbGUgc3RyZWFtcyBhbmQgZG8gcHJlLXByb2Nlc3NpbmcgKGRlY29t cHJlc3Npb24KICB3aXRoIGEgY3VzdG9tIGFsZ29yaXRobSwgZmlsdGVyaW5nIGV0YykgYmVmb3Jl IHJlc3RvcmUuCiAgQ3VycmVudGx5IHRoYXQgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgdGhlIHBn X2R1bXAgb3V0cHV0IG9mCiAgZGlyZWN0b3J5IGZvcm1hdCBjYW4ndCBqdXN0IGJlIHBpcGVkLgoq IExpa2UgcGdfZHVtcCwgaGVyZSBhbHNvIGVpdGhlciBmaWxlbmFtZSBvciAtLXBpcGUtY29tbWFu ZCBjYW4gYmUKICBzZXQuIElmIG5laXRoZXIgYXJlIHNldCwgdGhlIHN0YW5kYXJkIGlucHV0IGlz IHVzZWQgYXMgYmVmb3JlLgoqIFRoaXMgaXMgb25seSBzdXBwb3J0ZWQgd2l0aCBjb21wcmVzc2lv biBub25lIGFuZCBhcmNoaXZlIGZvcm1hdAogIGRpcmVjdG9yeS4KKiBXZSByZXVzZSB0aGUgaW5w dXRGaWxlU3BlYyBmaWVsZCBmb3IgdGhlIHBpcGUtY29tbWFuZC4gQW5kIGFkZAogIGEgYm9vbCB0 byBzcGVjaWZ5IGlmIGl0IGlzIGEgcGlwZS4KKiBUaGUgY2hhbmdlcyBtYWRlIGZvciBwZ19kdW1w IHRvIGhhbmRsZSB0aGUgcGlwZSBjYXNlIHdpdGggcG9wZW4KICBhbmQgcGNsb3NlIGFsc28gd29y ayBoZXJlLgoqIFRoZSBsb2dpYyBvZiAlZiBmb3JtYXQgc3BlY2lmaWVyIHRvIHJlYWQgZnJvbSB0 aGUgcGdfZHVtcCBvdXRwdXQKICBpcyB0aGUgc2FtZSB0b28uIE1vc3Qgb2YgdGhlIGNvZGUgZnJv bSB0aGUgcGdfZHVtcCBjb21taXQgd29ya3MuCiAgV2UgYWRkIHNpbWlsYXIgbG9naWMgdG8gdGhl IGZ1bmN0aW9uIHRvIHJlYWQgbGFyZ2Ugb2JqZWN0cy4KKiBUaGUgLS1waXBlIGNvbW1hbmQgd29y a3MgLWwgYW5kIC1MIG9wdGlvbi4KLS0tCiBzcmMvYmluL3BnX2R1bXAvY29tcHJlc3NfaW8uYyAg ICAgICAgIHwgMzAgKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogc3JjL2Jpbi9wZ19kdW1wL3Bn X2JhY2t1cF9kaXJlY3RvcnkuYyB8IDE2ICsrKysrKysrKysrKystCiBzcmMvYmluL3BnX2R1bXAv cGdfcmVzdG9yZS5jICAgICAgICAgIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiAz IGZpbGVzIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9jb21wcmVzc19pby5jIGIvc3JjL2Jpbi9wZ19kdW1wL2Nv bXByZXNzX2lvLmMKaW5kZXggYmM1MjFkZDI3NGIuLjg4NDg4MTg2YjM0IDEwMDY0NAotLS0gYS9z cmMvYmluL3BnX2R1bXAvY29tcHJlc3NfaW8uYworKysgYi9zcmMvYmluL3BnX2R1bXAvY29tcHJl c3NfaW8uYwpAQCAtMjYwLDIyICsyNjAsMjggQEAgSW5pdERpc2NvdmVyQ29tcHJlc3NGaWxlSGFu ZGxlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm1vZGUsCiAKIAlmbmFtZSA9IHBnX3N0 cmR1cChwYXRoKTsKIAotCWlmIChoYXNTdWZmaXgoZm5hbWUsICIuZ3oiKSkKLQkJY29tcHJlc3Np b25fc3BlYy5hbGdvcml0aG0gPSBQR19DT01QUkVTU0lPTl9HWklQOwotCWVsc2UgaWYgKGhhc1N1 ZmZpeChmbmFtZSwgIi5sejQiKSkKLQkJY29tcHJlc3Npb25fc3BlYy5hbGdvcml0aG0gPSBQR19D T01QUkVTU0lPTl9MWjQ7Ci0JZWxzZSBpZiAoaGFzU3VmZml4KGZuYW1lLCAiLnpzdCIpKQotCQlj b21wcmVzc2lvbl9zcGVjLmFsZ29yaXRobSA9IFBHX0NPTVBSRVNTSU9OX1pTVEQ7Ci0JZWxzZQor CS8qCisJICogSWYgdGhlIHBhdGggaXMgYSBwaXBlIGNvbW1hbmQsIHRoZSBjb21wcmVzc2lvbiBh bGdvcml0aG0gaXMgbm9uZS4KKwkgKi8KKwlpZiAoIXBhdGhfaXNfcGlwZV9jb21tYW5kKQogCXsK LQkJaWYgKHN0YXQocGF0aCwgJnN0KSA9PSAwKQotCQkJY29tcHJlc3Npb25fc3BlYy5hbGdvcml0 aG0gPSBQR19DT01QUkVTU0lPTl9OT05FOwotCQllbHNlIGlmIChjaGVja19jb21wcmVzc2VkX2Zp bGUocGF0aCwgJmZuYW1lLCAiZ3oiKSkKKwkJaWYgKGhhc1N1ZmZpeChmbmFtZSwgIi5neiIpKQog CQkJY29tcHJlc3Npb25fc3BlYy5hbGdvcml0aG0gPSBQR19DT01QUkVTU0lPTl9HWklQOwotCQll bHNlIGlmIChjaGVja19jb21wcmVzc2VkX2ZpbGUocGF0aCwgJmZuYW1lLCAibHo0IikpCisJCWVs c2UgaWYgKGhhc1N1ZmZpeChmbmFtZSwgIi5sejQiKSkKIAkJCWNvbXByZXNzaW9uX3NwZWMuYWxn b3JpdGhtID0gUEdfQ09NUFJFU1NJT05fTFo0OwotCQllbHNlIGlmIChjaGVja19jb21wcmVzc2Vk X2ZpbGUocGF0aCwgJmZuYW1lLCAienN0IikpCisJCWVsc2UgaWYgKGhhc1N1ZmZpeChmbmFtZSwg Ii56c3QiKSkKIAkJCWNvbXByZXNzaW9uX3NwZWMuYWxnb3JpdGhtID0gUEdfQ09NUFJFU1NJT05f WlNURDsKKwkJZWxzZQorCQl7CisJCQlpZiAoc3RhdChwYXRoLCAmc3QpID09IDApCisJCQkJY29t cHJlc3Npb25fc3BlYy5hbGdvcml0aG0gPSBQR19DT01QUkVTU0lPTl9OT05FOworCQkJZWxzZSBp ZiAoY2hlY2tfY29tcHJlc3NlZF9maWxlKHBhdGgsICZmbmFtZSwgImd6IikpCisJCQkJY29tcHJl c3Npb25fc3BlYy5hbGdvcml0aG0gPSBQR19DT01QUkVTU0lPTl9HWklQOworCQkJZWxzZSBpZiAo Y2hlY2tfY29tcHJlc3NlZF9maWxlKHBhdGgsICZmbmFtZSwgImx6NCIpKQorCQkJCWNvbXByZXNz aW9uX3NwZWMuYWxnb3JpdGhtID0gUEdfQ09NUFJFU1NJT05fTFo0OworCQkJZWxzZSBpZiAoY2hl Y2tfY29tcHJlc3NlZF9maWxlKHBhdGgsICZmbmFtZSwgInpzdCIpKQorCQkJCWNvbXByZXNzaW9u X3NwZWMuYWxnb3JpdGhtID0gUEdfQ09NUFJFU1NJT05fWlNURDsKKwkJfQogCX0KIAogCUNGSCA9 IEluaXRDb21wcmVzc0ZpbGVIYW5kbGUoY29tcHJlc3Npb25fc3BlYywgcGF0aF9pc19waXBlX2Nv bW1hbmQpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2JhY2t1cF9kaXJlY3Rvcnku YyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfZGlyZWN0b3J5LmMKaW5kZXggNzRmYzY1MWY2 ZjQuLjJiMThjM2M4MjcwIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfYmFja3VwX2Rp cmVjdG9yeS5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfZGlyZWN0b3J5LmMKQEAg LTQzOSw3ICs0MzksMjEgQEAgX0xvYWRMT3MoQXJjaGl2ZUhhbmRsZSAqQUgsIFRvY0VudHJ5ICp0 ZSkKIAkJCQkJIHRvY2ZuYW1lLCBsaW5lKTsKIAogCQlTdGFydFJlc3RvcmVMTyhBSCwgb2lkLCBB SC0+cHVibGljLnJvcHQtPmRyb3BTY2hlbWEpOwotCQlzbnByaW50ZihwYXRoLCBNQVhQR1BBVEgs ICIlcy8lcyIsIGN0eC0+ZGlyZWN0b3J5LCBsb2ZuYW1lKTsKKworCQkvKgorCQkgKiBYWFggOiBD cmVhdGUgYSBoZWxwZXIgZnVuY3Rpb24gZm9yIGJsb2IgZmlsZXMgbmFtaW5nIGNvbW1vbiB0bwor CQkgKiBfTG9hZExPcyBhbiBfU3RhcnRMTy4KKwkJICovCisJCWlmIChBSC0+ZlNwZWNJc1BpcGUp CisJCXsKKwkJCXBpcGUgPSByZXBsYWNlX3BlcmNlbnRfcGxhY2Vob2xkZXJzKGN0eC0+ZGlyZWN0 b3J5LCAicGlwZS1jb21tYW5kIiwgImYiLCBsb2ZuYW1lKTsKKwkJCXN0cmNweShwYXRoLCBwaXBl KTsKKwkJCXBmcmVlKHBpcGUpOworCQl9CisJCWVsc2UKKwkJeworCQkJc25wcmludGYocGF0aCwg TUFYUEdQQVRILCAiJXMvJXMiLCBjdHgtPmRpcmVjdG9yeSwgbG9mbmFtZSk7CisJCX0KIAkJX1By aW50RmlsZURhdGEoQUgsIHBhdGgpOwogCQlFbmRSZXN0b3JlTE8oQUgsIG9pZCk7CiAJfQpkaWZm IC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX3Jlc3RvcmUuYyBiL3NyYy9iaW4vcGdfZHVtcC9w Z19yZXN0b3JlLmMKaW5kZXggOTQ5NWEzN2ZmYzEuLjQ2NzU4ZjcyZDk4IDEwMDY0NAotLS0gYS9z cmMvYmluL3BnX2R1bXAvcGdfcmVzdG9yZS5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19yZXN0 b3JlLmMKQEAgLTY2LDYgKzY2LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJY2hh cgkgICAqaW5wdXRGaWxlU3BlYzsKIAlib29sCQlkYXRhX29ubHkgPSBmYWxzZTsKIAlib29sCQlz Y2hlbWFfb25seSA9IGZhbHNlOworCWJvb2wJCWZpbGVzcGVjX2lzX3BpcGUgPSBmYWxzZTsKIAlz dGF0aWMgaW50CWRpc2FibGVfdHJpZ2dlcnMgPSAwOwogCXN0YXRpYyBpbnQJZW5hYmxlX3Jvd19z ZWN1cml0eSA9IDA7CiAJc3RhdGljIGludAlpZl9leGlzdHMgPSAwOwpAQCAtMTQyLDYgKzE0Myw3 IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCQl7InN0YXRpc3RpY3Mtb25seSIsIG5v X2FyZ3VtZW50LCAmc3RhdGlzdGljc19vbmx5LCAxfSwKIAkJeyJmaWx0ZXIiLCByZXF1aXJlZF9h cmd1bWVudCwgTlVMTCwgNH0sCiAJCXsicmVzdHJpY3Qta2V5IiwgcmVxdWlyZWRfYXJndW1lbnQs IE5VTEwsIDZ9LAorCQl7InBpcGUtY29tbWFuZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCA3 fSwKIAogCQl7TlVMTCwgMCwgTlVMTCwgMH0KIAl9OwpAQCAtMzIxLDYgKzMyMywxMSBAQCBtYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJCQlvcHRzLT5yZXN0cmljdF9rZXkgPSBwZ19zdHJk dXAob3B0YXJnKTsKIAkJCQlicmVhazsKIAorCQkJY2FzZSA3OgkJCQkvKiBwaXBlLWNvbW1hbmQg Ki8KKwkJCQlpbnB1dEZpbGVTcGVjID0gcGdfc3RyZHVwKG9wdGFyZyk7CisJCQkJZmlsZXNwZWNf aXNfcGlwZSA9IHRydWU7CisJCQkJYnJlYWs7CisKIAkJCWRlZmF1bHQ6CiAJCQkJLyogZ2V0b3B0 X2xvbmcgYWxyZWFkeSBlbWl0dGVkIGEgY29tcGxhaW50ICovCiAJCQkJcGdfbG9nX2Vycm9yX2hp bnQoIlRyeSBcIiVzIC0taGVscFwiIGZvciBtb3JlIGluZm9ybWF0aW9uLiIsIHByb2duYW1lKTsK QEAgLTMyOCwxMSArMzM1LDI5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCQl9CiAJ fQogCi0JLyogR2V0IGZpbGUgbmFtZSBmcm9tIGNvbW1hbmQgbGluZSAqLworCS8qCisJICogR2V0 IGZpbGUgbmFtZSBmcm9tIGNvbW1hbmQgbGluZS4gTm90ZSB0aGF0IGZpbGVuYW1lIGFyZ3VtZW50 IGFuZAorCSAqIHBpcGUtY29tbWFuZCBjYW4ndCBib3RoIGJlIHNldC4KKwkgKi8KIAlpZiAob3B0 aW5kIDwgYXJnYykKKwl7CisJCWlmIChmaWxlc3BlY19pc19waXBlKQorCQl7CisJCQlwZ19sb2df ZXJyb3JfaGludCgiT25seSBvbmUgb2YgW2ZpbGVzcGVjLCAtLXBpcGUtY29tbWFuZF0gYWxsb3dl ZCIpOworCQkJZXhpdF9uaWNlbHkoMSk7CisJCX0KIAkJaW5wdXRGaWxlU3BlYyA9IGFyZ3Zbb3B0 aW5kKytdOwotCWVsc2UKKwl9CisKKwkvKgorCSAqIEV2ZW4gaWYgdGhlIGZpbGUgYXJndW1lbnQg aXMgbm90IHByb3ZpZGVkLCBpZiB0aGUgcGlwZS1jb21tYW5kIGlzCisJICogc3BlY2lmaWVkLCB3 ZSBuZWVkIHRvIHVzZSB0aGF0IGFzIHRoZSBmaWxlIGFyZyBhbmQgbm90IGZhbGxiYWNrIHRvCisJ ICogc3RkaW8uCisJICovCisJZWxzZSBpZiAoIWZpbGVzcGVjX2lzX3BpcGUpCisJewogCQlpbnB1 dEZpbGVTcGVjID0gTlVMTDsKKwl9CiAKIAkvKiBDb21wbGFpbiBpZiBhbnkgYXJndW1lbnRzIHJl bWFpbiAqLwogCWlmIChvcHRpbmQgPCBhcmdjKQpAQCAtNDg1LDcgKzUxMCw4IEBAIG1haW4oaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQogCQkJCQkgb3B0cy0+Zm9ybWF0TmFtZSk7CiAJfQogCi0JQUgg PSBPcGVuQXJjaGl2ZShpbnB1dEZpbGVTcGVjLCBvcHRzLT5mb3JtYXQsIGZhbHNlKTsKKworCUFI ID0gT3BlbkFyY2hpdmUoaW5wdXRGaWxlU3BlYywgb3B0cy0+Zm9ybWF0LCBmaWxlc3BlY19pc19w aXBlKTsKIAogCVNldEFyY2hpdmVPcHRpb25zKEFILCBOVUxMLCBvcHRzKTsKIAotLSAKMi41My4w LjM0NS5nOTZkZGZjNWVhYS1nb29nCgo= --000000000000bff803064b3dc384 Content-Type: application/x-patch; name="v8-0001-Add-pipe-command-support-for-directory-mode-of-pg.patch" Content-Disposition: attachment; filename="v8-0001-Add-pipe-command-support-for-directory-mode-of-pg.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mluo2ew00 RnJvbSBjNTk4MDE2MWI3ODJkYWFlZGVlNGNkZGU5ZDQ1MWZmYmE3N2ZiNGZiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaXRpbiBNb3RpYW5pIDxuaXRpbm1vdGlhbmlAZ29vZ2xlLmNv bT4KRGF0ZTogVHVlLCAxMSBGZWIgMjAyNSAwODozMTowMiArMDAwMApTdWJqZWN0OiBbUEFUQ0gg djggMS81XSBBZGQgcGlwZS1jb21tYW5kIHN1cHBvcnQgZm9yIGRpcmVjdG9yeSBtb2RlIG9mIHBn X2R1bXAKCiogV2UgYWRkIGEgbmV3IGZsYWcgLS1waXBlLWNvbW1hbmQgd2hpY2ggY2FuIGJlIHVz ZWQgaW4gZGlyZWN0b3J5CiAgbW9kZS4gVGhpcyBhbGxvd3MgdXMgdG8gc3VwcG9ydCBtdWx0aXBs ZSBzdHJlYW1zIGFuZCB3ZSBjYW4KICBkbyBwb3N0IHByb2Nlc3NpbmcgbGlrZSBjb21wcmVzc2lv biwgZmlsdGVyaW5nIGV0Yy4gVGhpcyBpcwogIGN1cnJlbnRseSBub3QgcG9zc2libGUgd2l0aCBk aXJlY3RvcnktYXJjaGl2ZSBmb3JtYXQuCiogQ3VycmVudGx5IHRoaXMgZmxhZyBpcyBvbmx5IHN1 cHBvcnRlZCB3aXRoIGNvbXByZXNzaW9uIG5vbmUKICBhbmQgYXJjaGl2ZSBmb3JtYXQgZGlyZWN0 b3J5LgoqIFRoaXMgZmxhZyBjYW4ndCBiZSB1c2VkIHdpdGggdGhlIGZsYWcgLS1maWxlLiBPbmx5 IG9uZSBvZiB0aGUKICB0d28gZmxhZ3MgY2FuIGJlIHVzZWQgYXQgYSB0aW1lLgoqIFdlIHJldXNl IHRoZSBmaWxlbmFtZSBmaWVsZCBmb3IgdGhlIC0tcGlwZS1jb21tYW5kIGFsc28uIEFuZCBhZGQg YQogIGJvb2wgdG8gc3BlY2lmeSB0aGF0IHRoZSBmaWVsZCB3aWxsIGJlIHVzZWQgYXMgYSBwaXBl IGNvbW1hbmQuCiogTW9zdCBvZiB0aGUgY29kZSByZW1haW5zIGFzIGl0IGlzLiBUaGUgY29yZSBj aGFuZ2UgaXMgdGhhdAogIGluIGNhc2Ugb2YgLS1waXBlLWNvbW1hbmQsIGluc3RlYWQgb2YgZm9w ZW4gd2UgZG8gcG9wZW4uCiogVGhlIHVzZXIgd291bGQgbmVlZCBhIHdheSB0byBzdG9yZSB0aGUg cG9zdC1wcm9jZXNzaW5nIG91dHB1dAogIGluIGZpbGVzLiBGb3IgdGhhdCB3ZSBzdXBwb3J0IHRo ZSBzYW1lIGZvcm1hdCBhcyB0aGUgZGlyZWN0b3J5CiAgbW9kZSBjdXJyZW50bHkgZG9lcyB3aXRo IHRoZSBmbGFnIC0tZmlsZS4gV2UgYWxsb3cgdGhlIHVzZXIKICB0byBhZGQgYSBmb3JtYXQgc3Bl Y2lmaWVyICVmIHRvIHRoZSAtLXBpcGUtY29tbWFuZC4gQW5kIGZvciBlYWNoCiAgc3RyZWFtLCB0 aGUgZm9ybWF0IHNwZWNpZmllciBpcyByZXBsYWNlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nCiAg ZmlsZSBuYW1lLiBUaGlzIGZpbGUgbmFtZSBpcyB0aGUgc2FtZSBhcyBpdCB3b3VsZCBoYXZlIGJl ZW4gaWYKICB0aGUgZmxhZyAtLWZpbGUgaGFkIGJlZW4gdXNlZC4KKiBUbyBlbmFibGUgdGhlIGFi b3ZlLCB0aGVyZSBhcmUgYSBmZXcgcGxhY2VzIGluIHRoZSBjb2RlIHdoZXJlCiAgd2UgY2hhbmdl IHRoZSBmaWxlIG5hbWUgY3JlYXRpb24gbG9naWMuIEN1cnJlbnRseSB0aGUgZmlsZSBuYW1lCiAg aXMgYXBwZW5kZWQgdG8gdGhlIGRpcmVjdG9yeSBuYW1lIHdoaWNoIGlzIHByb3ZpZGVkIHdpdGgg LS1maWxlIGZsYWcuCiAgSW4gY2FzZSBvZiAtLXBpcGUtY29tbWFuZCwgd2UgaW5zdGVhZCByZXBs YWNlICVmIHdpdGggdGhlIGZpbGUgbmFtZS4KICBUaGlzIGNoYW5nZSBpcyBtYWRlIGZvciB0aGUg Y29tbW9uIHVzZSBjYXNlIGFuZCBzZXBhcmF0ZWx5IGZvcgogIGJsb2IgZmlsZXMuCiogVGhlcmUg aXMgYW4gb3BlbiBxdWVzdGlvbiBvbiB3aGF0IG1vZGUgdG8gdXNlIGluIGNhc2Ugb2YgbGFyZ2Ug b2JqZWN0cwogIFRPQyBmaWxlLiBDdXJyZW50bHkgdGhlIGNvZGUgdXNlcyAiYWIiIGJ1dCB0aGF0 IHdvbid0IHdvcmsgZm9yIHBvcGVuLgogIFdlIGhhdmUgcHJvcG9zZWQgYSBmZXcgb3B0aW9ucyBp biB0aGUgY29tbWVudHMgcmVnYXJkaW5nIHRoaXMuIEZvciB0aGUKICB0aW1lIGJlaW5nIHdlIGFy ZSB1c2luZyBtb2RlIFBHX0JJTkFSWV9XIGZvciB0aGUgcGlwZSB1c2UgY2FzZS4KLS0tCiBzcmMv YmluL3BnX2R1bXAvY29tcHJlc3NfZ3ppcC5jICAgICAgIHwgICA5ICsrLQogc3JjL2Jpbi9wZ19k dW1wL2NvbXByZXNzX2d6aXAuaCAgICAgICB8ICAgMyArLQogc3JjL2Jpbi9wZ19kdW1wL2NvbXBy ZXNzX2lvLmMgICAgICAgICB8ICAyNiArKysrKy0tCiBzcmMvYmluL3BnX2R1bXAvY29tcHJlc3Nf aW8uaCAgICAgICAgIHwgIDExICsrLQogc3JjL2Jpbi9wZ19kdW1wL2NvbXByZXNzX2x6NC5jICAg ICAgICB8ICAxMSArKy0KIHNyYy9iaW4vcGdfZHVtcC9jb21wcmVzc19sejQuaCAgICAgICAgfCAg IDMgKy0KIHNyYy9iaW4vcGdfZHVtcC9jb21wcmVzc19ub25lLmMgICAgICAgfCAgMjYgKysrKysr LQogc3JjL2Jpbi9wZ19kdW1wL2NvbXByZXNzX25vbmUuaCAgICAgICB8ICAgMyArLQogc3JjL2Jp bi9wZ19kdW1wL2NvbXByZXNzX3pzdGQuYyAgICAgICB8ICAxMCArKy0KIHNyYy9iaW4vcGdfZHVt cC9jb21wcmVzc196c3RkLmggICAgICAgfCAgIDMgKy0KIHNyYy9iaW4vcGdfZHVtcC9wZ19iYWNr dXAuaCAgICAgICAgICAgfCAgIDUgKy0KIHNyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfYXJjaGl2 ZXIuYyAgfCAgMjIgKysrLS0tCiBzcmMvYmluL3BnX2R1bXAvcGdfYmFja3VwX2FyY2hpdmVyLmgg IHwgICAyICsKIHNyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfZGlyZWN0b3J5LmMgfCAxMDMgKysr KysrKysrKysrKysrKysrKysrLS0tLS0KIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgICAgICAg ICAgICAgfCAgMzcgKysrKysrKystCiBzcmMvYmluL3BnX2R1bXAvcGdfcmVzdG9yZS5jICAgICAg ICAgIHwgICAyICstCiAxNiBmaWxlcyBjaGFuZ2VkLCAyMjAgaW5zZXJ0aW9ucygrKSwgNTYgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL2NvbXByZXNzX2d6aXAuYyBi L3NyYy9iaW4vcGdfZHVtcC9jb21wcmVzc19nemlwLmMKaW5kZXggYzljZThhNTNhYWEuLjQ2YWM1 YmRkY2Q1IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvY29tcHJlc3NfZ3ppcC5jCisrKyBi L3NyYy9iaW4vcGdfZHVtcC9jb21wcmVzc19nemlwLmMKQEAgLTQxNyw4ICs0MTcsMTIgQEAgR3pp cF9vcGVuX3dyaXRlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm1vZGUsIENvbXByZXNz RmlsZUhhbmRsZSAqQ0ZIKQogCiB2b2lkCiBJbml0Q29tcHJlc3NGaWxlSGFuZGxlR3ppcChDb21w cmVzc0ZpbGVIYW5kbGUgKkNGSCwKLQkJCQkJCSAgIGNvbnN0IHBnX2NvbXByZXNzX3NwZWNpZmlj YXRpb24gY29tcHJlc3Npb25fc3BlYykKKwkJCQkJCSAgIGNvbnN0IHBnX2NvbXByZXNzX3NwZWNp ZmljYXRpb24gY29tcHJlc3Npb25fc3BlYywKKwkJCQkJCSAgIGJvb2wgcGF0aF9pc19waXBlX2Nv bW1hbmQpCiB7CisJaWYgKHBhdGhfaXNfcGlwZV9jb21tYW5kKQorCQlwZ19mYXRhbCgiY1BpcGUg Y29tbWFuZCBub3Qgc3VwcG9ydGVkIGZvciBHemlwIik7CisKIAlDRkgtPm9wZW5fZnVuYyA9IEd6 aXBfb3BlbjsKIAlDRkgtPm9wZW5fd3JpdGVfZnVuYyA9IEd6aXBfb3Blbl93cml0ZTsKIAlDRkgt PnJlYWRfZnVuYyA9IEd6aXBfcmVhZDsKQEAgLTQ0Myw3ICs0NDcsOCBAQCBJbml0Q29tcHJlc3Nv ckd6aXAoQ29tcHJlc3NvclN0YXRlICpjcywKIAogdm9pZAogSW5pdENvbXByZXNzRmlsZUhhbmRs ZUd6aXAoQ29tcHJlc3NGaWxlSGFuZGxlICpDRkgsCi0JCQkJCQkgICBjb25zdCBwZ19jb21wcmVz c19zcGVjaWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMpCisJCQkJCQkgICBjb25zdCBwZ19jb21w cmVzc19zcGVjaWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMsCisJCQkJCQkgICBib29sIHBhdGhf aXNfcGlwZV9jb21tYW5kKQogewogCXBnX2ZhdGFsKCJ0aGlzIGJ1aWxkIGRvZXMgbm90IHN1cHBv cnQgY29tcHJlc3Npb24gd2l0aCAlcyIsICJnemlwIik7CiB9CmRpZmYgLS1naXQgYS9zcmMvYmlu L3BnX2R1bXAvY29tcHJlc3NfZ3ppcC5oIGIvc3JjL2Jpbi9wZ19kdW1wL2NvbXByZXNzX2d6aXAu aAppbmRleCBhZjFhMmEzNDQ1ZS4uZjc3YzVjODZjNTYgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdf ZHVtcC9jb21wcmVzc19nemlwLmgKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL2NvbXByZXNzX2d6aXAu aApAQCAtMTksNiArMTksNyBAQAogZXh0ZXJuIHZvaWQgSW5pdENvbXByZXNzb3JHemlwKENvbXBy ZXNzb3JTdGF0ZSAqY3MsCiAJCQkJCQkJICAgY29uc3QgcGdfY29tcHJlc3Nfc3BlY2lmaWNhdGlv biBjb21wcmVzc2lvbl9zcGVjKTsKIGV4dGVybiB2b2lkIEluaXRDb21wcmVzc0ZpbGVIYW5kbGVH emlwKENvbXByZXNzRmlsZUhhbmRsZSAqQ0ZILAotCQkJCQkJCQkJICAgY29uc3QgcGdfY29tcHJl c3Nfc3BlY2lmaWNhdGlvbiBjb21wcmVzc2lvbl9zcGVjKTsKKwkJCQkJCQkJCSAgIGNvbnN0IHBn X2NvbXByZXNzX3NwZWNpZmljYXRpb24gY29tcHJlc3Npb25fc3BlYywKKwkJCQkJCQkJCSAgIGJv b2wgcGF0aF9pc19waXBlX2NvbW1hbmQpOwogCiAjZW5kaWYJCQkJCQkJLyogX0NPTVBSRVNTX0da SVBfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9jb21wcmVzc19pby5jIGIvc3Jj L2Jpbi9wZ19kdW1wL2NvbXByZXNzX2lvLmMKaW5kZXggNTI2NTJiMGQ5NzkuLmJjNTIxZGQyNzRi IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvY29tcHJlc3NfaW8uYworKysgYi9zcmMvYmlu L3BnX2R1bXAvY29tcHJlc3NfaW8uYwpAQCAtMTkxLDIwICsxOTEsMjkgQEAgZnJlZV9rZWVwX2Vy cm5vKHZvaWQgKnApCiAgKiBJbml0aWFsaXplIGEgY29tcHJlc3MgZmlsZSBoYW5kbGUgZm9yIHRo ZSBzcGVjaWZpZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtLgogICovCiBDb21wcmVzc0ZpbGVIYW5k bGUgKgotSW5pdENvbXByZXNzRmlsZUhhbmRsZShjb25zdCBwZ19jb21wcmVzc19zcGVjaWZpY2F0 aW9uIGNvbXByZXNzaW9uX3NwZWMpCitJbml0Q29tcHJlc3NGaWxlSGFuZGxlKGNvbnN0IHBnX2Nv bXByZXNzX3NwZWNpZmljYXRpb24gY29tcHJlc3Npb25fc3BlYywKKwkJCQkJICAgYm9vbCBwYXRo X2lzX3BpcGVfY29tbWFuZCkKIHsKIAlDb21wcmVzc0ZpbGVIYW5kbGUgKkNGSDsKIAogCUNGSCA9 IHBnX21hbGxvYzBfb2JqZWN0KENvbXByZXNzRmlsZUhhbmRsZSk7CiAKLQlpZiAoY29tcHJlc3Np b25fc3BlYy5hbGdvcml0aG0gPT0gUEdfQ09NUFJFU1NJT05fTk9ORSkKLQkJSW5pdENvbXByZXNz RmlsZUhhbmRsZU5vbmUoQ0ZILCBjb21wcmVzc2lvbl9zcGVjKTsKKwkvKgorCSAqIEFsd2F5cyBz ZXQgdG8gbm9uLWNvbXByZXNzZWQgd2hlbiBwYXRoX2lzX3BpcGVfY29tbWFuZCBhc3N1bWluZyB0 aGF0CisJICogZXh0ZXJuYWwgY29tcHJlc3NvciBhcyBwYXJ0IG9mIHBpcGUgaXMgbW9yZSBlZmZp Y2llbnQuIENhbiByZXZpZXcgaW4KKwkgKiB0aGUgZnV0dXJlLgorCSAqLworCWlmIChwYXRoX2lz X3BpcGVfY29tbWFuZCkKKwkJSW5pdENvbXByZXNzRmlsZUhhbmRsZU5vbmUoQ0ZILCBjb21wcmVz c2lvbl9zcGVjLCBwYXRoX2lzX3BpcGVfY29tbWFuZCk7CisKKwllbHNlIGlmIChjb21wcmVzc2lv bl9zcGVjLmFsZ29yaXRobSA9PSBQR19DT01QUkVTU0lPTl9OT05FKQorCQlJbml0Q29tcHJlc3NG aWxlSGFuZGxlTm9uZShDRkgsIGNvbXByZXNzaW9uX3NwZWMsIHBhdGhfaXNfcGlwZV9jb21tYW5k KTsKIAllbHNlIGlmIChjb21wcmVzc2lvbl9zcGVjLmFsZ29yaXRobSA9PSBQR19DT01QUkVTU0lP Tl9HWklQKQotCQlJbml0Q29tcHJlc3NGaWxlSGFuZGxlR3ppcChDRkgsIGNvbXByZXNzaW9uX3Nw ZWMpOworCQlJbml0Q29tcHJlc3NGaWxlSGFuZGxlR3ppcChDRkgsIGNvbXByZXNzaW9uX3NwZWMs IHBhdGhfaXNfcGlwZV9jb21tYW5kKTsKIAllbHNlIGlmIChjb21wcmVzc2lvbl9zcGVjLmFsZ29y aXRobSA9PSBQR19DT01QUkVTU0lPTl9MWjQpCi0JCUluaXRDb21wcmVzc0ZpbGVIYW5kbGVMWjQo Q0ZILCBjb21wcmVzc2lvbl9zcGVjKTsKKwkJSW5pdENvbXByZXNzRmlsZUhhbmRsZUxaNChDRkgs IGNvbXByZXNzaW9uX3NwZWMsIHBhdGhfaXNfcGlwZV9jb21tYW5kKTsKIAllbHNlIGlmIChjb21w cmVzc2lvbl9zcGVjLmFsZ29yaXRobSA9PSBQR19DT01QUkVTU0lPTl9aU1REKQotCQlJbml0Q29t cHJlc3NGaWxlSGFuZGxlWnN0ZChDRkgsIGNvbXByZXNzaW9uX3NwZWMpOworCQlJbml0Q29tcHJl c3NGaWxlSGFuZGxlWnN0ZChDRkgsIGNvbXByZXNzaW9uX3NwZWMsIHBhdGhfaXNfcGlwZV9jb21t YW5kKTsKIAogCXJldHVybiBDRkg7CiB9CkBAIC0yMzcsNyArMjQ2LDggQEAgY2hlY2tfY29tcHJl c3NlZF9maWxlKGNvbnN0IGNoYXIgKnBhdGgsIGNoYXIgKipmbmFtZSwgY2hhciAqZXh0KQogICog T24gZmFpbHVyZSwgcmV0dXJuIE5VTEwgd2l0aCBhbiBlcnJvciBjb2RlIGluIGVycm5vLgogICov CiBDb21wcmVzc0ZpbGVIYW5kbGUgKgotSW5pdERpc2NvdmVyQ29tcHJlc3NGaWxlSGFuZGxlKGNv bnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm1vZGUpCitJbml0RGlzY292ZXJDb21wcmVzc0Zp bGVIYW5kbGUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqbW9kZSwKKwkJCQkJCQkgICBi b29sIHBhdGhfaXNfcGlwZV9jb21tYW5kKQogewogCUNvbXByZXNzRmlsZUhhbmRsZSAqQ0ZIID0g TlVMTDsKIAlzdHJ1Y3Qgc3RhdCBzdDsKQEAgLTI2OCw3ICsyNzgsNyBAQCBJbml0RGlzY292ZXJD b21wcmVzc0ZpbGVIYW5kbGUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqbW9kZSkKIAkJ CWNvbXByZXNzaW9uX3NwZWMuYWxnb3JpdGhtID0gUEdfQ09NUFJFU1NJT05fWlNURDsKIAl9CiAK LQlDRkggPSBJbml0Q29tcHJlc3NGaWxlSGFuZGxlKGNvbXByZXNzaW9uX3NwZWMpOworCUNGSCA9 IEluaXRDb21wcmVzc0ZpbGVIYW5kbGUoY29tcHJlc3Npb25fc3BlYywgcGF0aF9pc19waXBlX2Nv bW1hbmQpOwogCWVycm5vID0gMDsKIAlpZiAoIUNGSC0+b3Blbl9mdW5jKGZuYW1lLCAtMSwgbW9k ZSwgQ0ZIKSkKIAl7CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvY29tcHJlc3NfaW8uaCBi L3NyYy9iaW4vcGdfZHVtcC9jb21wcmVzc19pby5oCmluZGV4IGVkN2IxNGYwOTYzLi5iZDBmYzI2 MzRkYyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL2NvbXByZXNzX2lvLmgKKysrIGIvc3Jj L2Jpbi9wZ19kdW1wL2NvbXByZXNzX2lvLmgKQEAgLTE4Niw2ICsxODYsMTEgQEAgc3RydWN0IENv bXByZXNzRmlsZUhhbmRsZQogCSAqLwogCXBnX2NvbXByZXNzX3NwZWNpZmljYXRpb24gY29tcHJl c3Npb25fc3BlYzsKIAorCS8qCisJICogQ29tcHJlc3Npb24gc3BlY2lmaWNhdGlvbiBmb3IgdGhp cyBmaWxlIGhhbmRsZS4KKwkgKi8KKwlib29sCQlwYXRoX2lzX3BpcGVfY29tbWFuZDsKKwogCS8q CiAJICogUHJpdmF0ZSBkYXRhIHRvIGJlIHVzZWQgYnkgdGhlIGNvbXByZXNzb3IuCiAJICovCkBA IC0xOTUsNyArMjAwLDggQEAgc3RydWN0IENvbXByZXNzRmlsZUhhbmRsZQogLyoKICAqIEluaXRp YWxpemUgYSBjb21wcmVzcyBmaWxlIGhhbmRsZSB3aXRoIHRoZSByZXF1ZXN0ZWQgY29tcHJlc3Np b24uCiAgKi8KLWV4dGVybiBDb21wcmVzc0ZpbGVIYW5kbGUgKkluaXRDb21wcmVzc0ZpbGVIYW5k bGUoY29uc3QgcGdfY29tcHJlc3Nfc3BlY2lmaWNhdGlvbiBjb21wcmVzc2lvbl9zcGVjKTsKK2V4 dGVybiBDb21wcmVzc0ZpbGVIYW5kbGUgKkluaXRDb21wcmVzc0ZpbGVIYW5kbGUoY29uc3QgcGdf Y29tcHJlc3Nfc3BlY2lmaWNhdGlvbiBjb21wcmVzc2lvbl9zcGVjLAorCQkJCQkJCQkJCQkJICBi b29sIHBhdGhfaXNfcGlwZV9jb21tYW5kKTsKIAogLyoKICAqIEluaXRpYWxpemUgYSBjb21wcmVz cyBmaWxlIHN0cmVhbS4gSW5mZXIgdGhlIGNvbXByZXNzaW9uIGFsZ29yaXRobQpAQCAtMjAzLDYg KzIwOSw3IEBAIGV4dGVybiBDb21wcmVzc0ZpbGVIYW5kbGUgKkluaXRDb21wcmVzc0ZpbGVIYW5k bGUoY29uc3QgcGdfY29tcHJlc3Nfc3BlY2lmaWNhdGlvCiAgKiBzdWZmaXhlcyBpbiAncGF0aCcu CiAgKi8KIGV4dGVybiBDb21wcmVzc0ZpbGVIYW5kbGUgKkluaXREaXNjb3ZlckNvbXByZXNzRmls ZUhhbmRsZShjb25zdCBjaGFyICpwYXRoLAotCQkJCQkJCQkJCQkJCQkgIGNvbnN0IGNoYXIgKm1v ZGUpOworCQkJCQkJCQkJCQkJCQkgIGNvbnN0IGNoYXIgKm1vZGUsCisJCQkJCQkJCQkJCQkJCSAg Ym9vbCBwYXRoX2lzX3BpcGVfY29tbWFuZCk7CiBleHRlcm4gYm9vbCBFbmRDb21wcmVzc0ZpbGVI YW5kbGUoQ29tcHJlc3NGaWxlSGFuZGxlICpDRkgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMv YmluL3BnX2R1bXAvY29tcHJlc3NfbHo0LmMgYi9zcmMvYmluL3BnX2R1bXAvY29tcHJlc3NfbHo0 LmMKaW5kZXggYjcyYmFkMTMwYWQuLmYwMTY2MjdjZWFiIDEwMDY0NAotLS0gYS9zcmMvYmluL3Bn X2R1bXAvY29tcHJlc3NfbHo0LmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL2NvbXByZXNzX2x6NC5j CkBAIC03MzksMTAgKzczOSwxNCBAQCBMWjRTdHJlYW1fb3Blbl93cml0ZShjb25zdCBjaGFyICpw YXRoLCBjb25zdCBjaGFyICptb2RlLCBDb21wcmVzc0ZpbGVIYW5kbGUgKkNGSAogICovCiB2b2lk CiBJbml0Q29tcHJlc3NGaWxlSGFuZGxlTFo0KENvbXByZXNzRmlsZUhhbmRsZSAqQ0ZILAotCQkJ CQkJICBjb25zdCBwZ19jb21wcmVzc19zcGVjaWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMpCisJ CQkJCQkgIGNvbnN0IHBnX2NvbXByZXNzX3NwZWNpZmljYXRpb24gY29tcHJlc3Npb25fc3BlYywK KwkJCQkJCSAgYm9vbCBwYXRoX2lzX3BpcGVfY29tbWFuZCkKIHsKIAlMWjRTdGF0ZSAgICpzdGF0 ZTsKIAorCWlmIChwYXRoX2lzX3BpcGVfY29tbWFuZCkKKwkJcGdfZmF0YWwoIlBpcGUgY29tbWFu ZCBub3Qgc3VwcG9ydGVkIGZvciBMWjQiKTsKKwogCUNGSC0+b3Blbl9mdW5jID0gTFo0U3RyZWFt X29wZW47CiAJQ0ZILT5vcGVuX3dyaXRlX2Z1bmMgPSBMWjRTdHJlYW1fb3Blbl93cml0ZTsKIAlD RkgtPnJlYWRfZnVuYyA9IExaNFN0cmVhbV9yZWFkOwpAQCAtNzU4LDYgKzc2Miw4IEBAIEluaXRD b21wcmVzc0ZpbGVIYW5kbGVMWjQoQ29tcHJlc3NGaWxlSGFuZGxlICpDRkgsCiAJaWYgKENGSC0+ Y29tcHJlc3Npb25fc3BlYy5sZXZlbCA+PSAwKQogCQlzdGF0ZS0+cHJlZnMuY29tcHJlc3Npb25M ZXZlbCA9IENGSC0+Y29tcHJlc3Npb25fc3BlYy5sZXZlbDsKIAorCUNGSC0+cGF0aF9pc19waXBl X2NvbW1hbmQgPSBwYXRoX2lzX3BpcGVfY29tbWFuZDsKKwogCUNGSC0+cHJpdmF0ZV9kYXRhID0g c3RhdGU7CiB9CiAjZWxzZQkJCQkJCQkvKiBVU0VfTFo0ICovCkBAIC03NzAsNyArNzc2LDggQEAg SW5pdENvbXByZXNzb3JMWjQoQ29tcHJlc3NvclN0YXRlICpjcywKIAogdm9pZAogSW5pdENvbXBy ZXNzRmlsZUhhbmRsZUxaNChDb21wcmVzc0ZpbGVIYW5kbGUgKkNGSCwKLQkJCQkJCSAgY29uc3Qg cGdfY29tcHJlc3Nfc3BlY2lmaWNhdGlvbiBjb21wcmVzc2lvbl9zcGVjKQorCQkJCQkJICBjb25z dCBwZ19jb21wcmVzc19zcGVjaWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMsCisJCQkJCQkgIGJv b2wgcGF0aF9pc19waXBlX2NvbW1hbmQpCiB7CiAJcGdfZmF0YWwoInRoaXMgYnVpbGQgZG9lcyBu b3Qgc3VwcG9ydCBjb21wcmVzc2lvbiB3aXRoICVzIiwgIkxaNCIpOwogfQpkaWZmIC0tZ2l0IGEv c3JjL2Jpbi9wZ19kdW1wL2NvbXByZXNzX2x6NC5oIGIvc3JjL2Jpbi9wZ19kdW1wL2NvbXByZXNz X2x6NC5oCmluZGV4IDczNjBhNDY5ZmMwLi40OTAxNDFlZThhMSAxMDA2NDQKLS0tIGEvc3JjL2Jp bi9wZ19kdW1wL2NvbXByZXNzX2x6NC5oCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9jb21wcmVzc19s ejQuaApAQCAtMTksNiArMTksNyBAQAogZXh0ZXJuIHZvaWQgSW5pdENvbXByZXNzb3JMWjQoQ29t cHJlc3NvclN0YXRlICpjcywKIAkJCQkJCQkgIGNvbnN0IHBnX2NvbXByZXNzX3NwZWNpZmljYXRp b24gY29tcHJlc3Npb25fc3BlYyk7CiBleHRlcm4gdm9pZCBJbml0Q29tcHJlc3NGaWxlSGFuZGxl TFo0KENvbXByZXNzRmlsZUhhbmRsZSAqQ0ZILAotCQkJCQkJCQkJICBjb25zdCBwZ19jb21wcmVz c19zcGVjaWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMpOworCQkJCQkJCQkJICBjb25zdCBwZ19j b21wcmVzc19zcGVjaWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMsCisJCQkJCQkJCQkgIGJvb2wg cGF0aF9pc19waXBlX2NvbW1hbmQpOwogCiAjZW5kaWYJCQkJCQkJLyogX0NPTVBSRVNTX0xaNF9I XyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL2NvbXByZXNzX25vbmUuYyBiL3NyYy9i aW4vcGdfZHVtcC9jb21wcmVzc19ub25lLmMKaW5kZXggZDg2MmQ4Y2E2ZTkuLmJjNjNjY2FiZGI2 IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvY29tcHJlc3Nfbm9uZS5jCisrKyBiL3NyYy9i aW4vcGdfZHVtcC9jb21wcmVzc19ub25lLmMKQEAgLTIxMSw3ICsyMTEsMTAgQEAgY2xvc2Vfbm9u ZShDb21wcmVzc0ZpbGVIYW5kbGUgKkNGSCkKIAlpZiAoZnApCiAJewogCQllcnJubyA9IDA7Ci0J CXJldCA9IGZjbG9zZShmcCk7CisJCWlmIChDRkgtPnBhdGhfaXNfcGlwZV9jb21tYW5kKQorCQkJ cmV0ID0gcGNsb3NlKGZwKTsKKwkJZWxzZQorCQkJcmV0ID0gZmNsb3NlKGZwKTsKIAkJaWYgKHJl dCAhPSAwKQogCQkJcGdfbG9nX2Vycm9yKCJjb3VsZCBub3QgY2xvc2UgZmlsZTogJW0iKTsKIAl9 CkBAIC0yMzMsNyArMjM2LDEyIEBAIG9wZW5fbm9uZShjb25zdCBjaGFyICpwYXRoLCBpbnQgZmQs IGNvbnN0IGNoYXIgKm1vZGUsIENvbXByZXNzRmlsZUhhbmRsZSAqQ0ZIKQogCWlmIChmZCA+PSAw KQogCQlDRkgtPnByaXZhdGVfZGF0YSA9IGZkb3BlbihkdXAoZmQpLCBtb2RlKTsKIAllbHNlCi0J CUNGSC0+cHJpdmF0ZV9kYXRhID0gZm9wZW4ocGF0aCwgbW9kZSk7CisJeworCQlpZiAoQ0ZILT5w YXRoX2lzX3BpcGVfY29tbWFuZCkKKwkJCUNGSC0+cHJpdmF0ZV9kYXRhID0gcG9wZW4ocGF0aCwg bW9kZSk7CisJCWVsc2UKKwkJCUNGSC0+cHJpdmF0ZV9kYXRhID0gZm9wZW4ocGF0aCwgbW9kZSk7 CisJfQogCiAJaWYgKENGSC0+cHJpdmF0ZV9kYXRhID09IE5VTEwpCiAJCXJldHVybiBmYWxzZTsK QEAgLTI0Niw3ICsyNTQsMTQgQEAgb3Blbl93cml0ZV9ub25lKGNvbnN0IGNoYXIgKnBhdGgsIGNv bnN0IGNoYXIgKm1vZGUsIENvbXByZXNzRmlsZUhhbmRsZSAqQ0ZIKQogewogCUFzc2VydChDRkgt PnByaXZhdGVfZGF0YSA9PSBOVUxMKTsKIAotCUNGSC0+cHJpdmF0ZV9kYXRhID0gZm9wZW4ocGF0 aCwgbW9kZSk7CisJcGdfbG9nX2RlYnVnKCJPcGVuaW5nICVzLCBwaXBlIGlzICVzIiwKKwkJCQkg cGF0aCwgQ0ZILT5wYXRoX2lzX3BpcGVfY29tbWFuZCA/ICJ0cnVlIiA6ICJmYWxzZSIpOworCisJ aWYgKENGSC0+cGF0aF9pc19waXBlX2NvbW1hbmQpCisJCUNGSC0+cHJpdmF0ZV9kYXRhID0gcG9w ZW4ocGF0aCwgbW9kZSk7CisJZWxzZQorCQlDRkgtPnByaXZhdGVfZGF0YSA9IGZvcGVuKHBhdGgs IG1vZGUpOworCiAJaWYgKENGSC0+cHJpdmF0ZV9kYXRhID09IE5VTEwpCiAJCXJldHVybiBmYWxz ZTsKIApAQCAtMjU5LDcgKzI3NCw4IEBAIG9wZW5fd3JpdGVfbm9uZShjb25zdCBjaGFyICpwYXRo LCBjb25zdCBjaGFyICptb2RlLCBDb21wcmVzc0ZpbGVIYW5kbGUgKkNGSCkKIAogdm9pZAogSW5p dENvbXByZXNzRmlsZUhhbmRsZU5vbmUoQ29tcHJlc3NGaWxlSGFuZGxlICpDRkgsCi0JCQkJCQkg ICBjb25zdCBwZ19jb21wcmVzc19zcGVjaWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMpCisJCQkJ CQkgICBjb25zdCBwZ19jb21wcmVzc19zcGVjaWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMsCisJ CQkJCQkgICBib29sIHBhdGhfaXNfcGlwZV9jb21tYW5kKQogewogCUNGSC0+b3Blbl9mdW5jID0g b3Blbl9ub25lOwogCUNGSC0+b3Blbl93cml0ZV9mdW5jID0gb3Blbl93cml0ZV9ub25lOwpAQCAt MjcxLDUgKzI4Nyw3IEBAIEluaXRDb21wcmVzc0ZpbGVIYW5kbGVOb25lKENvbXByZXNzRmlsZUhh bmRsZSAqQ0ZILAogCUNGSC0+ZW9mX2Z1bmMgPSBlb2Zfbm9uZTsKIAlDRkgtPmdldF9lcnJvcl9m dW5jID0gZ2V0X2Vycm9yX25vbmU7CiAKKwlDRkgtPnBhdGhfaXNfcGlwZV9jb21tYW5kID0gcGF0 aF9pc19waXBlX2NvbW1hbmQ7CisKIAlDRkgtPnByaXZhdGVfZGF0YSA9IE5VTEw7CiB9CmRpZmYg LS1naXQgYS9zcmMvYmluL3BnX2R1bXAvY29tcHJlc3Nfbm9uZS5oIGIvc3JjL2Jpbi9wZ19kdW1w L2NvbXByZXNzX25vbmUuaAppbmRleCA1MTM0ZjAxMmVlOS4uZDg5OGEyZDQxMWMgMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vcGdfZHVtcC9jb21wcmVzc19ub25lLmgKKysrIGIvc3JjL2Jpbi9wZ19kdW1w L2NvbXByZXNzX25vbmUuaApAQCAtMTksNiArMTksNyBAQAogZXh0ZXJuIHZvaWQgSW5pdENvbXBy ZXNzb3JOb25lKENvbXByZXNzb3JTdGF0ZSAqY3MsCiAJCQkJCQkJICAgY29uc3QgcGdfY29tcHJl c3Nfc3BlY2lmaWNhdGlvbiBjb21wcmVzc2lvbl9zcGVjKTsKIGV4dGVybiB2b2lkIEluaXRDb21w cmVzc0ZpbGVIYW5kbGVOb25lKENvbXByZXNzRmlsZUhhbmRsZSAqQ0ZILAotCQkJCQkJCQkJICAg Y29uc3QgcGdfY29tcHJlc3Nfc3BlY2lmaWNhdGlvbiBjb21wcmVzc2lvbl9zcGVjKTsKKwkJCQkJ CQkJCSAgIGNvbnN0IHBnX2NvbXByZXNzX3NwZWNpZmljYXRpb24gY29tcHJlc3Npb25fc3BlYywK KwkJCQkJCQkJCSAgIGJvb2wgcGF0aF9pc19waXBlX2NvbW1hbmQpOwogCiAjZW5kaWYJCQkJCQkJ LyogX0NPTVBSRVNTX05PTkVfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9jb21w cmVzc196c3RkLmMgYi9zcmMvYmluL3BnX2R1bXAvY29tcHJlc3NfenN0ZC5jCmluZGV4IGNmMmRi MjY0OWFjLi5hMmM1MDgyMjU2NiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL2NvbXByZXNz X3pzdGQuYworKysgYi9zcmMvYmluL3BnX2R1bXAvY29tcHJlc3NfenN0ZC5jCkBAIC0yNyw3ICsy Nyw4IEBAIEluaXRDb21wcmVzc29yWnN0ZChDb21wcmVzc29yU3RhdGUgKmNzLCBjb25zdCBwZ19j b21wcmVzc19zcGVjaWZpY2F0aW9uIGNvbXByZXNzCiB9CiAKIHZvaWQKLUluaXRDb21wcmVzc0Zp bGVIYW5kbGVac3RkKENvbXByZXNzRmlsZUhhbmRsZSAqQ0ZILCBjb25zdCBwZ19jb21wcmVzc19z cGVjaWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMpCitJbml0Q29tcHJlc3NGaWxlSGFuZGxlWnN0 ZChDb21wcmVzc0ZpbGVIYW5kbGUgKkNGSCwgY29uc3QgcGdfY29tcHJlc3Nfc3BlY2lmaWNhdGlv biBjb21wcmVzc2lvbl9zcGVjLAorCQkJCQkJICAgYm9vbCBwYXRoX2lzX3BpcGVfY29tbWFuZCkK IHsKIAlwZ19mYXRhbCgidGhpcyBidWlsZCBkb2VzIG5vdCBzdXBwb3J0IGNvbXByZXNzaW9uIHdp dGggJXMiLCAiWlNURCIpOwogfQpAQCAtNTU4LDggKzU1OSwxMiBAQCBac3RkX2dldF9lcnJvcihD b21wcmVzc0ZpbGVIYW5kbGUgKkNGSCkKIAogdm9pZAogSW5pdENvbXByZXNzRmlsZUhhbmRsZVpz dGQoQ29tcHJlc3NGaWxlSGFuZGxlICpDRkgsCi0JCQkJCQkgICBjb25zdCBwZ19jb21wcmVzc19z cGVjaWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMpCisJCQkJCQkgICBjb25zdCBwZ19jb21wcmVz c19zcGVjaWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMsCisJCQkJCQkgICBib29sIHBhdGhfaXNf cGlwZV9jb21tYW5kKQogeworCWlmIChwYXRoX2lzX3BpcGVfY29tbWFuZCkKKwkJcGdfZmF0YWwo IlBpcGUgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGZvciBac3RkIik7CisKIAlDRkgtPm9wZW5fZnVu YyA9IFpzdGRfb3BlbjsKIAlDRkgtPm9wZW5fd3JpdGVfZnVuYyA9IFpzdGRfb3Blbl93cml0ZTsK IAlDRkgtPnJlYWRfZnVuYyA9IFpzdGRfcmVhZDsKQEAgLTU3MSw2ICs1NzYsNyBAQCBJbml0Q29t cHJlc3NGaWxlSGFuZGxlWnN0ZChDb21wcmVzc0ZpbGVIYW5kbGUgKkNGSCwKIAlDRkgtPmdldF9l cnJvcl9mdW5jID0gWnN0ZF9nZXRfZXJyb3I7CiAKIAlDRkgtPmNvbXByZXNzaW9uX3NwZWMgPSBj b21wcmVzc2lvbl9zcGVjOworCUNGSC0+cGF0aF9pc19waXBlX2NvbW1hbmQgPSBwYXRoX2lzX3Bp cGVfY29tbWFuZDsKIAogCUNGSC0+cHJpdmF0ZV9kYXRhID0gTlVMTDsKIH0KZGlmZiAtLWdpdCBh L3NyYy9iaW4vcGdfZHVtcC9jb21wcmVzc196c3RkLmggYi9zcmMvYmluL3BnX2R1bXAvY29tcHJl c3NfenN0ZC5oCmluZGV4IDEyMjJkNzEwN2Q5Li4xZjIzZTcyNjZiZiAxMDA2NDQKLS0tIGEvc3Jj L2Jpbi9wZ19kdW1wL2NvbXByZXNzX3pzdGQuaAorKysgYi9zcmMvYmluL3BnX2R1bXAvY29tcHJl c3NfenN0ZC5oCkBAIC0yMCw2ICsyMCw3IEBACiBleHRlcm4gdm9pZCBJbml0Q29tcHJlc3Nvclpz dGQoQ29tcHJlc3NvclN0YXRlICpjcywKIAkJCQkJCQkgICBjb25zdCBwZ19jb21wcmVzc19zcGVj aWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMpOwogZXh0ZXJuIHZvaWQgSW5pdENvbXByZXNzRmls ZUhhbmRsZVpzdGQoQ29tcHJlc3NGaWxlSGFuZGxlICpDRkgsCi0JCQkJCQkJCQkgICBjb25zdCBw Z19jb21wcmVzc19zcGVjaWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMpOworCQkJCQkJCQkJICAg Y29uc3QgcGdfY29tcHJlc3Nfc3BlY2lmaWNhdGlvbiBjb21wcmVzc2lvbl9zcGVjLAorCQkJCQkJ CQkJICAgYm9vbCBwYXRoX2lzX3BpcGVfY29tbWFuZCk7CiAKICNlbmRpZgkJCQkJCQkvKiBDT01Q UkVTU19aU1REX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXAuaCBi L3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXAuaAppbmRleCAyZjhkOTc5OWMzMC4uNGZjMGViNjRm Y2IgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXAuaAorKysgYi9zcmMvYmlu L3BnX2R1bXAvcGdfYmFja3VwLmgKQEAgLTMxNiwxNCArMzE2LDE1IEBAIGV4dGVybiB2b2lkIFBy b2Nlc3NBcmNoaXZlUmVzdG9yZU9wdGlvbnMoQXJjaGl2ZSAqQUhYKTsKIGV4dGVybiB2b2lkIFJl c3RvcmVBcmNoaXZlKEFyY2hpdmUgKkFIWCk7CiAKIC8qIE9wZW4gYW4gZXhpc3RpbmcgYXJjaGl2 ZSAqLwotZXh0ZXJuIEFyY2hpdmUgKk9wZW5BcmNoaXZlKGNvbnN0IGNoYXIgKkZpbGVTcGVjLCBj b25zdCBBcmNoaXZlRm9ybWF0IGZtdCk7CitleHRlcm4gQXJjaGl2ZSAqT3BlbkFyY2hpdmUoY29u c3QgY2hhciAqRmlsZVNwZWMsIGNvbnN0IEFyY2hpdmVGb3JtYXQgZm10LCBib29sIEZpbGVTcGVj SXNQaXBlKTsKIAogLyogQ3JlYXRlIGEgbmV3IGFyY2hpdmUgKi8KIGV4dGVybiBBcmNoaXZlICpD cmVhdGVBcmNoaXZlKGNvbnN0IGNoYXIgKkZpbGVTcGVjLCBjb25zdCBBcmNoaXZlRm9ybWF0IGZt dCwKIAkJCQkJCQkgIGNvbnN0IHBnX2NvbXByZXNzX3NwZWNpZmljYXRpb24gY29tcHJlc3Npb25f c3BlYywKIAkJCQkJCQkgIGJvb2wgZG9zeW5jLCBBcmNoaXZlTW9kZSBtb2RlLAogCQkJCQkJCSAg U2V0dXBXb3JrZXJQdHJUeXBlIHNldHVwRHVtcFdvcmtlciwKLQkJCQkJCQkgIERhdGFEaXJTeW5j TWV0aG9kIHN5bmNfbWV0aG9kKTsKKwkJCQkJCQkgIERhdGFEaXJTeW5jTWV0aG9kIHN5bmNfbWV0 aG9kLAorCQkJCQkJCSAgYm9vbCBGaWxlU3BlY0lzUGlwZSk7CiAKIC8qIFRoZSAtLWxpc3Qgb3B0 aW9uICovCiBleHRlcm4gdm9pZCBQcmludFRPQ1N1bW1hcnkoQXJjaGl2ZSAqQUhYKTsKZGlmZiAt LWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfYXJjaGl2ZXIuYyBiL3NyYy9iaW4vcGdf ZHVtcC9wZ19iYWNrdXBfYXJjaGl2ZXIuYwppbmRleCA3YWZjYzA4NTljOC4uMDllMTQwMTFkNDgg MTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfYXJjaGl2ZXIuYworKysgYi9z cmMvYmluL3BnX2R1bXAvcGdfYmFja3VwX2FyY2hpdmVyLmMKQEAgLTU2LDcgKzU2LDcgQEAgc3Rh dGljIEFyY2hpdmVIYW5kbGUgKl9hbGxvY0FIKGNvbnN0IGNoYXIgKkZpbGVTcGVjLCBjb25zdCBB cmNoaXZlRm9ybWF0IGZtdCwKIAkJCQkJCQkgICBjb25zdCBwZ19jb21wcmVzc19zcGVjaWZpY2F0 aW9uIGNvbXByZXNzaW9uX3NwZWMsCiAJCQkJCQkJICAgYm9vbCBkb3N5bmMsIEFyY2hpdmVNb2Rl IG1vZGUsCiAJCQkJCQkJICAgU2V0dXBXb3JrZXJQdHJUeXBlIHNldHVwV29ya2VyUHRyLAotCQkJ CQkJCSAgIERhdGFEaXJTeW5jTWV0aG9kIHN5bmNfbWV0aG9kKTsKKwkJCQkJCQkgICBEYXRhRGly U3luY01ldGhvZCBzeW5jX21ldGhvZCwgYm9vbCBGaWxlU3BlY0lzUGlwZSk7CiBzdGF0aWMgdm9p ZCBfZ2V0T2JqZWN0RGVzY3JpcHRpb24oUFFFeHBCdWZmZXIgYnVmLCBjb25zdCBUb2NFbnRyeSAq dGUpOwogc3RhdGljIHZvaWQgX3ByaW50VG9jRW50cnkoQXJjaGl2ZUhhbmRsZSAqQUgsIFRvY0Vu dHJ5ICp0ZSwgY29uc3QgY2hhciAqcGZ4KTsKIHN0YXRpYyB2b2lkIF9kb1NldEZpeGVkT3V0cHV0 U3RhdGUoQXJjaGl2ZUhhbmRsZSAqQUgpOwpAQCAtMjMyLDExICsyMzIsMTIgQEAgQ3JlYXRlQXJj aGl2ZShjb25zdCBjaGFyICpGaWxlU3BlYywgY29uc3QgQXJjaGl2ZUZvcm1hdCBmbXQsCiAJCQkg IGNvbnN0IHBnX2NvbXByZXNzX3NwZWNpZmljYXRpb24gY29tcHJlc3Npb25fc3BlYywKIAkJCSAg Ym9vbCBkb3N5bmMsIEFyY2hpdmVNb2RlIG1vZGUsCiAJCQkgIFNldHVwV29ya2VyUHRyVHlwZSBz ZXR1cER1bXBXb3JrZXIsCi0JCQkgIERhdGFEaXJTeW5jTWV0aG9kIHN5bmNfbWV0aG9kKQorCQkJ ICBEYXRhRGlyU3luY01ldGhvZCBzeW5jX21ldGhvZCwKKwkJCSAgYm9vbCBGaWxlU3BlY0lzUGlw ZSkKIAogewogCUFyY2hpdmVIYW5kbGUgKkFIID0gX2FsbG9jQUgoRmlsZVNwZWMsIGZtdCwgY29t cHJlc3Npb25fc3BlYywKLQkJCQkJCQkJIGRvc3luYywgbW9kZSwgc2V0dXBEdW1wV29ya2VyLCBz eW5jX21ldGhvZCk7CisJCQkJCQkJCSBkb3N5bmMsIG1vZGUsIHNldHVwRHVtcFdvcmtlciwgc3lu Y19tZXRob2QsIEZpbGVTcGVjSXNQaXBlKTsKIAogCXJldHVybiAoQXJjaGl2ZSAqKSBBSDsKIH0K QEAgLTI0NCw3ICsyNDUsNyBAQCBDcmVhdGVBcmNoaXZlKGNvbnN0IGNoYXIgKkZpbGVTcGVjLCBj b25zdCBBcmNoaXZlRm9ybWF0IGZtdCwKIC8qIE9wZW4gYW4gZXhpc3RpbmcgYXJjaGl2ZSAqLwog LyogUHVibGljICovCiBBcmNoaXZlICoKLU9wZW5BcmNoaXZlKGNvbnN0IGNoYXIgKkZpbGVTcGVj LCBjb25zdCBBcmNoaXZlRm9ybWF0IGZtdCkKK09wZW5BcmNoaXZlKGNvbnN0IGNoYXIgKkZpbGVT cGVjLCBjb25zdCBBcmNoaXZlRm9ybWF0IGZtdCwgYm9vbCBGaWxlU3BlY0lzUGlwZSkKIHsKIAlB cmNoaXZlSGFuZGxlICpBSDsKIAlwZ19jb21wcmVzc19zcGVjaWZpY2F0aW9uIGNvbXByZXNzaW9u X3NwZWMgPSB7MH07CkBAIC0yNTIsNyArMjUzLDcgQEAgT3BlbkFyY2hpdmUoY29uc3QgY2hhciAq RmlsZVNwZWMsIGNvbnN0IEFyY2hpdmVGb3JtYXQgZm10KQogCWNvbXByZXNzaW9uX3NwZWMuYWxn b3JpdGhtID0gUEdfQ09NUFJFU1NJT05fTk9ORTsKIAlBSCA9IF9hbGxvY0FIKEZpbGVTcGVjLCBm bXQsIGNvbXByZXNzaW9uX3NwZWMsIHRydWUsCiAJCQkJICBhcmNoTW9kZVJlYWQsIHNldHVwUmVz dG9yZVdvcmtlciwKLQkJCQkgIERBVEFfRElSX1NZTkNfTUVUSE9EX0ZTWU5DKTsKKwkJCQkgIERB VEFfRElSX1NZTkNfTUVUSE9EX0ZTWU5DLCBGaWxlU3BlY0lzUGlwZSk7CiAKIAlyZXR1cm4gKEFy Y2hpdmUgKikgQUg7CiB9CkBAIC0xNzIwLDcgKzE3MjEsNyBAQCBTZXRPdXRwdXQoQXJjaGl2ZUhh bmRsZSAqQUgsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAogCWVsc2UKIAkJbW9kZSA9IFBHX0JJTkFS WV9XOwogCi0JQ0ZIID0gSW5pdENvbXByZXNzRmlsZUhhbmRsZShjb21wcmVzc2lvbl9zcGVjKTsK KwlDRkggPSBJbml0Q29tcHJlc3NGaWxlSGFuZGxlKGNvbXByZXNzaW9uX3NwZWMsIEFILT5mU3Bl Y0lzUGlwZSk7CiAKIAlpZiAoIUNGSC0+b3Blbl9mdW5jKGZpbGVuYW1lLCBmbiwgbW9kZSwgQ0ZI KSkKIAl7CkBAIC0yMzc2LDcgKzIzNzcsOCBAQCBzdGF0aWMgQXJjaGl2ZUhhbmRsZSAqCiBfYWxs b2NBSChjb25zdCBjaGFyICpGaWxlU3BlYywgY29uc3QgQXJjaGl2ZUZvcm1hdCBmbXQsCiAJCSBj b25zdCBwZ19jb21wcmVzc19zcGVjaWZpY2F0aW9uIGNvbXByZXNzaW9uX3NwZWMsCiAJCSBib29s IGRvc3luYywgQXJjaGl2ZU1vZGUgbW9kZSwKLQkJIFNldHVwV29ya2VyUHRyVHlwZSBzZXR1cFdv cmtlclB0ciwgRGF0YURpclN5bmNNZXRob2Qgc3luY19tZXRob2QpCisJCSBTZXR1cFdvcmtlclB0 clR5cGUgc2V0dXBXb3JrZXJQdHIsIERhdGFEaXJTeW5jTWV0aG9kIHN5bmNfbWV0aG9kLAorCQkg Ym9vbCBGaWxlU3BlY0lzUGlwZSkKIHsKIAlBcmNoaXZlSGFuZGxlICpBSDsKIAlDb21wcmVzc0Zp bGVIYW5kbGUgKkNGSDsKQEAgLTI0MTcsNiArMjQxOSw4IEBAIF9hbGxvY0FIKGNvbnN0IGNoYXIg KkZpbGVTcGVjLCBjb25zdCBBcmNoaXZlRm9ybWF0IGZtdCwKIAllbHNlCiAJCUFILT5mU3BlYyA9 IE5VTEw7CiAKKwlBSC0+ZlNwZWNJc1BpcGUgPSBGaWxlU3BlY0lzUGlwZTsKKwogCUFILT5jdXJy VXNlciA9IE5VTEw7CQkvKiB1bmtub3duICovCiAJQUgtPmN1cnJTY2hlbWEgPSBOVUxMOwkJLyog ZGl0dG8gKi8KIAlBSC0+Y3VyclRhYmxlc3BhY2UgPSBOVUxMOwkvKiBkaXR0byAqLwpAQCAtMjQy OSwxNCArMjQzMywxNCBAQCBfYWxsb2NBSChjb25zdCBjaGFyICpGaWxlU3BlYywgY29uc3QgQXJj aGl2ZUZvcm1hdCBmbXQsCiAKIAlBSC0+bW9kZSA9IG1vZGU7CiAJQUgtPmNvbXByZXNzaW9uX3Nw ZWMgPSBjb21wcmVzc2lvbl9zcGVjOwotCUFILT5kb3N5bmMgPSBkb3N5bmM7CisJQUgtPmRvc3lu YyA9IEZpbGVTcGVjSXNQaXBlID8gZmFsc2UgOiBkb3N5bmM7CiAJQUgtPnN5bmNfbWV0aG9kID0g c3luY19tZXRob2Q7CiAKIAltZW1zZXQoJihBSC0+c3FscGFyc2UpLCAwLCBzaXplb2YoQUgtPnNx bHBhcnNlKSk7CiAKIAkvKiBPcGVuIHN0ZG91dCB3aXRoIG5vIGNvbXByZXNzaW9uIGZvciBBSCBv dXRwdXQgaGFuZGxlICovCiAJb3V0X2NvbXByZXNzX3NwZWMuYWxnb3JpdGhtID0gUEdfQ09NUFJF U1NJT05fTk9ORTsKLQlDRkggPSBJbml0Q29tcHJlc3NGaWxlSGFuZGxlKG91dF9jb21wcmVzc19z cGVjKTsKKwlDRkggPSBJbml0Q29tcHJlc3NGaWxlSGFuZGxlKG91dF9jb21wcmVzc19zcGVjLCBB SC0+ZlNwZWNJc1BpcGUpOwogCWlmICghQ0ZILT5vcGVuX2Z1bmMoTlVMTCwgZmlsZW5vKHN0ZG91 dCksIFBHX0JJTkFSWV9BLCBDRkgpKQogCQlwZ19mYXRhbCgiY291bGQgbm90IG9wZW4gc3Rkb3V0 IGZvciBhcHBlbmRpbmc6ICVtIik7CiAJQUgtPk9GID0gQ0ZIOwpkaWZmIC0tZ2l0IGEvc3JjL2Jp bi9wZ19kdW1wL3BnX2JhY2t1cF9hcmNoaXZlci5oIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2JhY2t1 cF9hcmNoaXZlci5oCmluZGV4IDMyNWI1M2ZjOWJkLi5hOGIxYWI3OWU4MiAxMDA2NDQKLS0tIGEv c3JjL2Jpbi9wZ19kdW1wL3BnX2JhY2t1cF9hcmNoaXZlci5oCisrKyBiL3NyYy9iaW4vcGdfZHVt cC9wZ19iYWNrdXBfYXJjaGl2ZXIuaApAQCAtMzAxLDYgKzMwMSw4IEBAIHN0cnVjdCBfYXJjaGl2 ZUhhbmRsZQogCWludAkJCWxvQ291bnQ7CQkvKiAjIG9mIExPcyByZXN0b3JlZCAqLwogCiAJY2hh cgkgICAqZlNwZWM7CQkJLyogQXJjaGl2ZSBGaWxlIFNwZWMgKi8KKwlib29sCQlmU3BlY0lzUGlw ZTsJLyogZlNwZWMgaXMgYSBwaXBlIGNvbW1hbmQgdGVtcGxhdGUgcmVxdWlyaW5nCisJCQkJCQkJ CSAqIHJlcGxhY2luZyAlZiB3aXRoIGZpbGUgbmFtZSAqLwogCUZJTEUJICAgKkZIOwkJCQkvKiBH ZW5lcmFsIHB1cnBvc2UgZmlsZSBoYW5kbGUgKi8KIAl2b2lkCSAgICpPRjsJCQkJLyogT3V0cHV0 IGZpbGUgKi8KIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2JhY2t1cF9kaXJlY3Rv cnkuYyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfZGlyZWN0b3J5LmMKaW5kZXggZDZhMTQy OGM2N2EuLjc0ZmM2NTFmNmY0IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfYmFja3Vw X2RpcmVjdG9yeS5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfZGlyZWN0b3J5LmMK QEAgLTM5LDcgKzM5LDggQEAKICNpbmNsdWRlIDxkaXJlbnQuaD4KICNpbmNsdWRlIDxzeXMvc3Rh dC5oPgogCi0jaW5jbHVkZSAiY29tbW9uL2ZpbGVfdXRpbHMuaCIKKy8qICNpbmNsdWRlICJjb21t b24vZmlsZV91dGlscy5oIiAqLworI2luY2x1ZGUgImNvbW1vbi9wZXJjZW50cmVwbC5oIgogI2lu Y2x1ZGUgImNvbXByZXNzX2lvLmgiCiAjaW5jbHVkZSAiZHVtcHV0aWxzLmgiCiAjaW5jbHVkZSAi cGFyYWxsZWwuaCIKQEAgLTE1Nyw4ICsxNTgsMTEgQEAgSW5pdEFyY2hpdmVGbXRfRGlyZWN0b3J5 KEFyY2hpdmVIYW5kbGUgKkFIKQogCiAJaWYgKEFILT5tb2RlID09IGFyY2hNb2RlV3JpdGUpCiAJ ewotCQkvKiB3ZSBhY2NlcHQgYW4gZW1wdHkgZXhpc3RpbmcgZGlyZWN0b3J5ICovCi0JCWNyZWF0 ZV9vcl9vcGVuX2RpcihjdHgtPmRpcmVjdG9yeSk7CisJCWlmICghQUgtPmZTcGVjSXNQaXBlKQkv KiBubyBjaGVja3MgZm9yIHBpcGUgKi8KKwkJeworCQkJLyogd2UgYWNjZXB0IGFuIGVtcHR5IGV4 aXN0aW5nIGRpcmVjdG9yeSAqLworCQkJY3JlYXRlX29yX29wZW5fZGlyKGN0eC0+ZGlyZWN0b3J5 KTsKKwkJfQogCX0KIAllbHNlCiAJewkJCQkJCQkvKiBSZWFkIE1vZGUgKi8KQEAgLTE2Nyw3ICsx NzEsNyBAQCBJbml0QXJjaGl2ZUZtdF9EaXJlY3RvcnkoQXJjaGl2ZUhhbmRsZSAqQUgpCiAKIAkJ c2V0RmlsZVBhdGgoQUgsIGZuYW1lLCAidG9jLmRhdCIpOwogCi0JCXRvY0ZIID0gSW5pdERpc2Nv dmVyQ29tcHJlc3NGaWxlSGFuZGxlKGZuYW1lLCBQR19CSU5BUllfUik7CisJCXRvY0ZIID0gSW5p dERpc2NvdmVyQ29tcHJlc3NGaWxlSGFuZGxlKGZuYW1lLCBQR19CSU5BUllfUiwgQUgtPmZTcGVj SXNQaXBlKTsKIAkJaWYgKHRvY0ZIID09IE5VTEwpCiAJCQlwZ19mYXRhbCgiY291bGQgbm90IG9w ZW4gaW5wdXQgZmlsZSBcIiVzXCI6ICVtIiwgZm5hbWUpOwogCkBAIC0yOTUsNyArMjk5LDcgQEAg X1N0YXJ0RGF0YShBcmNoaXZlSGFuZGxlICpBSCwgVG9jRW50cnkgKnRlKQogCiAJc2V0RmlsZVBh dGgoQUgsIGZuYW1lLCB0Y3R4LT5maWxlbmFtZSk7CiAKLQljdHgtPmRhdGFGSCA9IEluaXRDb21w cmVzc0ZpbGVIYW5kbGUoQUgtPmNvbXByZXNzaW9uX3NwZWMpOworCWN0eC0+ZGF0YUZIID0gSW5p dENvbXByZXNzRmlsZUhhbmRsZShBSC0+Y29tcHJlc3Npb25fc3BlYywgQUgtPmZTcGVjSXNQaXBl KTsKIAogCWlmICghY3R4LT5kYXRhRkgtPm9wZW5fd3JpdGVfZnVuYyhmbmFtZSwgUEdfQklOQVJZ X1csIGN0eC0+ZGF0YUZIKSkKIAkJcGdfZmF0YWwoImNvdWxkIG5vdCBvcGVuIG91dHB1dCBmaWxl IFwiJXNcIjogJW0iLCBmbmFtZSk7CkBAIC0zNTMsNyArMzU3LDcgQEAgX1ByaW50RmlsZURhdGEo QXJjaGl2ZUhhbmRsZSAqQUgsIGNoYXIgKmZpbGVuYW1lKQogCWlmICghZmlsZW5hbWUpCiAJCXJl dHVybjsKIAotCUNGSCA9IEluaXREaXNjb3ZlckNvbXByZXNzRmlsZUhhbmRsZShmaWxlbmFtZSwg UEdfQklOQVJZX1IpOworCUNGSCA9IEluaXREaXNjb3ZlckNvbXByZXNzRmlsZUhhbmRsZShmaWxl bmFtZSwgUEdfQklOQVJZX1IsIEFILT5mU3BlY0lzUGlwZSk7CiAJaWYgKCFDRkgpCiAJCXBnX2Zh dGFsKCJjb3VsZCBub3Qgb3BlbiBpbnB1dCBmaWxlIFwiJXNcIjogJW0iLCBmaWxlbmFtZSk7CiAK QEAgLTQxNiw3ICs0MjAsNyBAQCBfTG9hZExPcyhBcmNoaXZlSGFuZGxlICpBSCwgVG9jRW50cnkg KnRlKQogCWVsc2UKIAkJc2V0RmlsZVBhdGgoQUgsIHRvY2ZuYW1lLCB0Y3R4LT5maWxlbmFtZSk7 CiAKLQlDRkggPSBjdHgtPkxPc1RvY0ZIID0gSW5pdERpc2NvdmVyQ29tcHJlc3NGaWxlSGFuZGxl KHRvY2ZuYW1lLCBQR19CSU5BUllfUik7CisJQ0ZIID0gY3R4LT5MT3NUb2NGSCA9IEluaXREaXNj b3ZlckNvbXByZXNzRmlsZUhhbmRsZSh0b2NmbmFtZSwgUEdfQklOQVJZX1IsIEFILT5mU3BlY0lz UGlwZSk7CiAKIAlpZiAoY3R4LT5MT3NUb2NGSCA9PSBOVUxMKQogCQlwZ19mYXRhbCgiY291bGQg bm90IG9wZW4gbGFyZ2Ugb2JqZWN0IFRPQyBmaWxlIFwiJXNcIiBmb3IgaW5wdXQ6ICVtIiwKQEAg LTQyNyw2ICs0MzEsNyBAQCBfTG9hZExPcyhBcmNoaXZlSGFuZGxlICpBSCwgVG9jRW50cnkgKnRl KQogCXsKIAkJY2hhcgkJbG9mbmFtZVtNQVhQR1BBVEggKyAxXTsKIAkJY2hhcgkJcGF0aFtNQVhQ R1BBVEhdOworCQljaGFyCSAgICpwaXBlOwogCiAJCS8qIENhbid0IG92ZXJmbG93IGJlY2F1c2Ug bGluZSBhbmQgbG9mbmFtZSBhcmUgdGhlIHNhbWUgbGVuZ3RoICovCiAJCWlmIChzc2NhbmYobGlu ZSwgIiV1ICUiIENwcEFzU3RyaW5nMihNQVhQR1BBVEgpICJzXG4iLCAmb2lkLCBsb2ZuYW1lKSAh PSAyKQpAQCAtNTQ1LDcgKzU1MCw3IEBAIF9DbG9zZUFyY2hpdmUoQXJjaGl2ZUhhbmRsZSAqQUgp CiAKIAkJLyogVGhlIFRPQyBpcyBhbHdheXMgY3JlYXRlZCB1bmNvbXByZXNzZWQgKi8KIAkJY29t cHJlc3Npb25fc3BlYy5hbGdvcml0aG0gPSBQR19DT01QUkVTU0lPTl9OT05FOwotCQl0b2NGSCA9 IEluaXRDb21wcmVzc0ZpbGVIYW5kbGUoY29tcHJlc3Npb25fc3BlYyk7CisJCXRvY0ZIID0gSW5p dENvbXByZXNzRmlsZUhhbmRsZShjb21wcmVzc2lvbl9zcGVjLCBBSC0+ZlNwZWNJc1BpcGUpOwog CQlpZiAoIXRvY0ZILT5vcGVuX3dyaXRlX2Z1bmMoZm5hbWUsIFBHX0JJTkFSWV9XLCB0b2NGSCkp CiAJCQlwZ19mYXRhbCgiY291bGQgbm90IG9wZW4gb3V0cHV0IGZpbGUgXCIlc1wiOiAlbSIsIGZu YW1lKTsKIAkJY3R4LT5kYXRhRkggPSB0b2NGSDsKQEAgLTYwNiwxMyArNjExLDQ2IEBAIF9TdGFy dExPcyhBcmNoaXZlSGFuZGxlICpBSCwgVG9jRW50cnkgKnRlKQogCWxjbFRvY0VudHJ5ICp0Y3R4 ID0gKGxjbFRvY0VudHJ5ICopIHRlLT5mb3JtYXREYXRhOwogCXBnX2NvbXByZXNzX3NwZWNpZmlj YXRpb24gY29tcHJlc3Npb25fc3BlYyA9IHswfTsKIAljaGFyCQlmbmFtZVtNQVhQR1BBVEhdOwor CWNvbnN0IGNoYXIgKm1vZGU7CiAKIAlzZXRGaWxlUGF0aChBSCwgZm5hbWUsIHRjdHgtPmZpbGVu YW1lKTsKIAogCS8qIFRoZSBMTyBUT0MgZmlsZSBpcyBuZXZlciBjb21wcmVzc2VkICovCiAJY29t cHJlc3Npb25fc3BlYy5hbGdvcml0aG0gPSBQR19DT01QUkVTU0lPTl9OT05FOwotCWN0eC0+TE9z VG9jRkggPSBJbml0Q29tcHJlc3NGaWxlSGFuZGxlKGNvbXByZXNzaW9uX3NwZWMpOwotCWlmICgh Y3R4LT5MT3NUb2NGSC0+b3Blbl93cml0ZV9mdW5jKGZuYW1lLCAiYWIiLCBjdHgtPkxPc1RvY0ZI KSkKKwljdHgtPkxPc1RvY0ZIID0gSW5pdENvbXByZXNzRmlsZUhhbmRsZShjb21wcmVzc2lvbl9z cGVjLCBBSC0+ZlNwZWNJc1BpcGUpOworCisJLyoKKwkgKiBYWFg6IFdlIGNhbiBwcm9iYWJseSBz aW1wbGlmeSB0aGlzIGNvZGUgYnkgdXNpbmcgdGhlIG1vZGUgJ3cnIGZvciBhbGwKKwkgKiBjYXNl cy4gVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gaXMgZHVlIHRvIGhpc3RvcmljYWwgcmVhc29u IHRoYXQgdGhlCisJICogbW9kZSBmb3IgdGhlIExPcyBUT0MgZmlsZSBoYXMgYmVlbiAiYWIiIGZy b20gdGhlIHN0YXJ0LiBUaGF0IGlzCisJICogc29tZXRoaW5nIHdlIGNhbid0IGRvIGZvciBwaXBl LWNvbW1hbmQgYXMgcG9wZW4gb25seSBzdXBwb3J0cyByZWFkIGFuZAorCSAqIHdyaXRlLiBTbyBo ZXJlIGEgZGlmZmVyZW50IG1vZGUgaXMgdXNlZCBmb3IgcGlwZXMuCisJICoKKwkgKiBCdXQgaW4g ZnV0dXJlIHdlIGNhbiBldmFsdWF0ZSB1c2luZyAndycgZm9yIGV2ZXJ5dGhpbmcudGhlcmUgaXMg b25lCisJICogVG9DRW50cnkgVGhlcmUgaXMgb25seSBvbmUgVG9DRW50cnkgcGVyIGJsb2IgZ3Jv dXAuIEFuZCBpdCBpcyB3cml0dGVuCisJICogYnkgQFdyaXRlRGF0YUNodW5rc0ZvclRvQ0VudHJ5 LiBUaGlzIGZ1bmN0aW9uIGNhbGxzIF9TdGFydExPcyBvbmNlCisJICogYmVmb3JlIHRoZSBkdW1w ZXIgZnVuY3Rpb24gYW5kIGFuZCBfRW5kTE9zIG9uY2UgYWZ0ZXIgdGhlIGR1bXBlci4gQW5kCisJ ICogdGhlIGR1bXBlciBkdW1wcyBhbGwgdGhlIExPcyBpbiB0aGUgZ3JvdXAuIFNvIGEgYmxvYl9O Tk4udG9jIGlzIG9ubHkKKwkgKiBvcGVuZWQgb25jZSBhbmQgY2xvc2VkIGFmdGVyIGFsbCB0aGUg ZW50cmllcyBhcmUgd3JpdHRlbi4gVGhlcmVmb3JlIHRoZQorCSAqIG1vZGUgY2FuIGJlIG1hZGUg J3cnIGZvciBhbGwgdGhlIGNhc2VzLiBXZSB0ZXN0ZWQgY2hhbmdpbmcgdGhlIG1vZGUgdG8KKwkg KiBQR19CSU5BUllfVyBhbmQgdGhlIHRlc3RzIHBhc3NlZC4gQnV0IGluIGNhc2UgdGhlcmUgYXJl IHNvbWUgbWlzc2luZworCSAqIHNjZW5hcmlvcywgd2UgaGF2ZSBub3QgbWFkZSB0aGF0IGNoYW5n ZSBoZXJlLiBJbnN0ZWFkIGZvciBub3cgb25seQorCSAqIGRvaW5nIGl0IGZvciB0aGUgcGlwZSBj b21tYW5kLgorCSAqCisJICogQW5vdGhlciBhbHRlcm5hdGl2ZSBpcyB0byBrZWVwIHRoZSAnYWIn IG1vZGUgZm9yIHJlZ3VsYXIgZmlsZXMgYW5kIHVzZQorCSAqICd3JyBtb2RlIGZvciBwaXBlIGZp bGVzIGJ1dCBub3cgYWxzbyBjYWNoZSB0aGUgcGlwZSBoYW5kbGUgdG8ga2VlcCBpdAorCSAqIG9w ZW4gdGlsbCBhbGwgdGhlIExPcyBpbiB0aGUgZHVtcCBncm91cCBhcmUgZG9uZS4gVGhpcyBpcyBu b3QgbmVlZGVkCisJICogYmVjYXVzZSBvZiB0aGUgc2FtZSByZWFzb24gbGlzdGVkIGFib3ZlIHRo YXQgYSBmaWxlIGhhbmRsZSBpcyBvbmx5CisJICogb3BlbmVkIG9uY2UuIEluIHNob3J0IHRoZXJl IGFyZSAzIHNvbHV0aW9ucyA6IDEuIENoYW5nZSB0aGUgbW9kZSBmb3IKKwkgKiBldmVyeXRoaW5n IChwcmVmZXJyZWQpIDIuIENoYW5nZSBpdCBvbmx5IGZvciBwaXBlLWNvbW1hbmQgKGN1cnJlbnQp IDMuCisJICogQ2hhbmdlIGl0IGZvciBwaXBlLWNvbW1hbmQgYW5kIHRoZW4gY2FjaGUgdGhvc2Ug aGFuZGxlcyBhbmQgY2xvc2UgdGhlbQorCSAqIGluIHRoZSBlbmQgKG5vdCBuZWVkZWQpLgorCSAq LworCWlmIChBSC0+ZlNwZWNJc1BpcGUpCisJCW1vZGUgPSBQR19CSU5BUllfVzsKKwllbHNlCisJ CW1vZGUgPSAiYWIiOworCWlmICghY3R4LT5MT3NUb2NGSC0+b3Blbl93cml0ZV9mdW5jKGZuYW1l LCBtb2RlLCBjdHgtPkxPc1RvY0ZIKSkKIAkJcGdfZmF0YWwoImNvdWxkIG5vdCBvcGVuIG91dHB1 dCBmaWxlIFwiJXNcIjogJW0iLCBmbmFtZSk7CiB9CiAKQEAgLTYyNiwxMCArNjY0LDIyIEBAIF9T dGFydExPKEFyY2hpdmVIYW5kbGUgKkFILCBUb2NFbnRyeSAqdGUsIE9pZCBvaWQpCiB7CiAJbGNs Q29udGV4dCAqY3R4ID0gKGxjbENvbnRleHQgKikgQUgtPmZvcm1hdERhdGE7CiAJY2hhcgkJZm5h bWVbTUFYUEdQQVRIXTsKKwljaGFyCSAgICpwaXBlOworCWNoYXIJCWJsb2JfbmFtZVtNQVhQR1BB VEhdOwogCi0Jc25wcmludGYoZm5hbWUsIE1BWFBHUEFUSCwgIiVzL2Jsb2JfJXUuZGF0IiwgY3R4 LT5kaXJlY3RvcnksIG9pZCk7CisJaWYgKEFILT5mU3BlY0lzUGlwZSkKKwl7CisJCXNucHJpbnRm KGJsb2JfbmFtZSwgTUFYUEdQQVRILCAiYmxvYl8ldS5kYXQiLCBvaWQpOworCQlwaXBlID0gcmVw bGFjZV9wZXJjZW50X3BsYWNlaG9sZGVycyhjdHgtPmRpcmVjdG9yeSwgInBpcGUtY29tbWFuZCIs ICJmIiwgYmxvYl9uYW1lKTsKKwkJc3RyY3B5KGZuYW1lLCBwaXBlKTsKKwkJcGZyZWUocGlwZSk7 CisJfQorCWVsc2UKKwl7CisJCXNucHJpbnRmKGZuYW1lLCBNQVhQR1BBVEgsICIlcy9ibG9iXyV1 LmRhdCIsIGN0eC0+ZGlyZWN0b3J5LCBvaWQpOworCX0KIAotCWN0eC0+ZGF0YUZIID0gSW5pdENv bXByZXNzRmlsZUhhbmRsZShBSC0+Y29tcHJlc3Npb25fc3BlYyk7CisJY3R4LT5kYXRhRkggPSBJ bml0Q29tcHJlc3NGaWxlSGFuZGxlKEFILT5jb21wcmVzc2lvbl9zcGVjLCBBSC0+ZlNwZWNJc1Bp cGUpOwogCWlmICghY3R4LT5kYXRhRkgtPm9wZW5fd3JpdGVfZnVuYyhmbmFtZSwgUEdfQklOQVJZ X1csIGN0eC0+ZGF0YUZIKSkKIAkJcGdfZmF0YWwoImNvdWxkIG5vdCBvcGVuIG91dHB1dCBmaWxl IFwiJXNcIjogJW0iLCBmbmFtZSk7CiB9CkBAIC02ODMsMTUgKzczMywyNyBAQCBzZXRGaWxlUGF0 aChBcmNoaXZlSGFuZGxlICpBSCwgY2hhciAqYnVmLCBjb25zdCBjaGFyICpyZWxhdGl2ZUZpbGVu YW1lKQogewogCWxjbENvbnRleHQgKmN0eCA9IChsY2xDb250ZXh0ICopIEFILT5mb3JtYXREYXRh OwogCWNoYXIJICAgKmRuYW1lOworCWNoYXIJICAgKnBpcGU7CiAKIAlkbmFtZSA9IGN0eC0+ZGly ZWN0b3J5OwogCi0JaWYgKHN0cmxlbihkbmFtZSkgKyAxICsgc3RybGVuKHJlbGF0aXZlRmlsZW5h bWUpICsgMSA+IE1BWFBHUEFUSCkKLQkJcGdfZmF0YWwoImZpbGUgbmFtZSB0b28gbG9uZzogXCIl c1wiIiwgZG5hbWUpOwogCi0Jc3RyY3B5KGJ1ZiwgZG5hbWUpOwotCXN0cmNhdChidWYsICIvIik7 Ci0Jc3RyY2F0KGJ1ZiwgcmVsYXRpdmVGaWxlbmFtZSk7CisJaWYgKEFILT5mU3BlY0lzUGlwZSkK Kwl7CisJCXBpcGUgPSByZXBsYWNlX3BlcmNlbnRfcGxhY2Vob2xkZXJzKGRuYW1lLCAicGlwZS1j b21tYW5kIiwgImYiLCByZWxhdGl2ZUZpbGVuYW1lKTsKKwkJc3RyY3B5KGJ1ZiwgcGlwZSk7CisJ CXBmcmVlKHBpcGUpOworCX0KKwllbHNlCQkJCQkJLyogcmVwbGFjZSBhbGwgb2N1cnJlbmNlcyBv ZiAlZiBpbiBkbmFtZSB3aXRoCisJCQkJCQkJCSAqIHJlbGF0aXZlRmlsZW5hbWUgKi8KKwl7CisJ CWlmIChzdHJsZW4oZG5hbWUpICsgMSArIHN0cmxlbihyZWxhdGl2ZUZpbGVuYW1lKSArIDEgPiBN QVhQR1BBVEgpCisJCQlwZ19mYXRhbCgiZmlsZSBuYW1lIHRvbyBsb25nOiBcIiVzXCIiLCBkbmFt ZSk7CisKKwkJc3RyY3B5KGJ1ZiwgZG5hbWUpOworCQlzdHJjYXQoYnVmLCAiLyIpOworCQlzdHJj YXQoYnVmLCByZWxhdGl2ZUZpbGVuYW1lKTsKKwl9CiB9CiAKIC8qCkBAIC03MzMsMTcgKzc5NSwy NCBAQCBfUHJlcFBhcmFsbGVsUmVzdG9yZShBcmNoaXZlSGFuZGxlICpBSCkKIAkJICogb25seSBu ZWVkIGFuIGFwcHJveGltYXRlIGluZGljYXRvciBvZiB0aGF0LgogCQkgKi8KIAkJc2V0RmlsZVBh dGgoQUgsIGZuYW1lLCB0Y3R4LT5maWxlbmFtZSk7CisJCXBnX2xvZ19lcnJvcigiZmlsZW5hbWU6 ICVzIiwgZm5hbWUpOwogCiAJCWlmIChzdGF0KGZuYW1lLCAmc3QpID09IDApCiAJCQl0ZS0+ZGF0 YUxlbmd0aCA9IHN0LnN0X3NpemU7CiAJCWVsc2UgaWYgKEFILT5jb21wcmVzc2lvbl9zcGVjLmFs Z29yaXRobSAhPSBQR19DT01QUkVTU0lPTl9OT05FKQogCQl7CisJCQlpZiAoQUgtPmZTcGVjSXNQ aXBlKQorCQkJCXBnX2xvZ19lcnJvcigicGlwZSBhbmQgY29tcHJlc3NlZCIpOwogCQkJaWYgKEFI LT5jb21wcmVzc2lvbl9zcGVjLmFsZ29yaXRobSA9PSBQR19DT01QUkVTU0lPTl9HWklQKQogCQkJ CXN0cmxjYXQoZm5hbWUsICIuZ3oiLCBzaXplb2YoZm5hbWUpKTsKIAkJCWVsc2UgaWYgKEFILT5j b21wcmVzc2lvbl9zcGVjLmFsZ29yaXRobSA9PSBQR19DT01QUkVTU0lPTl9MWjQpCiAJCQkJc3Ry bGNhdChmbmFtZSwgIi5sejQiLCBzaXplb2YoZm5hbWUpKTsKIAkJCWVsc2UgaWYgKEFILT5jb21w cmVzc2lvbl9zcGVjLmFsZ29yaXRobSA9PSBQR19DT01QUkVTU0lPTl9aU1REKQorCQkJeworCQkJ CXBnX2xvZ19lcnJvcigiZmlsZW5hbWU6ICVzIiwgZm5hbWUpOwogCQkJCXN0cmxjYXQoZm5hbWUs ICIuenN0Iiwgc2l6ZW9mKGZuYW1lKSk7CisJCQkJcGdfbG9nX2Vycm9yKCJmaWxlbmFtZTogJXMi LCBmbmFtZSk7CisJCQl9CiAKIAkJCWlmIChzdGF0KGZuYW1lLCAmc3QpID09IDApCiAJCQkJdGUt PmRhdGFMZW5ndGggPSBzdC5zdF9zaXplOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3Bn X2R1bXAuYyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKaW5kZXggNDUwY2VjMjg1YjMuLjZi ZmFjNDE3NGZlIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCisrKyBiL3Ny Yy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKQEAgLTQxOSw2ICs0MTksNyBAQCBtYWluKGludCBhcmdj LCBjaGFyICoqYXJndikKIHsKIAlpbnQJCQljOwogCWNvbnN0IGNoYXIgKmZpbGVuYW1lID0gTlVM TDsKKwlib29sCQlmaWxlbmFtZV9pc19waXBlID0gZmFsc2U7CiAJY29uc3QgY2hhciAqZm9ybWF0 ID0gInAiOwogCVRhYmxlSW5mbyAgKnRibGluZm87CiAJaW50CQkJbnVtVGFibGVzOwpAQCAtNTM1 LDYgKzUzNiw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCQl7ImV4Y2x1ZGUtZXh0 ZW5zaW9uIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIDE3fSwKIAkJeyJzZXF1ZW5jZS1kYXRh Iiwgbm9fYXJndW1lbnQsICZkb3B0LnNlcXVlbmNlX2RhdGEsIDF9LAogCQl7InJlc3RyaWN0LWtl eSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAyNX0sCisJCXsicGlwZS1jb21tYW5kIiwgcmVx dWlyZWRfYXJndW1lbnQsIE5VTEwsIDI2fSwKIAogCQl7TlVMTCwgMCwgTlVMTCwgMH0KIAl9OwpA QCAtNjA2LDcgKzYwOCwxNCBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJCQlicmVh azsKIAogCQkJY2FzZSAnZic6CisJCQkJaWYgKGZpbGVuYW1lICE9IE5VTEwpCisJCQkJeworCQkJ CQlwZ19sb2dfZXJyb3JfaGludCgiT25seSBvbmUgb2YgWy0tZmlsZSwgLS1waXBlLWNvbW1hbmRd IGFsbG93ZWQiKTsKKwkJCQkJZXhpdF9uaWNlbHkoMSk7CisJCQkJfQogCQkJCWZpbGVuYW1lID0g cGdfc3RyZHVwKG9wdGFyZyk7CisJCQkJZmlsZW5hbWVfaXNfcGlwZSA9IGZhbHNlOwkvKiBpdCBh bHJlYWR5IGlzLCBzZXR0aW5nIGFnYWluCisJCQkJCQkJCQkJCSAqIGhlcmUganVzdCBmb3IgY2xh cml0eSAqLwogCQkJCWJyZWFrOwogCiAJCQljYXNlICdGJzoKQEAgLTc5OSw2ICs4MDgsMTYgQEAg bWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCQkJZG9wdC5yZXN0cmljdF9rZXkgPSBwZ19z dHJkdXAob3B0YXJnKTsKIAkJCQlicmVhazsKIAorCQkJY2FzZSAyNjoJCQkvKiBwaXBlIGNvbW1h bmQgKi8KKwkJCQlpZiAoZmlsZW5hbWUgIT0gTlVMTCkKKwkJCQl7CisJCQkJCXBnX2xvZ19lcnJv cl9oaW50KCJPbmx5IG9uZSBvZiBbLS1maWxlLCAtLXBpcGUtY29tbWFuZF0gYWxsb3dlZCIpOwor CQkJCQlleGl0X25pY2VseSgxKTsKKwkJCQl9CisJCQkJZmlsZW5hbWUgPSBwZ19zdHJkdXAob3B0 YXJnKTsKKwkJCQlmaWxlbmFtZV9pc19waXBlID0gdHJ1ZTsKKwkJCQlicmVhazsKKwogCQkJZGVm YXVsdDoKIAkJCQkvKiBnZXRvcHRfbG9uZyBhbHJlYWR5IGVtaXR0ZWQgYSBjb21wbGFpbnQgKi8K IAkJCQlwZ19sb2dfZXJyb3JfaGludCgiVHJ5IFwiJXMgLS1oZWxwXCIgZm9yIG1vcmUgaW5mb3Jt YXRpb24uIiwgcHJvZ25hbWUpOwpAQCAtOTIwLDE0ICs5MzksMjYgQEAgbWFpbihpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCiAJZWxzZSBpZiAoZG9wdC5yZXN0cmljdF9rZXkpCiAJCXBnX2ZhdGFsKCJv cHRpb24gJXMgY2FuIG9ubHkgYmUgdXNlZCB3aXRoICVzIiwKIAkJCQkgIi0tcmVzdHJpY3Qta2V5 IiwgIi0tZm9ybWF0PXBsYWluIik7CisJaWYgKGZpbGVuYW1lX2lzX3BpcGUgJiYgYXJjaGl2ZUZv cm1hdCAhPSBhcmNoRGlyZWN0b3J5KQorCXsKKwkJcGdfbG9nX2Vycm9yX2hpbnQoIk9wdGlvbiAt LXBpcGUtY29tbWFuZCBpcyBvbmx5IHN1cHBvcnRlZCB3aXRoIGRpcmVjdG9yeSBmb3JtYXQuIik7 CisJCWV4aXRfbmljZWx5KDEpOworCX0KKworCWlmIChmaWxlbmFtZV9pc19waXBlICYmIHN0cmNt cChjb21wcmVzc2lvbl9hbGdvcml0aG1fc3RyLCAibm9uZSIpICE9IDApCisJeworCQlwZ19sb2df ZXJyb3JfaGludCgiT3B0aW9uIC0tcGlwZS1jb21tYW5kIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBh bnkgY29tcHJlc3Npb24gdHlwZS4iKTsKKwkJZXhpdF9uaWNlbHkoMSk7CisJfQogCiAJLyoKIAkg KiBDdXN0b20gYW5kIGRpcmVjdG9yeSBmb3JtYXRzIGFyZSBjb21wcmVzc2VkIGJ5IGRlZmF1bHQg d2l0aCBnemlwIHdoZW4KIAkgKiBhdmFpbGFibGUsIG5vdCB0aGUgb3RoZXJzLiAgSWYgZ3ppcCBp cyBub3QgYXZhaWxhYmxlLCBubyBjb21wcmVzc2lvbiBpcwotCSAqIGRvbmUgYnkgZGVmYXVsdC4K KwkgKiBkb25lIGJ5IGRlZmF1bHQuIElmIGRpcmVjdG9yeSBmb3JtYXQgaXMgYmVpbmcgdXNlZCB3 aXRoIHBpcGUtY29tbWFuZCwKKwkgKiBubyBjb21wcmVzc2lvbiBpcyBkb25lLgogCSAqLwogCWlm ICgoYXJjaGl2ZUZvcm1hdCA9PSBhcmNoQ3VzdG9tIHx8IGFyY2hpdmVGb3JtYXQgPT0gYXJjaERp cmVjdG9yeSkgJiYKLQkJIXVzZXJfY29tcHJlc3Npb25fZGVmaW5lZCkKKwkJIWZpbGVuYW1lX2lz X3BpcGUgJiYgIXVzZXJfY29tcHJlc3Npb25fZGVmaW5lZCkKIAl7CiAjaWZkZWYgSEFWRV9MSUJa CiAJCWNvbXByZXNzaW9uX2FsZ29yaXRobV9zdHIgPSAiZ3ppcCI7CkBAIC05NzcsNyArMTAwOCw3 IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCiAJLyogT3BlbiB0aGUgb3V0cHV0IGZp bGUgKi8KIAlmb3V0ID0gQ3JlYXRlQXJjaGl2ZShmaWxlbmFtZSwgYXJjaGl2ZUZvcm1hdCwgY29t cHJlc3Npb25fc3BlYywKLQkJCQkJCSBkb3N5bmMsIGFyY2hpdmVNb2RlLCBzZXR1cER1bXBXb3Jr ZXIsIHN5bmNfbWV0aG9kKTsKKwkJCQkJCSBkb3N5bmMsIGFyY2hpdmVNb2RlLCBzZXR1cER1bXBX b3JrZXIsIHN5bmNfbWV0aG9kLCBmaWxlbmFtZV9pc19waXBlKTsKIAogCS8qIE1ha2UgZHVtcCBv cHRpb25zIGFjY2Vzc2libGUgcmlnaHQgYXdheSAqLwogCVNldEFyY2hpdmVPcHRpb25zKGZvdXQs ICZkb3B0LCBOVUxMKTsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19yZXN0b3JlLmMg Yi9zcmMvYmluL3BnX2R1bXAvcGdfcmVzdG9yZS5jCmluZGV4IDg0YjhkNDEwYzllLi45NDk1YTM3 ZmZjMSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX3Jlc3RvcmUuYworKysgYi9zcmMv YmluL3BnX2R1bXAvcGdfcmVzdG9yZS5jCkBAIC00ODUsNyArNDg1LDcgQEAgbWFpbihpbnQgYXJn YywgY2hhciAqKmFyZ3YpCiAJCQkJCSBvcHRzLT5mb3JtYXROYW1lKTsKIAl9CiAKLQlBSCA9IE9w ZW5BcmNoaXZlKGlucHV0RmlsZVNwZWMsIG9wdHMtPmZvcm1hdCk7CisJQUggPSBPcGVuQXJjaGl2 ZShpbnB1dEZpbGVTcGVjLCBvcHRzLT5mb3JtYXQsIGZhbHNlKTsKIAogCVNldEFyY2hpdmVPcHRp b25zKEFILCBOVUxMLCBvcHRzKTsKIAotLSAKMi41My4wLjM0NS5nOTZkZGZjNWVhYS1nb29nCgo= --000000000000bff803064b3dc384--