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 1w80ea-0007oV-0S for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 18:51:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w80eY-001xFB-2U for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 18:50:59 +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 1w80eY-001xF3-0F for pgsql-hackers@lists.postgresql.org; Wed, 01 Apr 2026 18:50:58 +0000 Received: from mail-qv1-xf34.google.com ([2607:f8b0:4864:20::f34]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w80eV-000000003fe-1mqa for pgsql-hackers@lists.postgresql.org; Wed, 01 Apr 2026 18:50:56 +0000 Received: by mail-qv1-xf34.google.com with SMTP id 6a1803df08f44-8a5800772f3so720606d6.2 for ; Wed, 01 Apr 2026 11:50:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775069454; cv=none; d=google.com; s=arc-20240605; b=Eso7LY6zKiWX8lSn3tx9SeyhEwSNq7S4DMt+v9nRCaAVlEBiv/YzVJi6v0APp90Ijd jPYTcthd8EO3vL39tBVuw77ApcKxIGF8i3ztiTVabKu1ds2lVjJFPIG7VFRx/EQBrUHr f9MPZF3UgGBWGp3daWY69n5D+oEwrQzbtofZ+wJKfYzKJBlHI+TvYrCjowd28fmuHeG0 LmBZQ0qhEUIaVUbbBMDke3w3tay8RtaBcNYJM2weN5EuElXn/yfMHS62NnEiAIl99tKD qk2n3A0NeYVEXXd7rDzi7rB0MOmqZEAS2CZUi222vbsYerNdLl9D8UiwqSFMefqNe01d 9+fw== 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=VZNEYsFLMhq1Ze0PBcXF+WuRF+sx4cKY4cPBBCMSYQM=; fh=Uhl2MTexsexFzR1+X600UgWow4h7Z8f6vT6XJ84cwSU=; b=N3g5TrhG0BRRfhVa1t0PU1odp25uV92iYkgUAqiYSEd7WLjWVa9lqaK/HyCpsng6h5 BMflJTKHUBg41RaV7T0wUCeMKg5r1oMQyWHCuo5eCJTEkRouBUfFW+X4+QsOJibPUG+4 PAd4Xsfzw+iBY/d+Ao0vi8YKgxjgcxMz1D7/UrpQYLgsWdN/fhcXrE0y0sh71H3pwbjP X88UPevZUoAKb2xSSxYlxP8+May81yH8kPL5SO2sIkhvoSRIrtWMpxkjyyxP+2WWAMuR jJ9m50chUMliOIWnT0NUBIwaMmmiLFtbMFerSwJSJbgcb8Dtuef++gKKCU+GDWonXu7N SY3Q==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; t=1775069454; x=1775674254; darn=lists.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=VZNEYsFLMhq1Ze0PBcXF+WuRF+sx4cKY4cPBBCMSYQM=; b=MNN1jxbT4Rhqc/3W8uyroc71Pdxgq6xhDzjj34J8mILl5v4/OHxtt3/VFkUNiLZWFI wP7frgK06AWiQ1gu8skoPLpijyDhddS8RlJV+vEWv1kfZ3CAbcULTlGtzyWtRlMeiO/x sSR6DmekBrMQTnJ0tgwQoHHugm5sAfNqs2YVye5Tsx82AqWVMpHcGZaeCw3ePYy3RaZ1 FqU1aa9yivJumRZvsjmPqPDc/U967ceT1sN0Kx9tAnhiKnQSj5SzQMSghIV03oQpSkMz W2998aw8RpzUkVB9cPSwnV7KnwzYqhvKiFbrnb47IccbSn4GzhMwFmEvVgzKO74v7z+3 muWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775069454; x=1775674254; 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=VZNEYsFLMhq1Ze0PBcXF+WuRF+sx4cKY4cPBBCMSYQM=; b=cR3y5oHH2Z0jOrgO+TI+/2VEUdnMRC853TIfNAZtg/WXwvMjhEePpWw2KOfh2e7+Gh JUHQNr9XGpnH1sYQGyOWzbAiqrzYd0rPRbL45pH+NoC9aF0spbh11iXru1Yv7WCuQX2j 75h1X3DQjOuRR6Wz6KZHoRdaFhA9+9yGz8WkIXXvXwlwJCtfjzPXibZb+VBZ61prwfBW /F/Kapv0eLGFBvfiSB1jqX8g/QulzJDC/03XSHGRuCCLdN4SJSWbjM+2iLxuYj2MNwWJ aF1QDeYLzZ/F7VJg+qsl+73Gc6iA+sglVjcAQXi2crKnlNVIAOq7ySTiVlSNHyde42bB RtMg== X-Gm-Message-State: AOJu0YyEjJrft3KC9dsFeU5yfeLR8nKY2Xmni3PxRey1QavPAxE20Sn1 GiYLAfymf4whnFOKJLb+jpjNV4jXggzWsnQm7Um9xWQVUrdTZ0BIrYKP4DEtFG7CmigEmRPV7Mz smjuKX+QJzD8Jz4pahw3x1q4NVhHUYA5GHcPm4qE5 X-Gm-Gg: ATEYQzxa3RbH7XuQo+Rswz7fSV65Kp8+Q4o/P0wl+ESSR85xqRwKt/YI9hy5d8i701d 1Ddyz1aitfUYocCzUco52uqHMbPPd7PuR4MQieWNen0zpOhrGk5LpeTkryFTVFCLIZGBFHsj7t5 /QOUZni1iSQmIADwHRizim2Q7pIgeVMxjkflS2pQrvqctsT5gkGqJ4isqUTHGXuAGzjNyMm9cp+ IUsno0zWnBxsB0azNC4Dz4kVYCKRg9oOeapIl1Ux/Ay/H3odo39U1K0x+DYtwrYRseOgl/yFpsT jrHtiYTJew== X-Received: by 2002:a05:6214:1d25:b0:89c:cb0f:a4e7 with SMTP id 6a1803df08f44-8a43a659ccamr72133746d6.53.1775069454292; Wed, 01 Apr 2026 11:50:54 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jacob Champion Date: Wed, 1 Apr 2026 11:50:42 -0700 X-Gm-Features: AQROBzBT_GA0n4QgB21KnBg3rSBNt-ew4XiQDcFWl3pXRafXur7lGfPPyON4cbQ Message-ID: Subject: Re: [oauth] Split and extend PGOAUTHDEBUG To: Zsolt Parragi Cc: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000472068064e6a90b2" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000472068064e6a90b2 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Apr 1, 2026 at 10:09=E2=80=AFAM Jacob Champion wrote: > I didn't intend to introduce any new calls to > oauth_get_debug_flags() over those already done in v1/v2; if I did > that's a bug. To make seeing that a little easier, here's the promised version of v3 as an exploded patch series with more detailed justification, based on v2-0001. I'm glad I did that, because I forgot to call attention to a particular change I made that I think is important: > fprintf(stderr, > - "WARNING: PGOAUTHDEBUG: unsafe option \"%s\" requires= UNSAFE: prefix (ignored)\n" > - "Use: PGOAUTHDEBUG=3DUNSAFE:%s\n", > - option, option); > + libpq_gettext("WARNING: PGOAUTHDEBUG option \"%s\" is= unsafe (ignored)\n"), > + option); `UNSAFE` is intended to be a weak defense against social engineering attacks. So these warnings need to be translated, if possible, and we should not provide instructions on how to defeat that defense. The only people who _should_ be using an unsafe feature should also know how to fix this problem. --Jacob --000000000000472068064e6a90b2 Content-Type: application/octet-stream; name="v3.1-0001-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-options.patch" Content-Disposition: attachment; filename="v3.1-0001-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-options.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mngebxx90 RnJvbSAwYjE5N2ZiYjI4NzIwZGRhNmZlMzZhZTQ4M2RjZDgzZDJkZGIxZTQwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBac29sdCBQYXJyYWdpIDx6c29sdC5wYXJyYWdpQHBlcmNvbmEu Y29tPgpEYXRlOiBUaHUsIDExIERlYyAyMDI1IDIzOjU2OjA4ICswMDAwClN1YmplY3Q6IFtQQVRD SCB2My4xIDEvNl0gU3BsaXQgUEdPQVVUSERFQlVHPVVOU0FGRSBpbnRvIG11bHRpcGxlIG9wdGlv bnMKCi0tLQogZG9jL3NyYy9zZ21sL2xpYnBxLnNnbWwgICAgICAgICAgICAgICAgICAgICAgfCAx MjcgKysrKysrKysrKysrKy0tLS0KIHNyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL21lc29uLmJ1 aWxkICAgICAgIHwgICA2ICstCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9tZXNvbi5idWlsZCAgICAg ICAgICAgICB8ICAgMSArCiBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9NYWtlZmlsZSAgICAg ICAgICB8ICAxMSArLQogc3JjL2ludGVyZmFjZXMvbGlicHEvTWFrZWZpbGUgICAgICAgICAgICAg ICAgfCAgIDMgKy0KIHNyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLXV0aWxzLmggICAg IHwgICAzICstCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLmggICAgICAgICB8 ICAxOCArKy0KIHNyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLWN1cmwuYyAgICAgIHwg IDE2ICstLQogc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgtdXRpbHMuYyAgICAgfCAg MTEgLS0KIHNyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL3Rlc3Qtb2F1dGgtY3VybC5jIHwgICA2 ICstCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLWRlYnVnLmMgICB8IDE0MCAr KysrKysrKysrKysrKysrKysrCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLmMg ICAgICAgICB8ICAxNyArLS0KIDEyIGZpbGVzIGNoYW5nZWQsIDI5NSBpbnNlcnRpb25zKCspLCA2 NCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW50ZXJmYWNlcy9saWJwcS9m ZS1hdXRoLW9hdXRoLWRlYnVnLmMKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvbGlicHEuc2dt bCBiL2RvYy9zcmMvc2dtbC9saWJwcS5zZ21sCmluZGV4IGE0OGQzMTYxNDk1Li4yZTVmYjkwMTFl OSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2xpYnBxLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21s L2xpYnBxLnNnbWwKQEAgLTEwNjQzLDM1ICsxMDY0MywxMTIgQEAgdHlwZWRlZiBzdHJ1Y3QKICAg IDwvcGFyYT4KIAogICAgPHBhcmE+Ci0gICAgQSAiZGFuZ2Vyb3VzIGRlYnVnZ2luZyBtb2RlIiBt YXkgYmUgZW5hYmxlZCBieSBzZXR0aW5nIHRoZSBlbnZpcm9ubWVudAotICAgIHZhcmlhYmxlIDxl bnZhcj5QR09BVVRIREVCVUc9VU5TQUZFPC9lbnZhcj4uIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBw cm92aWRlZAotICAgIGZvciBlYXNlIG9mIGxvY2FsIGRldmVsb3BtZW50IGFuZCB0ZXN0aW5nIG9u bHkuIEl0IGRvZXMgc2V2ZXJhbCB0aGluZ3MgdGhhdAotICAgIHlvdSB3aWxsIG5vdCB3YW50IGEg cHJvZHVjdGlvbiBzeXN0ZW0gdG8gZG86CisgICAgRGVidWcgZmVhdHVyZXMgbWF5IGJlIGVuYWJs ZWQgYnkgc2V0dGluZyB0aGUgPGVudmFyPlBHT0FVVEhERUJVRzwvZW52YXI+CisgICAgZW52aXJv bm1lbnQgdmFyaWFibGUuIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBwcm92aWRlZCBmb3IgZWFzZSBv ZiBsb2NhbAorICAgIGRldmVsb3BtZW50IGFuZCB0ZXN0aW5nLiBUaGUgdmFyaWFibGUgYWNjZXB0 cyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mCisgICAgZGVidWcgb3B0aW9uczoKKworICAgIDxw cm9ncmFtbGlzdGluZz4KK1BHT0FVVEhERUJVRz1vcHRpb24xLG9wdGlvbjIsLi4uICAgIDxsaW5l YW5ub3RhdGlvbj5mb3Igc2FmZSBvcHRpb25zIG9ubHk8L2xpbmVhbm5vdGF0aW9uPgorUEdPQVVU SERFQlVHPVVOU0FGRTpvcHRpb24xLG9wdGlvbjIsLi4uICAgIDxsaW5lYW5ub3RhdGlvbj53aGVu IHVzaW5nIHVuc2FmZSBvcHRpb25zPC9saW5lYW5ub3RhdGlvbj4KK1BHT0FVVEhERUJVRz1VTlNB RkUgICAgPGxpbmVhbm5vdGF0aW9uPmxlZ2FjeSBmb3JtYXQ7IGVuYWJsZXMgYWxsIG9wdGlvbnM8 L2xpbmVhbm5vdGF0aW9uPgorICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgICA8L3BhcmE+CiAKLSAg ICA8aXRlbWl6ZWRsaXN0IHNwYWNpbmc9ImNvbXBhY3QiPgotICAgICA8bGlzdGl0ZW0+Ci0gICAg ICA8cGFyYT4KLSAgICAgICBwZXJtaXRzIHRoZSB1c2Ugb2YgdW5lbmNyeXB0ZWQgSFRUUCBkdXJp bmcgdGhlIE9BdXRoIHByb3ZpZGVyIGV4Y2hhbmdlCi0gICAgICA8L3BhcmE+Ci0gICAgIDwvbGlz dGl0ZW0+Ci0gICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPgotICAgICAgIHByaW50cyBIVFRQ IHRyYWZmaWMgKGNvbnRhaW5pbmcgc2V2ZXJhbCBjcml0aWNhbCBzZWNyZXRzKSB0byBzdGFuZGFy ZAotICAgICAgIGVycm9yIGR1cmluZyB0aGUgT0F1dGggZmxvdwotICAgICAgPC9wYXJhPgotICAg ICA8L2xpc3RpdGVtPgotICAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4KLSAgICAgICBwZXJt aXRzIHRoZSB1c2Ugb2YgemVyby1zZWNvbmQgcmV0cnkgaW50ZXJ2YWxzLCB3aGljaCBjYW4gY2F1 c2UgdGhlCi0gICAgICAgY2xpZW50IHRvIGJ1c3ktbG9vcCBhbmQgcG9pbnRsZXNzbHkgY29uc3Vt ZSBDUFUKLSAgICAgIDwvcGFyYT4KLSAgICAgPC9saXN0aXRlbT4KLSAgICA8L2l0ZW1pemVkbGlz dD4KKyAgIDxwYXJhPgorICAgIEF2YWlsYWJsZSBkZWJ1ZyBvcHRpb25zOgorCisgICAgPHZhcmlh YmxlbGlzdD4KKyAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgIDx0ZXJtPjxsaXRlcmFsPmh0dHA8 L2xpdGVyYWw+ICh1bnNhZmUpPC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJh PgorICAgICAgICBQZXJtaXRzIHRoZSB1c2Ugb2YgdW5lbmNyeXB0ZWQgSFRUUCBkdXJpbmcgdGhl IE9BdXRoIHByb3ZpZGVyIGV4Y2hhbmdlLgorICAgICAgICBUaGlzIGFsbG93cyBPQXV0aCBjcmVk ZW50aWFscyB0byBiZSB0cmFuc21pdHRlZCBvdmVyIHVuZW5jcnlwdGVkCisgICAgICAgIGNvbm5l Y3Rpb25zLCB3aGljaCBpcyBleHRyZW1lbHkgZGFuZ2Vyb3VzIGFuZCBzaG91bGQgb25seSBiZSB1 c2VkIGZvcgorICAgICAgICBsb2NhbCB0ZXN0aW5nLgorICAgICAgIDwvcGFyYT4KKyAgICAgIDwv bGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5PgorCisgICAgIDx2YXJsaXN0ZW50cnk+Cisg ICAgICA8dGVybT48bGl0ZXJhbD50cmFjZTwvbGl0ZXJhbD4gKHVuc2FmZSk8L3Rlcm0+CisgICAg ICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+CisgICAgICAgIFByaW50cyBIVFRQIHRyYWZmaWMg dG8gc3RhbmRhcmQgZXJyb3IgZHVyaW5nIHRoZSBPQXV0aCBmbG93LiBUaGlzIG91dHB1dAorICAg ICAgICBjb250YWlucyBjcml0aWNhbCBzZWNyZXRzIGluY2x1ZGluZyBiZWFyZXIgdG9rZW5zLCBj bGllbnQgc2VjcmV0cywgYWNjZXNzCisgICAgICAgIHRva2VucywgYW5kIGF1dGhvcml6YXRpb24g Y29kZXMuIE5ldmVyIHNoYXJlIHRoaXMgb3V0cHV0IHdpdGggdGhpcmQKKyAgICAgICAgcGFydGll cy4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRy eT4KKworICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgPHRlcm0+PGxpdGVyYWw+ZmFzdC1yZXRy eTwvbGl0ZXJhbD4gKHNhZmUpPC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJh PgorICAgICAgICBQZXJtaXRzIHRoZSB1c2Ugb2YgemVyby1zZWNvbmQgcmV0cnkgaW50ZXJ2YWxz IGluc3RlYWQgb2YgdGhlIG5vcm1hbAorICAgICAgICBtaW5pbXVtIG9mIG9uZSBzZWNvbmQuIFRo aXMgY2FuIHNwZWVkIHVwIHRlc3RzIGJ1dCBtYXkgY2F1c2UgdGhlIGNsaWVudAorICAgICAgICB0 byBidXN5LWxvb3AgYW5kIGNvbnN1bWUgQ1BVIHVubmVjZXNzYXJpbHkuCisgICAgICAgPC9wYXJh PgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92YXJsaXN0ZW50cnk+CisKKyAgICAgPHZhcmxp c3RlbnRyeT4KKyAgICAgIDx0ZXJtPjxsaXRlcmFsPnBvbGwtY291bnRzPC9saXRlcmFsPiAoc2Fm ZSk8L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+CisgICAgICAgIFByaW50 cyB0aGUgdG90YWwgbnVtYmVyIG9mIHBvbGwoKSBjYWxscyB0byBzdGFuZGFyZCBlcnJvciB3aGVu IHRoZQorICAgICAgICBPQXV0aCBmbG93IGNvbXBsZXRlcy4gVGhpcyBoZWxwcyBkZXZlbG9wZXJz IGRlYnVnIHRoZSBhc3luYyBtdWx0aXBsZXhlcgorICAgICAgICBiZWhhdmlvci4KKyAgICAgICA8 L3BhcmE+CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgICA8 dmFybGlzdGVudHJ5PgorICAgICAgPHRlcm0+PGxpdGVyYWw+cHJpbnQtcGx1Z2luLWVycm9yczwv bGl0ZXJhbD4gKHNhZmUpPC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgor ICAgICAgICBQcmludHMgcGx1Z2luIGxvYWRpbmcgZXJyb3JzIHRvIHN0YW5kYXJkIGVycm9yLiBU aGlzIGhlbHBzIGRldmVsb3BlcnMKKyAgICAgICAgYW5kIHBhY2thZ2UgbWFpbnRhaW5lcnMgZGVi dWcgaXNzdWVzIHdoZW4gdGhlIE9BdXRoIHBsdWdpbiBmYWlscyB0byBsb2FkLgorICAgICAgIDwv cGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5PgorICAgIDwvdmFy aWFibGVsaXN0PgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBVbnNhZmUgb3B0aW9ucyAo PGxpdGVyYWw+aHR0cDwvbGl0ZXJhbD4sIDxsaXRlcmFsPnRyYWNlPC9saXRlcmFsPikKKyAgICBy ZXF1aXJlIHRoZSA8bGl0ZXJhbD5VTlNBRkU6PC9saXRlcmFsPiBwcmVmaXguCisgICAgSWYgdW5z YWZlIG9wdGlvbnMgYXJlIHNwZWNpZmllZCB3aXRob3V0IHRoaXMgcHJlZml4LCBhIHdhcm5pbmcg aXMgcHJpbnRlZAorICAgIHRvIHN0YW5kYXJkIGVycm9yIGFuZCB0aGF0IG9wdGlvbiBpcyBpZ25v cmVkLiBPdGhlciB2YWxpZCBvcHRpb25zIGluIHRoZQorICAgIGxpc3QgY29udGludWUgdG8gd29y ay4gU2FmZSBvcHRpb25zICg8bGl0ZXJhbD5mYXN0LXJldHJ5PC9saXRlcmFsPiwKKyAgICA8bGl0 ZXJhbD5wb2xsLWNvdW50czwvbGl0ZXJhbD4sIDxsaXRlcmFsPnByaW50LXBsdWdpbi1lcnJvcnM8 L2xpdGVyYWw+KSBjYW4KKyAgICBiZSB1c2VkIHdpdGhvdXQgdGhlIHByZWZpeC4KICAgIDwvcGFy YT4KKworICAgPHBhcmE+CisgICAgVW5yZWNvZ25pemVkIG9wdGlvbiBuYW1lcyB3aWxsIGFsc28g dHJpZ2dlciBhIHdhcm5pbmcgYW5kIGJlIGlnbm9yZWQsIHdoaWxlCisgICAgdmFsaWQgb3B0aW9u cyBjb250aW51ZSB0byB3b3JrLiBUaGlzIGhlbHBzIGNhdGNoIHR5cG9zIGluIHRoZSBlbnZpcm9u bWVudAorICAgIHZhcmlhYmxlIGNvbmZpZ3VyYXRpb24gd2l0aG91dCBicmVha2luZyB0aGUgZGVi dWdnaW5nIG9mIHZhbGlkIG9wdGlvbnMuCisgICA8L3BhcmE+CisKKyAgIDxwYXJhPgorICAgIEV4 YW1wbGVzOgorICAgIDxwcm9ncmFtbGlzdGluZz4KK1BHT0FVVEhERUJVRz1mYXN0LXJldHJ5LHBv bGwtY291bnRzICAgIDxsaW5lYW5ub3RhdGlvbj5zYWZlIG9wdGlvbnMgb25seTwvbGluZWFubm90 YXRpb24+CitQR09BVVRIREVCVUc9VU5TQUZFOmh0dHAsdHJhY2UgICAgPGxpbmVhbm5vdGF0aW9u PmVuYWJsZSBIVFRQIGFuZCB0cmFmZmljIGxvZ2dpbmc8L2xpbmVhbm5vdGF0aW9uPgorUEdPQVVU SERFQlVHPVVOU0FGRTpodHRwLHBvbGwtY291bnRzICAgIDxsaW5lYW5ub3RhdGlvbj5taXggb2Yg dW5zYWZlIGFuZCBzYWZlPC9saW5lYW5ub3RhdGlvbj4KK1BHT0FVVEhERUJVRz1VTlNBRkUgICAg PGxpbmVhbm5vdGF0aW9uPmxlZ2FjeTsgZW5hYmxlcyBhbGwgb3B0aW9uczwvbGluZWFubm90YXRp b24+CisgICAgPC9wcm9ncmFtbGlzdGluZz4KKyAgIDwvcGFyYT4KKwogICAgPHdhcm5pbmc+CiAg ICAgPHBhcmE+Ci0gICAgIERvIG5vdCBzaGFyZSB0aGUgb3V0cHV0IG9mIHRoZSBPQXV0aCBmbG93 IHRyYWZmaWMgd2l0aCB0aGlyZCBwYXJ0aWVzLiBJdAotICAgICBjb250YWlucyBzZWNyZXRzIHRo YXQgY2FuIGJlIHVzZWQgdG8gYXR0YWNrIHlvdXIgY2xpZW50cyBhbmQgc2VydmVycy4KKyAgICAg TmV2ZXIgdXNlIHVuc2FmZSBkZWJ1ZyBvcHRpb25zIGluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRz LiBUaGUKKyAgICAgPGxpdGVyYWw+dHJhY2U8L2xpdGVyYWw+IG9wdGlvbiBpbiBwYXJ0aWN1bGFy IGV4cG9zZXMgc2VjcmV0cyB0aGF0IGNhbiBiZQorICAgICB1c2VkIHRvIGF0dGFjayB5b3VyIGNs aWVudHMgYW5kIHNlcnZlcnMuIERvIG5vdCBzaGFyZSB0aGUgb3V0cHV0IHdpdGggdGhpcmQKKyAg ICAgcGFydGllcy4KICAgICA8L3BhcmE+CiAgICA8L3dhcm5pbmc+CiAgIDwvc2VjdDI+CmRpZmYg LS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9tZXNvbi5idWlsZCBiL3NyYy9pbnRl cmZhY2VzL2xpYnBxLW9hdXRoL21lc29uLmJ1aWxkCmluZGV4IGVhM2E5MDBmNGYxLi5kOGNjOTJl MGMyYyAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvbWVzb24uYnVpbGQK KysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvbWVzb24uYnVpbGQKQEAgLTYsNiArNiw3 IEBAIGVuZGlmCiAKIGxpYnBxX29hdXRoX3NvdXJjZXMgPSBmaWxlcygKICAgJ29hdXRoLWN1cmwu YycsCisgICcuLi9saWJwcS9mZS1hdXRoLW9hdXRoLWRlYnVnLmMnLAogKQogCiAjIFRoZSBzaGFy ZWQgbGlicmFyeSBuZWVkcyBhZGRpdGlvbmFsIGdsdWUgc3ltYm9scy4KQEAgLTYyLDcgKzYzLDEw IEBAIGVuZGlmCiAKIGxpYnBxX29hdXRoX3Rlc3RfZGVwcyA9IFtdCiAKLW9hdXRoX3Rlc3Rfc291 cmNlcyA9IGZpbGVzKCd0ZXN0LW9hdXRoLWN1cmwuYycpICsgbGlicHFfb2F1dGhfc29fc291cmNl cworb2F1dGhfdGVzdF9zb3VyY2VzID0gZmlsZXMoCisgICd0ZXN0LW9hdXRoLWN1cmwuYycsCisg ICcuLi9saWJwcS9mZS1hdXRoLW9hdXRoLWRlYnVnLmMnLAorKSArIGxpYnBxX29hdXRoX3NvX3Nv dXJjZXMKIAogaWYgaG9zdF9zeXN0ZW0gPT0gJ3dpbmRvd3MnCiAgIG9hdXRoX3Rlc3Rfc291cmNl cyArPSByY19iaW5fZ2VuLnByb2Nlc3Mod2luMzJ2ZXJfcmMsIGV4dHJhX2FyZ3M6IFsKZGlmZiAt LWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL21lc29uLmJ1aWxkIGIvc3JjL2ludGVyZmFjZXMv bGlicHEvbWVzb24uYnVpbGQKaW5kZXggYjBhZTcyMTY3YTEuLmQwMzFmNDk2MmU1IDEwMDY0NAot LS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9tZXNvbi5idWlsZAorKysgYi9zcmMvaW50ZXJmYWNl cy9saWJwcS9tZXNvbi5idWlsZApAQCAtMiw2ICsyLDcgQEAKIAogbGlicHFfc291cmNlcyA9IGZp bGVzKAogICAnZmUtYXV0aC1vYXV0aC5jJywKKyAgJ2ZlLWF1dGgtb2F1dGgtZGVidWcuYycsCiAg ICdmZS1hdXRoLXNjcmFtLmMnLAogICAnZmUtYXV0aC5jJywKICAgJ2ZlLWNhbmNlbC5jJywKZGlm ZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL01ha2VmaWxlIGIvc3JjL2ludGVy ZmFjZXMvbGlicHEtb2F1dGgvTWFrZWZpbGUKaW5kZXggMTFlMWEzY2Y1MjguLmM2MDk3ZGRhNTMx IDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9NYWtlZmlsZQorKysgYi9z cmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9NYWtlZmlsZQpAQCAtMzYsMTUgKzM2LDI0IEBAIG92 ZXJyaWRlIENQUEZMQUdTX1NITElCICs9IC1EVVNFX1BSSVZBVEVfRU5DT0RJTkdfRlVOQ1MKIE9C SlMgPSBcCiAJJChXSU4zMlJFUykKIAotT0JKU19TVEFUSUMgPSBvYXV0aC1jdXJsLm8KK09CSlNf U1RBVElDID0gXAorCW9hdXRoLWN1cmwubyBcCisJZmUtYXV0aC1vYXV0aC1kZWJ1Zy5vCiAKICMg VGhlIHNoYXJlZCBsaWJyYXJ5IG5lZWRzIGFkZGl0aW9uYWwgZ2x1ZSBzeW1ib2xzLgogT0JKU19T SExJQiA9IFwKIAlvYXV0aC1jdXJsX3NobGliLm8gXAogCW9hdXRoLXV0aWxzLm8gXAorCWZlLWF1 dGgtb2F1dGgtZGVidWdfc2hsaWIubwogCiBvYXV0aC11dGlscy5vOiBvdmVycmlkZSBDUFBGTEFH UyArPSAkKENQUEZMQUdTX1NITElCKQogCitmZS1hdXRoLW9hdXRoLWRlYnVnLm86ICQobGlicHFf c3JjZGlyKS9mZS1hdXRoLW9hdXRoLWRlYnVnLmMKKwkkKENDKSAkKENGTEFHUykgJChDUFBGTEFH UykgLWMgJDwgLW8gJEAKKworZmUtYXV0aC1vYXV0aC1kZWJ1Z19zaGxpYi5vOiAkKGxpYnBxX3Ny Y2RpcikvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jIGZlLWF1dGgtb2F1dGgtZGVidWcubworCSQoQ0Mp ICQoQ0ZMQUdTKSAkKENGTEFHU19TTCkgJChDUFBGTEFHUykgJChDUFBGTEFHU19TSExJQikgLWMg JDwgLW8gJEAKKwogIyBBZGQgc2hsaWItL3N0bGliLXNwZWNpZmljIG9iamVjdHMuCiAkKHNobGli KTogb3ZlcnJpZGUgT0JKUyArPSAkKE9CSlNfU0hMSUIpCiAkKHNobGliKTogJChPQkpTX1NITElC KQpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvTWFrZWZpbGUgYi9zcmMvaW50ZXJm YWNlcy9saWJwcS9NYWtlZmlsZQppbmRleCAwOTYzOTk1ZWVkNC4uMDk5YzY1NTdlNzcgMTAwNjQ0 Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL01ha2VmaWxlCisrKyBiL3NyYy9pbnRlcmZhY2Vz L2xpYnBxL01ha2VmaWxlCkBAIC00NCw3ICs0NCw4IEBAIE9CSlMgPSBcCiAJbGVnYWN5LXBxc2ln bmFsLm8gXAogCWxpYnBxLWV2ZW50cy5vIFwKIAlwcWV4cGJ1ZmZlci5vIFwKLQlmZS1hdXRoLm8K KwlmZS1hdXRoLm8gXAorCWZlLWF1dGgtb2F1dGgtZGVidWcubwogCiAjIEZpbGUgc2hhcmVkIGFj cm9zcyBhbGwgU1NMIGltcGxlbWVudGF0aW9ucyBzdXBwb3J0ZWQuCiBpZm5lcSAoJCh3aXRoX3Nz bCksbm8pCmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC11dGls cy5oIGIvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgtdXRpbHMuaAppbmRleCAyOTNl OTkzNjk4OS4uZGQ0ZTM4ZDUyNWMgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9h dXRoL29hdXRoLXV0aWxzLmgKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgt dXRpbHMuaApAQCAtMTUsNiArMTUsNyBAQAogI2lmbmRlZiBPQVVUSF9VVElMU19ICiAjZGVmaW5l IE9BVVRIX1VUSUxTX0gKIAorI2luY2x1ZGUgImZlLWF1dGgtb2F1dGguaCIKICNpbmNsdWRlICJs aWJwcS1mZS5oIgogI2luY2x1ZGUgInBxZXhwYnVmZmVyLmgiCiAKQEAgLTM1LDcgKzM2LDcgQEAg dHlwZWRlZiBlbnVtCiAJUEdfQk9PTF9OTwkJCQkJLyogTm8gKGZhbHNlKSAqLwogfSBQR1Rlcm5h cnlCb29sOwogCi1leHRlcm4gYm9vbCBvYXV0aF91bnNhZmVfZGVidWdnaW5nX2VuYWJsZWQodm9p ZCk7CitleHRlcm4gb2F1dGhfZGVidWdfZmxhZ3Mgb2F1dGhfZ2V0X2RlYnVnX2ZsYWdzKHZvaWQp OwogZXh0ZXJuIGludAlwcV9ibG9ja19zaWdwaXBlKHNpZ3NldF90ICpvc2lnc2V0LCBib29sICpz aWdwaXBlX3BlbmRpbmcpOwogZXh0ZXJuIHZvaWQgcHFfcmVzZXRfc2lncGlwZShzaWdzZXRfdCAq b3NpZ3NldCwgYm9vbCBzaWdwaXBlX3BlbmRpbmcsIGJvb2wgZ290X2VwaXBlKTsKIApkaWZmIC0t Z2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5oIGIvc3JjL2ludGVyZmFj ZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5oCmluZGV4IDg3MmY1ZGY1NTFhLi44NTk5NzViY2Q2NyAx MDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5oCisrKyBiL3Ny Yy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGguaApAQCAtMzksOCArMzksMjQgQEAgdHlw ZWRlZiBzdHJ1Y3QKIAl2b2lkCSAgICpmbG93X21vZHVsZTsKIH0gZmVfb2F1dGhfc3RhdGU7CiAK Ky8qCisgKiBEZWJ1ZyBmbGFncyBmb3IgUEdPQVVUSERFQlVHIGVudmlyb25tZW50IHZhcmlhYmxl LgorICogRWFjaCBmbGFnIGNvbnRyb2xzIGEgc3BlY2lmaWMgZGVidWcgZmVhdHVyZS4KKyAqLwor dHlwZWRlZiBzdHJ1Y3Qgb2F1dGhfZGVidWdfZmxhZ3MKK3sKKwkvKiBVTlNBRkUgZmVhdHVyZXMg LSByZXF1aXJlIFVOU0FGRTogcHJlZml4ICovCisJYm9vbAkJaHR0cDsJCQkvKiBhbGxvdyBIVFRQ ICh1bmVuY3J5cHRlZCkgY29ubmVjdGlvbnMgKi8KKwlib29sCQl0cmFjZTsJCQkvKiBsb2cgSFRU UCB0cmFmZmljIChleHBvc2VzIHNlY3JldHMpICovCisKKwkvKiBTQUZFIGZlYXR1cmVzIC0gYWxs b3dlZCB3aXRob3V0IFVOU0FGRTogcHJlZml4ICovCisJYm9vbAkJZmFzdF9yZXRyeTsJCS8qIGFs bG93IHplcm8tc2Vjb25kIHJldHJ5IGludGVydmFscyAqLworCWJvb2wJCXBvbGxfY291bnRzOwkv KiBwcmludCBwb2xsKCkgc3RhdGlzdGljcyAqLworCWJvb2wJCXByaW50X3BsdWdpbl9lcnJvcnM7 CS8qIHByaW50IHBsdWdpbiBsb2FkaW5nIGVycm9ycyAqLworfSBvYXV0aF9kZWJ1Z19mbGFnczsK KwogZXh0ZXJuIHZvaWQgcHFDbGVhck9BdXRoVG9rZW4oUEdjb25uICpjb25uKTsKLWV4dGVybiBi b29sIG9hdXRoX3Vuc2FmZV9kZWJ1Z2dpbmdfZW5hYmxlZCh2b2lkKTsKK2V4dGVybiBvYXV0aF9k ZWJ1Z19mbGFncyBvYXV0aF9nZXRfZGVidWdfZmxhZ3Modm9pZCk7CiAKIC8qIE1lY2hhbmlzbXMg aW4gZmUtYXV0aC1vYXV0aC5jICovCiBleHRlcm4gY29uc3QgcGdfZmVfc2FzbF9tZWNoIHBnX29h dXRoX21lY2g7CmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC1j dXJsLmMgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC1jdXJsLmMKaW5kZXggM2Jh ZWRlMWIyZTcuLjU2NGQ3NmNmMDYzIDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS1v YXV0aC9vYXV0aC1jdXJsLmMKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgt Y3VybC5jCkBAIC0yNzQsNyArMjc0LDcgQEAgc3RydWN0IGFzeW5jX2N0eAogCWludAkJCXJ1bm5p bmc7CQkvKiBpcyBhc3luY2hyb25vdXMgd29yayBpbiBwcm9ncmVzcz8gKi8KIAlib29sCQl1c2Vy X3Byb21wdGVkOwkvKiBoYXZlIHdlIGFscmVhZHkgc2VudCB0aGUgYXV0aHogcHJvbXB0PyAqLwog CWJvb2wJCXVzZWRfYmFzaWNfYXV0aDsJLyogZGlkIHdlIHNlbmQgYSBjbGllbnQgc2VjcmV0PyAq LwotCWJvb2wJCWRlYnVnZ2luZzsJCS8qIGNhbiB3ZSBnaXZlIHVuc2FmZSBkZXZlbG9wZXIgYXNz aXN0YW5jZT8gKi8KKwlvYXV0aF9kZWJ1Z19mbGFncyBkZWJ1Z19mbGFnczsJLyogY2FuIHdlIGdp dmUgZGV2ZWxvcGVyIGFzc2lzdGFuY2UgKi8KIAlpbnQJCQlkYmdfbnVtX2NhbGxzOwkvKiAoZGVi dWcgbW9kZSkgaG93IG1hbnkgdGltZXMgd2VyZSB3ZSBjYWxsZWQ/ICovCiB9OwogCkBAIC0xMDIz LDcgKzEwMjMsNyBAQCBwYXJzZV9pbnRlcnZhbChzdHJ1Y3QgYXN5bmNfY3R4ICphY3R4LCBjb25z dCBjaGFyICppbnRlcnZhbF9zdHIpCiAJcGFyc2VkID0gY2VpbChwYXJzZWQpOwogCiAJaWYgKHBh cnNlZCA8IDEpCi0JCXJldHVybiBhY3R4LT5kZWJ1Z2dpbmcgPyAwIDogMTsKKwkJcmV0dXJuIGFj dHgtPmRlYnVnX2ZsYWdzLmZhc3RfcmV0cnkgPyAwIDogMTsKIAogCWVsc2UgaWYgKHBhcnNlZCA+ PSBJTlRfTUFYKQogCQlyZXR1cm4gSU5UX01BWDsKQEAgLTE3OTcsNyArMTc5Nyw3IEBAIHNldHVw X2N1cmxfaGFuZGxlcyhzdHJ1Y3QgYXN5bmNfY3R4ICphY3R4KQogCSAqLwogCUNIRUNLX1NFVE9Q VChhY3R4LCBDVVJMT1BUX05PU0lHTkFMLCAxTCwgcmV0dXJuIGZhbHNlKTsKIAotCWlmIChhY3R4 LT5kZWJ1Z2dpbmcpCisJaWYgKGFjdHgtPmRlYnVnX2ZsYWdzLnRyYWNlKQogCXsKIAkJLyoKIAkJ ICogU2V0IGEgY2FsbGJhY2sgZm9yIHJldHJpZXZpbmcgZXJyb3IgaW5mb3JtYXRpb24gZnJvbSBs aWJjdXJsLCB0aGUKQEAgLTE4MjksNyArMTgyOSw3IEBAIHNldHVwX2N1cmxfaGFuZGxlcyhzdHJ1 Y3QgYXN5bmNfY3R4ICphY3R4KQogCQljb25zdCBsb25nCXVuc2FmZSA9IENVUkxQUk9UT19IVFRQ UyB8IENVUkxQUk9UT19IVFRQOwogI2VuZGlmCiAKLQkJaWYgKGFjdHgtPmRlYnVnZ2luZykKKwkJ aWYgKGFjdHgtPmRlYnVnX2ZsYWdzLmh0dHApCiAJCQlwcm90b3MgPSB1bnNhZmU7CiAKIAkJQ0hF Q0tfU0VUT1BUKGFjdHgsIHBvcHQsIHByb3RvcywgcmV0dXJuIGZhbHNlKTsKQEAgLTIyOTcsNyAr MjI5Nyw3IEBAIGNoZWNrX2Zvcl9kZXZpY2VfZmxvdyhzdHJ1Y3QgYXN5bmNfY3R4ICphY3R4KQog CSAqIGRlY2VudCB0aW1lIHRvIGJhaWwgb3V0IGlmIHdlJ3JlIG5vdCB1c2luZyBIVFRQUyBmb3Ig dGhlIGVuZHBvaW50cwogCSAqIHdlJ2xsIHVzZSBmb3IgdGhlIGZsb3cuCiAJICovCi0JaWYgKCFh Y3R4LT5kZWJ1Z2dpbmcpCisJaWYgKCFhY3R4LT5kZWJ1Z19mbGFncy5odHRwKQogCXsKIAkJaWYg KHBnX3N0cm5jYXNlY21wKHByb3ZpZGVyLT5kZXZpY2VfYXV0aG9yaXphdGlvbl9lbmRwb2ludCwK IAkJCQkJCSAgIEhUVFBTX1NDSEVNRSwgc3RybGVuKEhUVFBTX1NDSEVNRSkpICE9IDApCkBAIC0z MDI3LDcgKzMwMjcsNyBAQCBwZ19mZV9ydW5fb2F1dGhfZmxvdyhQR2Nvbm4gKmNvbm4sIHN0cnVj dCBQR29hdXRoQmVhcmVyUmVxdWVzdCAqcmVxdWVzdCwKIAkgKiBkcmFpbl90aW1lcl9ldmVudHMo KSwgd2hlbiB3ZSdyZSBpbiBkZWJ1ZyBtb2RlLCB0cmFjayB0aGUgdG90YWwgbnVtYmVyCiAJICog b2YgY2FsbHMgdG8gdGhpcyBmdW5jdGlvbiBhbmQgcHJpbnQgdGhhdCBhdCB0aGUgZW5kIG9mIHRo ZSBmbG93LgogCSAqLwotCWlmIChhY3R4LT5kZWJ1Z2dpbmcpCisJaWYgKGFjdHggJiYgYWN0eC0+ ZGVidWdfZmxhZ3MucG9sbF9jb3VudHMpCiAJewogCQlhY3R4LT5kYmdfbnVtX2NhbGxzKys7CiAJ CWlmIChyZXN1bHQgPT0gUEdSRVNfUE9MTElOR19PSyB8fCByZXN1bHQgPT0gUEdSRVNfUE9MTElO R19GQUlMRUQpCkBAIC0zMDg3LDggKzMwODcsOCBAQCBwZ19zdGFydF9vYXV0aGJlYXJlcihQR2Nv bm4gKmNvbm4sIFBHb2F1dGhCZWFyZXJSZXF1ZXN0VjIgKnJlcXVlc3QpCiAJICogTm93IGZpbmlz aCBmaWxsaW5nIGluIHRoZSBhY3R4LgogCSAqLwogCi0JLyogU2hvdWxkIHdlIGVuYWJsZSB1bnNh ZmUgZmVhdHVyZXM/ICovCi0JYWN0eC0+ZGVidWdnaW5nID0gb2F1dGhfdW5zYWZlX2RlYnVnZ2lu Z19lbmFibGVkKCk7CisJLyogUGFyc2UgZGVidWcgZmxhZ3MgZnJvbSB0aGUgZW52aXJvbm1lbnQu ICovCisJYWN0eC0+ZGVidWdfZmxhZ3MgPSBvYXV0aF9nZXRfZGVidWdfZmxhZ3MoKTsKIAogCWlu aXRQUUV4cEJ1ZmZlcigmYWN0eC0+d29ya19kYXRhKTsKIAlpbml0UFFFeHBCdWZmZXIoJmFjdHgt PmVycmJ1Zik7CmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC11 dGlscy5jIGIvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgtdXRpbHMuYwppbmRleCBj Y2IwZDliZjJjNS4uMDA0ZDQxZjAyYWEgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBx LW9hdXRoL29hdXRoLXV0aWxzLmMKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1 dGgtdXRpbHMuYwpAQCAtNzUsMTcgKzc1LDYgQEAgbGlicHFfZ2V0dGV4dChjb25zdCBjaGFyICpt c2dpZCkKIAogI2VuZGlmCQkJCQkJCS8qIEVOQUJMRV9OTFMgKi8KIAotLyoKLSAqIFJldHVybnMg dHJ1ZSBpZiB0aGUgUEdPQVVUSERFQlVHPVVOU0FGRSBmbGFnIGlzIHNldCBpbiB0aGUgZW52aXJv bm1lbnQuCi0gKi8KLWJvb2wKLW9hdXRoX3Vuc2FmZV9kZWJ1Z2dpbmdfZW5hYmxlZCh2b2lkKQot ewotCWNvbnN0IGNoYXIgKmVudiA9IGdldGVudigiUEdPQVVUSERFQlVHIik7Ci0KLQlyZXR1cm4g KGVudiAmJiBzdHJjbXAoZW52LCAiVU5TQUZFIikgPT0gMCk7Ci19Ci0KIC8qCiAgKiBEdXBsaWNh dGUgU09DS19FUlJOTyogZGVmaW5pdGlvbnMgZnJvbSBsaWJwcS1pbnQuaCwgZm9yIHVzZSBieQog ICogcHFfYmxvY2svcmVzZXRfc2lncGlwZSgpLgpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMv bGlicHEtb2F1dGgvdGVzdC1vYXV0aC1jdXJsLmMgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0 aC90ZXN0LW9hdXRoLWN1cmwuYwppbmRleCA0MzI4YTMzMjczOC4uMDY4MTViZTlhMGEgMTAwNjQ0 Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL3Rlc3Qtb2F1dGgtY3VybC5jCisrKyBi L3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL3Rlc3Qtb2F1dGgtY3VybC5jCkBAIC04OSw3ICs4 OSwxMSBAQCBpbml0X3Rlc3RfYWN0eCh2b2lkKQogCiAJYWN0eC0+bXV4ID0gUEdJTlZBTElEX1NP Q0tFVDsKIAlhY3R4LT50aW1lcmZkID0gLTE7Ci0JYWN0eC0+ZGVidWdnaW5nID0gdHJ1ZTsKKwlh Y3R4LT5kZWJ1Z19mbGFncy5odHRwID0gdHJ1ZTsKKwlhY3R4LT5kZWJ1Z19mbGFncy50cmFjZSA9 IHRydWU7CisJYWN0eC0+ZGVidWdfZmxhZ3MuZmFzdF9yZXRyeSA9IHRydWU7CisJYWN0eC0+ZGVi dWdfZmxhZ3MucG9sbF9jb3VudHMgPSB0cnVlOworCWFjdHgtPmRlYnVnX2ZsYWdzLnByaW50X3Bs dWdpbl9lcnJvcnMgPSB0cnVlOwogCiAJaW5pdFBRRXhwQnVmZmVyKCZhY3R4LT5lcnJidWYpOwog CmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLWRlYnVnLmMg Yi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLWRlYnVnLmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmY5YTFiMWYxOTVmCi0tLSAvZGV2L251bGwKKysr IGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jCkBAIC0wLDAgKzEs MTQwIEBACisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBmZS1hdXRoLW9hdXRoLWRlYnVnLmMK KyAqCSAgUGFyc2luZyBsb2dpYyBmb3IgUEdPQVVUSERFQlVHIGVudmlyb25tZW50IHZhcmlhYmxl CisgKgorICogVGhpcyBmaWxlIGNvbnRhaW5zIHB1cmUgc3RyaW5nIHBhcnNpbmcgbG9naWMgd2l0 aCBubyBkZXBlbmRlbmNpZXMgb24KKyAqIGxpYnBxIG9yIGxpYnBxLW9hdXRoIGltcGxlbWVudGF0 aW9uIGRldGFpbHMuIEl0J3MgY29tcGlsZWQgaW50byBib3RoCisgKiBsaWJyYXJpZXMgdG8gYXZv aWQgY29kZSBkdXBsaWNhdGlvbi4KKyAqCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYt MjAyNSwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAqIFBvcnRpb25zIENv cHlyaWdodCAoYykgMTk5NCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlh CisgKgorICogSURFTlRJRklDQVRJT04KKyAqIAlzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRo LW9hdXRoLWRlYnVnLmMKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisjaW5jbHVkZSAi cG9zdGdyZXNfZmUuaCIKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+ CisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJmZS1hdXRoLW9hdXRoLmgiCisKKy8q CisgKiBQYXJzZSBhIHNpbmdsZSBkZWJ1ZyBvcHRpb24gZnJvbSBQR09BVVRIREVCVUcuCisgKiBS ZXR1cm5zIHRydWUgaWYgdGhlIG9wdGlvbiBpcyByZWNvZ25pemVkLCBmYWxzZSBvdGhlcndpc2Uu CisgKiBTZXRzICppc191bnNhZmUgdG8gaW5kaWNhdGUgaWYgdGhpcyBvcHRpb24gcmVxdWlyZXMg dGhlIFVOU0FGRTogcHJlZml4LgorICovCitzdGF0aWMgYm9vbAorcGFyc2VfZGVidWdfb3B0aW9u KGNvbnN0IGNoYXIgKm9wdGlvbiwgb2F1dGhfZGVidWdfZmxhZ3MgKmZsYWdzLCBib29sICppc191 bnNhZmUpCit7CisJKmlzX3Vuc2FmZSA9IGZhbHNlOworCisJLyogVW5zYWZlIG9wdGlvbnMgKi8K KwlpZiAoc3RyY21wKG9wdGlvbiwgImh0dHAiKSA9PSAwKQorCXsKKwkJZmxhZ3MtPmh0dHAgPSB0 cnVlOworCQkqaXNfdW5zYWZlID0gdHJ1ZTsKKwkJcmV0dXJuIHRydWU7CisJfQorCWVsc2UgaWYg KHN0cmNtcChvcHRpb24sICJ0cmFjZSIpID09IDApCisJeworCQlmbGFncy0+dHJhY2UgPSB0cnVl OworCQkqaXNfdW5zYWZlID0gdHJ1ZTsKKwkJcmV0dXJuIHRydWU7CisJfQorCS8qIFNhZmUgb3B0 aW9ucyAqLworCWVsc2UgaWYgKHN0cmNtcChvcHRpb24sICJmYXN0LXJldHJ5IikgPT0gMCkKKwl7 CisJCWZsYWdzLT5mYXN0X3JldHJ5ID0gdHJ1ZTsKKwkJcmV0dXJuIHRydWU7CisJfQorCWVsc2Ug aWYgKHN0cmNtcChvcHRpb24sICJwb2xsLWNvdW50cyIpID09IDApCisJeworCQlmbGFncy0+cG9s bF9jb3VudHMgPSB0cnVlOworCQlyZXR1cm4gdHJ1ZTsKKwl9CisJZWxzZSBpZiAoc3RyY21wKG9w dGlvbiwgInByaW50LXBsdWdpbi1lcnJvcnMiKSA9PSAwKQorCXsKKwkJZmxhZ3MtPnByaW50X3Bs dWdpbl9lcnJvcnMgPSB0cnVlOworCQlyZXR1cm4gdHJ1ZTsKKwl9CisKKwlyZXR1cm4gZmFsc2U7 Cit9CisKKy8qCisgKiBQYXJzZXMgdGhlIFBHT0FVVEhERUJVRyBlbnZpcm9ubWVudCB2YXJpYWJs ZSBhbmQgcmV0dXJucyBkZWJ1ZyBmbGFncy4KKyAqCisgKiBTdXBwb3J0ZWQgZm9ybWF0czoKKyAq ICAgUEdPQVVUSERFQlVHPVVOU0FGRSAgICAgICAgICAgICAgLSBsZWdhY3kgZm9ybWF0LCBlbmFi bGVzIGFsbCBmZWF0dXJlcworICogICBQR09BVVRIREVCVUc9b3B0aW9uMSxvcHRpb24yICAgICAt IGVuYWJsZSBzYWZlIGZlYXR1cmVzIG9ubHkKKyAqICAgUEdPQVVUSERFQlVHPVVOU0FGRTpvcHQx LG9wdDIgICAgLSBlbmFibGUgdW5zYWZlIGFuZC9vciBzYWZlIGZlYXR1cmVzCisgKgorICogUHJp bnRzIGEgd2FybmluZyBhbmQgc2tpcHMgdGhlIGludmFsaWQgb3B0aW9uIGlmOgorICogLSBBbiB1 bnJlY29nbml6ZWQgb3B0aW9uIGlzIHNwZWNpZmllZAorICogLSBBbiB1bnNhZmUgb3B0aW9uIGlz IHNwZWNpZmllZCB3aXRob3V0IHRoZSBVTlNBRkU6IHByZWZpeAorICovCitvYXV0aF9kZWJ1Z19m bGFncworb2F1dGhfZ2V0X2RlYnVnX2ZsYWdzKHZvaWQpCit7CisJb2F1dGhfZGVidWdfZmxhZ3Mg ZmxhZ3MgPSB7MH07CisJY29uc3QgY2hhciAqZW52ID0gZ2V0ZW52KCJQR09BVVRIREVCVUciKTsK KwljaGFyCSAgICpvcHRpb25zX3N0cjsKKwljaGFyCSAgICpvcHRpb247CisJY2hhcgkgICAqc2F2 ZXB0ciA9IE5VTEw7CisJYm9vbAkJdW5zYWZlX3ByZWZpeCA9IGZhbHNlOworCisJaWYgKCFlbnYg fHwgZW52WzBdID09ICdcMCcpCisJCXJldHVybiBmbGFnczsKKworCWlmIChzdHJjbXAoZW52LCAi VU5TQUZFIikgPT0gMCkKKwl7CisJCWZsYWdzLmh0dHAgPSB0cnVlOworCQlmbGFncy50cmFjZSA9 IHRydWU7CisJCWZsYWdzLmZhc3RfcmV0cnkgPSB0cnVlOworCQlmbGFncy5wb2xsX2NvdW50cyA9 IHRydWU7CisJCWZsYWdzLnByaW50X3BsdWdpbl9lcnJvcnMgPSB0cnVlOworCQlyZXR1cm4gZmxh Z3M7CisJfQorCisJaWYgKHN0cm5jbXAoZW52LCAiVU5TQUZFOiIsIDcpID09IDApCisJeworCQl1 bnNhZmVfcHJlZml4ID0gdHJ1ZTsKKwkJZW52ICs9IDc7CisJfQorCisJb3B0aW9uc19zdHIgPSBz dHJkdXAoZW52KTsKKwlpZiAoIW9wdGlvbnNfc3RyKQorCQlyZXR1cm4gZmxhZ3M7CisKKwlvcHRp b24gPSBzdHJ0b2tfcihvcHRpb25zX3N0ciwgIiwiLCAmc2F2ZXB0cik7CisJd2hpbGUgKG9wdGlv biAhPSBOVUxMKQorCXsKKwkJYm9vbAkJaXNfdW5zYWZlOworCisJCWlmICghcGFyc2VfZGVidWdf b3B0aW9uKG9wdGlvbiwgJmZsYWdzLCAmaXNfdW5zYWZlKSkKKwkJeworCQkJZnByaW50ZihzdGRl cnIsCisJCQkJCSJXQVJOSU5HOiBQR09BVVRIREVCVUc6IHVucmVjb2duaXplZCBkZWJ1ZyBvcHRp b24gXCIlc1wiIChpZ25vcmVkKVxuIiwKKwkJCQkJb3B0aW9uKTsKKwkJfQorCQllbHNlIGlmIChp c191bnNhZmUgJiYgIXVuc2FmZV9wcmVmaXgpCisJCXsKKwkJCWZwcmludGYoc3RkZXJyLAorCQkJ CQkiV0FSTklORzogUEdPQVVUSERFQlVHOiB1bnNhZmUgb3B0aW9uIFwiJXNcIiByZXF1aXJlcyBV TlNBRkU6IHByZWZpeCAoaWdub3JlZClcbiIKKwkJCQkJIlVzZTogUEdPQVVUSERFQlVHPVVOU0FG RTolc1xuIiwKKwkJCQkJb3B0aW9uLCBvcHRpb24pOworCQl9CisKKwkJb3B0aW9uID0gc3RydG9r X3IoTlVMTCwgIiwiLCAmc2F2ZXB0cik7CisJfQorCisJZnJlZShvcHRpb25zX3N0cik7CisKKwly ZXR1cm4gZmxhZ3M7Cit9CmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRo LW9hdXRoLmMgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLmMKaW5kZXggYWMw M2QxZDRmOWQuLjVmNTkwMGE5YWU3IDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9m ZS1hdXRoLW9hdXRoLmMKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5j CkBAIC0zODksNyArMzg5LDcgQEAgaXNzdWVyX2Zyb21fd2VsbF9rbm93bl91cmkoUEdjb25uICpj b25uLCBjb25zdCBjaGFyICp3a3VyaSkKIAkJYXV0aG9yaXR5X3N0YXJ0ID0gd2t1cmkgKyBzdHJs ZW4oSFRUUFNfU0NIRU1FKTsKIAogCWlmICghYXV0aG9yaXR5X3N0YXJ0Ci0JCSYmIG9hdXRoX3Vu c2FmZV9kZWJ1Z2dpbmdfZW5hYmxlZCgpCisJCSYmIG9hdXRoX2dldF9kZWJ1Z19mbGFncygpLmh0 dHAKIAkJJiYgcGdfc3RybmNhc2VjbXAod2t1cmksIEhUVFBfU0NIRU1FLCBzdHJsZW4oSFRUUF9T Q0hFTUUpKSA9PSAwKQogCXsKIAkJLyogQWxsb3cgaHR0cDovLyBmb3IgdGVzdGluZyBvbmx5LiAq LwpAQCAtOTAwLDcgKzkwMCw3IEBAIHVzZV9idWlsdGluX2Zsb3coUEdjb25uICpjb25uLCBmZV9v YXV0aF9zdGF0ZSAqc3RhdGUsIFBHb2F1dGhCZWFyZXJSZXF1ZXN0VjIgKnJlCiAJCSAqCiAJCSAq IE5vdGUgdGhhdCBQT1NJWCBkbGVycm9yKCkgaXNuJ3QgZ3VhcmFudGVlZCB0byBiZSB0aHJlYWRz YWZlLgogCQkgKi8KLQkJaWYgKG9hdXRoX3Vuc2FmZV9kZWJ1Z2dpbmdfZW5hYmxlZCgpKQorCQlp ZiAob2F1dGhfZ2V0X2RlYnVnX2ZsYWdzKCkucHJpbnRfcGx1Z2luX2Vycm9ycykKIAkJCWZwcmlu dGYoc3RkZXJyLCAiZmFpbGVkIGRsb3BlbiBmb3IgbGlicHEtb2F1dGg6ICVzXG4iLCBkbGVycm9y KCkpOwogCiAJCXJldHVybiAwOwpAQCAtOTIyLDcgKzkyMiw3IEBAIHVzZV9idWlsdGluX2Zsb3co UEdjb25uICpjb25uLCBmZV9vYXV0aF9zdGF0ZSAqc3RhdGUsIFBHb2F1dGhCZWFyZXJSZXF1ZXN0 VjIgKnJlCiAJCSAqIGNhdXNlIGlzIHN0aWxsIGxvY2tlZCBiZWhpbmQgUEdPQVVUSERFQlVHIGR1 ZSB0byB0aGUgZGxlcnJvcigpCiAJCSAqIHRocmVhZHNhZmV0eSBpc3N1ZS4KIAkJICovCi0JCWlm IChvYXV0aF91bnNhZmVfZGVidWdnaW5nX2VuYWJsZWQoKSkKKwkJaWYgKG9hdXRoX2dldF9kZWJ1 Z19mbGFncygpLnByaW50X3BsdWdpbl9lcnJvcnMpCiAJCQlmcHJpbnRmKHN0ZGVyciwgImZhaWxl ZCBkbHN5bSBmb3IgbGlicHEtb2F1dGg6ICVzXG4iLCBkbGVycm9yKCkpOwogCiAJCWRsY2xvc2Uo c3RhdGUtPmZsb3dfbW9kdWxlKTsKQEAgLTE0MzcsMTcgKzE0MzcsNiBAQCBwcUNsZWFyT0F1dGhU b2tlbihQR2Nvbm4gKmNvbm4pCiAJY29ubi0+b2F1dGhfdG9rZW4gPSBOVUxMOwogfQogCi0vKgot ICogUmV0dXJucyB0cnVlIGlmIHRoZSBQR09BVVRIREVCVUc9VU5TQUZFIGZsYWcgaXMgc2V0IGlu IHRoZSBlbnZpcm9ubWVudC4KLSAqLwotYm9vbAotb2F1dGhfdW5zYWZlX2RlYnVnZ2luZ19lbmFi bGVkKHZvaWQpCi17Ci0JY29uc3QgY2hhciAqZW52ID0gZ2V0ZW52KCJQR09BVVRIREVCVUciKTsK LQotCXJldHVybiAoZW52ICYmIHN0cmNtcChlbnYsICJVTlNBRkUiKSA9PSAwKTsKLX0KLQogLyoK ICAqIEhvb2sgdjEgUG9pc29uaW5nCiAgKgotLSAKMi4zNC4xCgo= --000000000000472068064e6a90b2 Content-Type: application/octet-stream; name="v3.1-0002-squash-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-.patch" Content-Disposition: attachment; filename="v3.1-0002-squash-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mngec0mr1 RnJvbSA2MjE5YTI2OGRmNGZlZmRkOTliZjY0YTNjMmRlOTU0ODMzOGNiYzYyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8amFjb2IuY2hhbXBpb25AZW50ZXJw cmlzZWRiLmNvbT4KRGF0ZTogV2VkLCAxIEFwciAyMDI2IDEwOjI5OjE2IC0wNzAwClN1YmplY3Q6 IFtQQVRDSCB2My4xIDIvNl0gc3F1YXNoISBTcGxpdCBQR09BVVRIREVCVUc9VU5TQUZFIGludG8g bXVsdGlwbGUKIG9wdGlvbnMKCi0gUmVuYW1lIHVzZXItZmFjaW5nIG9wdGlvbnMgaW4gcGFyc2lu ZyBhbmQgZG9jdW1lbnRhdGlvbi4KLSBNb3ZlIGRvcy1lbmRwb2ludCB0byBVTlNBRkUuCi0gUmVh bGlnbiBsaW5lYW5ub3RhdGlvbnMgYW5kIHVwZGF0ZSBkb2MgZGVzY3JpcHRpb25zLgotLS0KIGRv Yy9zcmMvc2dtbC9saWJwcS5zZ21sICAgICAgICAgICAgICAgICAgICB8IDQ1ICsrKysrKysrKyst LS0tLS0tLS0tLS0KIHNyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcuYyB8 ICA5ICsrKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9saWJwcS5zZ21sIGIvZG9jL3NyYy9zZ21s L2xpYnBxLnNnbWwKaW5kZXggMmU1ZmI5MDExZTkuLjAxYTY1NDE5Zjk5IDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvbGlicHEuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvbGlicHEuc2dtbApAQCAt MTA2NDksOSArMTA2NDksOSBAQCB0eXBlZGVmIHN0cnVjdAogICAgIGRlYnVnIG9wdGlvbnM6CiAK ICAgICA8cHJvZ3JhbWxpc3Rpbmc+Ci1QR09BVVRIREVCVUc9b3B0aW9uMSxvcHRpb24yLC4uLiAg ICA8bGluZWFubm90YXRpb24+Zm9yIHNhZmUgb3B0aW9ucyBvbmx5PC9saW5lYW5ub3RhdGlvbj4K LVBHT0FVVEhERUJVRz1VTlNBRkU6b3B0aW9uMSxvcHRpb24yLC4uLiAgICA8bGluZWFubm90YXRp b24+d2hlbiB1c2luZyB1bnNhZmUgb3B0aW9uczwvbGluZWFubm90YXRpb24+Ci1QR09BVVRIREVC VUc9VU5TQUZFICAgIDxsaW5lYW5ub3RhdGlvbj5sZWdhY3kgZm9ybWF0OyBlbmFibGVzIGFsbCBv cHRpb25zPC9saW5lYW5ub3RhdGlvbj4KK1BHT0FVVEhERUJVRz1vcHRpb24xLG9wdGlvbjIsLi4u ICAgICAgICAgPGxpbmVhbm5vdGF0aW9uPmZvciBzYWZlIG9wdGlvbnMgb25seTwvbGluZWFubm90 YXRpb24+CitQR09BVVRIREVCVUc9VU5TQUZFOm9wdGlvbjEsb3B0aW9uMiwuLi4gIDxsaW5lYW5u b3RhdGlvbj53aGVuIHVzaW5nIHVuc2FmZSBvcHRpb25zPC9saW5lYW5ub3RhdGlvbj4KK1BHT0FV VEhERUJVRz1VTlNBRkUgICAgICAgICAgICAgICAgICAgICAgPGxpbmVhbm5vdGF0aW9uPmxlZ2Fj eSBmb3JtYXQ7IGVuYWJsZXMgYWxsIG9wdGlvbnM8L2xpbmVhbm5vdGF0aW9uPgogICAgIDwvcHJv Z3JhbWxpc3Rpbmc+CiAgICA8L3BhcmE+CiAKQEAgLTEwNjg0LDI5ICsxMDY4NCwyOSBAQCBQR09B VVRIREVCVUc9VU5TQUZFICAgIDxsaW5lYW5ub3RhdGlvbj5sZWdhY3kgZm9ybWF0OyBlbmFibGVz IGFsbCBvcHRpb25zPC9saW5lYQogICAgICA8L3Zhcmxpc3RlbnRyeT4KIAogICAgICA8dmFybGlz dGVudHJ5PgotICAgICAgPHRlcm0+PGxpdGVyYWw+ZmFzdC1yZXRyeTwvbGl0ZXJhbD4gKHNhZmUp PC90ZXJtPgorICAgICAgPHRlcm0+PGxpdGVyYWw+ZG9zLWVuZHBvaW50PC9saXRlcmFsPiAodW5z YWZlKTwvdGVybT4KICAgICAgIDxsaXN0aXRlbT4KICAgICAgICA8cGFyYT4KICAgICAgICAgUGVy bWl0cyB0aGUgdXNlIG9mIHplcm8tc2Vjb25kIHJldHJ5IGludGVydmFscyBpbnN0ZWFkIG9mIHRo ZSBub3JtYWwKLSAgICAgICAgbWluaW11bSBvZiBvbmUgc2Vjb25kLiBUaGlzIGNhbiBzcGVlZCB1 cCB0ZXN0cyBidXQgbWF5IGNhdXNlIHRoZSBjbGllbnQKLSAgICAgICAgdG8gYnVzeS1sb29wIGFu ZCBjb25zdW1lIENQVSB1bm5lY2Vzc2FyaWx5LgorICAgICAgICBtaW5pbXVtIG9mIG9uZSBzZWNv bmQuIFRoaXMgc3BlZWRzIHVwIHRlc3RzLCBidXQgaW4gbm9ybWFsIG9wZXJhdGlvbiBpdAorICAg ICAgICB3aWxsIGNhdXNlIHRoZSBjbGllbnQgdG8gYnVzeS1sb29wLCBjb25zdW1pbmcgQ1BVIGFu ZCBuZXR3b3JrIHJlc291cmNlcy4KICAgICAgICA8L3BhcmE+CiAgICAgICA8L2xpc3RpdGVtPgog ICAgICA8L3Zhcmxpc3RlbnRyeT4KIAogICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgPHRlcm0+ PGxpdGVyYWw+cG9sbC1jb3VudHM8L2xpdGVyYWw+IChzYWZlKTwvdGVybT4KKyAgICAgIDx0ZXJt PjxsaXRlcmFsPmNhbGwtY291bnQ8L2xpdGVyYWw+IChzYWZlKTwvdGVybT4KICAgICAgIDxsaXN0 aXRlbT4KICAgICAgICA8cGFyYT4KLSAgICAgICAgUHJpbnRzIHRoZSB0b3RhbCBudW1iZXIgb2Yg cG9sbCgpIGNhbGxzIHRvIHN0YW5kYXJkIGVycm9yIHdoZW4gdGhlCi0gICAgICAgIE9BdXRoIGZs b3cgY29tcGxldGVzLiBUaGlzIGhlbHBzIGRldmVsb3BlcnMgZGVidWcgdGhlIGFzeW5jIG11bHRp cGxleGVyCi0gICAgICAgIGJlaGF2aW9yLgorICAgICAgICBQcmludHMgdGhlIHRvdGFsIG51bWJl ciBvZiBjYWxscyB0byB0aGUgZmxvdyBwbHVnaW4gdG8gc3RhbmRhcmQgZXJyb3IKKyAgICAgICAg d2hlbiB0aGUgT0F1dGggZmxvdyBjb21wbGV0ZXMuIFRoaXMgaGVscHMgZGV2ZWxvcGVycyBkZWJ1 ZyB0aGUgYXN5bmMKKyAgICAgICAgY2FsbGJhY2sgYmVoYXZpb3IuCiAgICAgICAgPC9wYXJhPgog ICAgICAgPC9saXN0aXRlbT4KICAgICAgPC92YXJsaXN0ZW50cnk+CiAKICAgICAgPHZhcmxpc3Rl bnRyeT4KLSAgICAgIDx0ZXJtPjxsaXRlcmFsPnByaW50LXBsdWdpbi1lcnJvcnM8L2xpdGVyYWw+ IChzYWZlKTwvdGVybT4KKyAgICAgIDx0ZXJtPjxsaXRlcmFsPnBsdWdpbi1lcnJvcnM8L2xpdGVy YWw+IChzYWZlKTwvdGVybT4KICAgICAgIDxsaXN0aXRlbT4KICAgICAgICA8cGFyYT4KICAgICAg ICAgUHJpbnRzIHBsdWdpbiBsb2FkaW5nIGVycm9ycyB0byBzdGFuZGFyZCBlcnJvci4gVGhpcyBo ZWxwcyBkZXZlbG9wZXJzCkBAIC0xMDcxOCwxMyArMTA3MTgsMTIgQEAgUEdPQVVUSERFQlVHPVVO U0FGRSAgICA8bGluZWFubm90YXRpb24+bGVnYWN5IGZvcm1hdDsgZW5hYmxlcyBhbGwgb3B0aW9u czwvbGluZWEKICAgIDwvcGFyYT4KIAogICAgPHBhcmE+Ci0gICAgVW5zYWZlIG9wdGlvbnMgKDxs aXRlcmFsPmh0dHA8L2xpdGVyYWw+LCA8bGl0ZXJhbD50cmFjZTwvbGl0ZXJhbD4pCi0gICAgcmVx dWlyZSB0aGUgPGxpdGVyYWw+VU5TQUZFOjwvbGl0ZXJhbD4gcHJlZml4LgorICAgIFVuc2FmZSBv cHRpb25zICg8bGl0ZXJhbD5odHRwPC9saXRlcmFsPiwgPGxpdGVyYWw+dHJhY2U8L2xpdGVyYWw+ LAorICAgIDxsaXRlcmFsPmRvcy1lbmRwb2ludDwvbGl0ZXJhbD4pIHJlcXVpcmUgdGhlIDxsaXRl cmFsPlVOU0FGRTo8L2xpdGVyYWw+IHByZWZpeC4KICAgICBJZiB1bnNhZmUgb3B0aW9ucyBhcmUg c3BlY2lmaWVkIHdpdGhvdXQgdGhpcyBwcmVmaXgsIGEgd2FybmluZyBpcyBwcmludGVkCiAgICAg dG8gc3RhbmRhcmQgZXJyb3IgYW5kIHRoYXQgb3B0aW9uIGlzIGlnbm9yZWQuIE90aGVyIHZhbGlk IG9wdGlvbnMgaW4gdGhlCi0gICAgbGlzdCBjb250aW51ZSB0byB3b3JrLiBTYWZlIG9wdGlvbnMg KDxsaXRlcmFsPmZhc3QtcmV0cnk8L2xpdGVyYWw+LAotICAgIDxsaXRlcmFsPnBvbGwtY291bnRz PC9saXRlcmFsPiwgPGxpdGVyYWw+cHJpbnQtcGx1Z2luLWVycm9yczwvbGl0ZXJhbD4pIGNhbgot ICAgIGJlIHVzZWQgd2l0aG91dCB0aGUgcHJlZml4LgorICAgIGxpc3QgY29udGludWUgdG8gd29y ay4gU2FmZSBvcHRpb25zICg8bGl0ZXJhbD5jYWxsLWNvdW50PC9saXRlcmFsPiwKKyAgICA8bGl0 ZXJhbD5wbHVnaW4tZXJyb3JzPC9saXRlcmFsPikgY2FuIGJlIHVzZWQgd2l0aG91dCB0aGUgcHJl Zml4LgogICAgPC9wYXJhPgogCiAgICA8cGFyYT4KQEAgLTEwNzM2LDE5ICsxMDczNSwxNyBAQCBQ R09BVVRIREVCVUc9VU5TQUZFICAgIDxsaW5lYW5ub3RhdGlvbj5sZWdhY3kgZm9ybWF0OyBlbmFi bGVzIGFsbCBvcHRpb25zPC9saW5lYQogICAgPHBhcmE+CiAgICAgRXhhbXBsZXM6CiAgICAgPHBy b2dyYW1saXN0aW5nPgotUEdPQVVUSERFQlVHPWZhc3QtcmV0cnkscG9sbC1jb3VudHMgICAgPGxp bmVhbm5vdGF0aW9uPnNhZmUgb3B0aW9ucyBvbmx5PC9saW5lYW5ub3RhdGlvbj4KLVBHT0FVVEhE RUJVRz1VTlNBRkU6aHR0cCx0cmFjZSAgICA8bGluZWFubm90YXRpb24+ZW5hYmxlIEhUVFAgYW5k IHRyYWZmaWMgbG9nZ2luZzwvbGluZWFubm90YXRpb24+Ci1QR09BVVRIREVCVUc9VU5TQUZFOmh0 dHAscG9sbC1jb3VudHMgICAgPGxpbmVhbm5vdGF0aW9uPm1peCBvZiB1bnNhZmUgYW5kIHNhZmU8 L2xpbmVhbm5vdGF0aW9uPgotUEdPQVVUSERFQlVHPVVOU0FGRSAgICA8bGluZWFubm90YXRpb24+ bGVnYWN5OyBlbmFibGVzIGFsbCBvcHRpb25zPC9saW5lYW5ub3RhdGlvbj4KK1BHT0FVVEhERUJV Rz1jYWxsLWNvdW50ICAgICAgICAgICAgICA8bGluZWFubm90YXRpb24+c2FmZSBvcHRpb25zIG9u bHk8L2xpbmVhbm5vdGF0aW9uPgorUEdPQVVUSERFQlVHPVVOU0FGRTpodHRwLHRyYWNlICAgICAg IDxsaW5lYW5ub3RhdGlvbj5lbmFibGUgSFRUUCBhbmQgdHJhZmZpYyBsb2dnaW5nPC9saW5lYW5u b3RhdGlvbj4KK1BHT0FVVEhERUJVRz1VTlNBRkU6aHR0cCxjYWxsLWNvdW50ICA8bGluZWFubm90 YXRpb24+bWl4IG9mIHVuc2FmZSBhbmQgc2FmZTwvbGluZWFubm90YXRpb24+CiAgICAgPC9wcm9n cmFtbGlzdGluZz4KICAgIDwvcGFyYT4KIAogICAgPHdhcm5pbmc+CiAgICAgPHBhcmE+Ci0gICAg IE5ldmVyIHVzZSB1bnNhZmUgZGVidWcgb3B0aW9ucyBpbiBwcm9kdWN0aW9uIGVudmlyb25tZW50 cy4gVGhlCi0gICAgIDxsaXRlcmFsPnRyYWNlPC9saXRlcmFsPiBvcHRpb24gaW4gcGFydGljdWxh ciBleHBvc2VzIHNlY3JldHMgdGhhdCBjYW4gYmUKLSAgICAgdXNlZCB0byBhdHRhY2sgeW91ciBj bGllbnRzIGFuZCBzZXJ2ZXJzLiBEbyBub3Qgc2hhcmUgdGhlIG91dHB1dCB3aXRoIHRoaXJkCi0g ICAgIHBhcnRpZXMuCisgICAgIE5ldmVyIHVzZSB1bnNhZmUgZGVidWcgb3B0aW9ucyBpbiBwcm9k dWN0aW9uIGVudmlyb25tZW50cy4gVGhleSBleHBvc2UKKyAgICAgc2VjcmV0cyBhbmQgYmVoYXZp b3JzIHRoYXQgY2FuIGJlIHVzZWQgdG8gYXR0YWNrIHlvdXIgY2xpZW50cyBhbmQgc2VydmVycy4K KyAgICAgRG8gbm90IHNoYXJlIDxsaXRlcmFsPnRyYWNlPC9saXRlcmFsPiBvdXRwdXQgd2l0aCB0 aGlyZCBwYXJ0aWVzLgogICAgIDwvcGFyYT4KICAgIDwvd2FybmluZz4KICAgPC9zZWN0Mj4KZGlm ZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcuYyBiL3Ny Yy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcuYwppbmRleCBmOWExYjFmMTk1 Zi4uOTU3ZGE1ZDQwNjggMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgt b2F1dGgtZGVidWcuYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLWRl YnVnLmMKQEAgLTQ3LDE4ICs0NywxOSBAQCBwYXJzZV9kZWJ1Z19vcHRpb24oY29uc3QgY2hhciAq b3B0aW9uLCBvYXV0aF9kZWJ1Z19mbGFncyAqZmxhZ3MsIGJvb2wgKmlzX3Vuc2FmZQogCQkqaXNf dW5zYWZlID0gdHJ1ZTsKIAkJcmV0dXJuIHRydWU7CiAJfQotCS8qIFNhZmUgb3B0aW9ucyAqLwot CWVsc2UgaWYgKHN0cmNtcChvcHRpb24sICJmYXN0LXJldHJ5IikgPT0gMCkKKwllbHNlIGlmIChz dHJjbXAob3B0aW9uLCAiZG9zLWVuZHBvaW50IikgPT0gMCkKIAl7CiAJCWZsYWdzLT5mYXN0X3Jl dHJ5ID0gdHJ1ZTsKKwkJKmlzX3Vuc2FmZSA9IHRydWU7CiAJCXJldHVybiB0cnVlOwogCX0KLQll bHNlIGlmIChzdHJjbXAob3B0aW9uLCAicG9sbC1jb3VudHMiKSA9PSAwKQorCS8qIFNhZmUgb3B0 aW9ucyAqLworCWVsc2UgaWYgKHN0cmNtcChvcHRpb24sICJjYWxsLWNvdW50IikgPT0gMCkKIAl7 CiAJCWZsYWdzLT5wb2xsX2NvdW50cyA9IHRydWU7CiAJCXJldHVybiB0cnVlOwogCX0KLQllbHNl IGlmIChzdHJjbXAob3B0aW9uLCAicHJpbnQtcGx1Z2luLWVycm9ycyIpID09IDApCisJZWxzZSBp ZiAoc3RyY21wKG9wdGlvbiwgInBsdWdpbi1lcnJvcnMiKSA9PSAwKQogCXsKIAkJZmxhZ3MtPnBy aW50X3BsdWdpbl9lcnJvcnMgPSB0cnVlOwogCQlyZXR1cm4gdHJ1ZTsKLS0gCjIuMzQuMQoK --000000000000472068064e6a90b2 Content-Type: application/octet-stream; name="v3.1-0003-squash-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-.patch" Content-Disposition: attachment; filename="v3.1-0003-squash-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mngec3cl2 RnJvbSBmYjI2YmI4YjIxZTJjODczZDVjNGNmZDhmZDU0YmU2OTJlNjdhYWZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8amFjb2IuY2hhbXBpb25AZW50ZXJw cmlzZWRiLmNvbT4KRGF0ZTogV2VkLCAxIEFwciAyMDI2IDEwOjU4OjQ2IC0wNzAwClN1YmplY3Q6 IFtQQVRDSCB2My4xIDMvNl0gc3F1YXNoISBTcGxpdCBQR09BVVRIREVCVUc9VU5TQUZFIGludG8g bXVsdGlwbGUKIG9wdGlvbnMKCi0gU3dpdGNoIGZyb20gYSBzdHJ1Y3QgdG8gYml0ZmxhZ3MuIChP QVVUSERFQlVHX1VOU0FGRV9NQVNLIGlzCiAgaW50cm9kdWNlZCBhIGNvbW1pdCBlYXJseSB0byBh dm9pZCB1bm5lY2Vzc2FyeSB3b3JrLikKLS0tCiBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9v YXV0aC11dGlscy5oICAgICB8ICAyICstCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9h dXRoLmggICAgICAgICB8IDM5ICsrKysrKysrKysrKystLS0tLS0tCiBzcmMvaW50ZXJmYWNlcy9s aWJwcS1vYXV0aC9vYXV0aC1jdXJsLmMgICAgICB8IDEyICsrKy0tLQogc3JjL2ludGVyZmFjZXMv bGlicHEtb2F1dGgvdGVzdC1vYXV0aC1jdXJsLmMgfCAgNiArLS0KIHNyYy9pbnRlcmZhY2VzL2xp YnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcuYyAgIHwgMjUgKysrKystLS0tLS0tLQogc3JjL2ludGVy ZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5jICAgICAgICAgfCAgNiArLS0KIDYgZmlsZXMgY2hh bmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgNDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj L2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgtdXRpbHMuaCBiL3NyYy9pbnRlcmZhY2VzL2xp YnBxLW9hdXRoL29hdXRoLXV0aWxzLmgKaW5kZXggZGQ0ZTM4ZDUyNWMuLjY0YTkyMzVlZTg1IDEw MDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC11dGlscy5oCisrKyBi L3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLXV0aWxzLmgKQEAgLTM2LDcgKzM2LDcg QEAgdHlwZWRlZiBlbnVtCiAJUEdfQk9PTF9OTwkJCQkJLyogTm8gKGZhbHNlKSAqLwogfSBQR1Rl cm5hcnlCb29sOwogCi1leHRlcm4gb2F1dGhfZGVidWdfZmxhZ3Mgb2F1dGhfZ2V0X2RlYnVnX2Zs YWdzKHZvaWQpOworZXh0ZXJuIHVpbnQzMiBvYXV0aF9nZXRfZGVidWdfZmxhZ3Modm9pZCk7CiBl eHRlcm4gaW50CXBxX2Jsb2NrX3NpZ3BpcGUoc2lnc2V0X3QgKm9zaWdzZXQsIGJvb2wgKnNpZ3Bp cGVfcGVuZGluZyk7CiBleHRlcm4gdm9pZCBwcV9yZXNldF9zaWdwaXBlKHNpZ3NldF90ICpvc2ln c2V0LCBib29sIHNpZ3BpcGVfcGVuZGluZywgYm9vbCBnb3RfZXBpcGUpOwogCmRpZmYgLS1naXQg YS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLmggYi9zcmMvaW50ZXJmYWNlcy9s aWJwcS9mZS1hdXRoLW9hdXRoLmgKaW5kZXggODU5OTc1YmNkNjcuLmE5NTJmZWEwOWNmIDEwMDY0 NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLmgKKysrIGIvc3JjL2lu dGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5oCkBAIC00MCwyMyArNDAsMzYgQEAgdHlwZWRl ZiBzdHJ1Y3QKIH0gZmVfb2F1dGhfc3RhdGU7CiAKIC8qCi0gKiBEZWJ1ZyBmbGFncyBmb3IgUEdP QVVUSERFQlVHIGVudmlyb25tZW50IHZhcmlhYmxlLgotICogRWFjaCBmbGFnIGNvbnRyb2xzIGEg c3BlY2lmaWMgZGVidWcgZmVhdHVyZS4KKyAqIERlYnVnIGZsYWdzIGZvciB0aGUgUEdPQVVUSERF QlVHIGVudmlyb25tZW50IHZhcmlhYmxlLiBFYWNoIGZsYWcgY29udHJvbHMgYQorICogc3BlY2lm aWMgZGVidWcgZmVhdHVyZS4gT0FVVEhERUJVR19VTlNBRkVfKiBmbGFncyByZXF1aXJlIHRoZSBl bnZ2YXIgdG8gaGF2ZQorICogYSBsaXRlcmFsICJVTlNBRkU6IiBwcmVmaXguCiAgKi8KLXR5cGVk ZWYgc3RydWN0IG9hdXRoX2RlYnVnX2ZsYWdzCi17Ci0JLyogVU5TQUZFIGZlYXR1cmVzIC0gcmVx dWlyZSBVTlNBRkU6IHByZWZpeCAqLwotCWJvb2wJCWh0dHA7CQkJLyogYWxsb3cgSFRUUCAodW5l bmNyeXB0ZWQpIGNvbm5lY3Rpb25zICovCi0JYm9vbAkJdHJhY2U7CQkJLyogbG9nIEhUVFAgdHJh ZmZpYyAoZXhwb3NlcyBzZWNyZXRzKSAqLwogCi0JLyogU0FGRSBmZWF0dXJlcyAtIGFsbG93ZWQg d2l0aG91dCBVTlNBRkU6IHByZWZpeCAqLwotCWJvb2wJCWZhc3RfcmV0cnk7CQkvKiBhbGxvdyB6 ZXJvLXNlY29uZCByZXRyeSBpbnRlcnZhbHMgKi8KLQlib29sCQlwb2xsX2NvdW50czsJLyogcHJp bnQgcG9sbCgpIHN0YXRpc3RpY3MgKi8KLQlib29sCQlwcmludF9wbHVnaW5fZXJyb3JzOwkvKiBw cmludCBwbHVnaW4gbG9hZGluZyBlcnJvcnMgKi8KLX0gb2F1dGhfZGVidWdfZmxhZ3M7CisvKiBh bGxvdyBIVFRQICh1bmVuY3J5cHRlZCkgY29ubmVjdGlvbnMgKi8KKyNkZWZpbmUgT0FVVEhERUJV R19VTlNBRkVfSFRUUAkJCSgxPDwwKQorLyogbG9nIEhUVFAgdHJhZmZpYyAoZXhwb3NlcyBzZWNy ZXRzKSAqLworI2RlZmluZSBPQVVUSERFQlVHX1VOU0FGRV9UUkFDRQkJCSgxPDwxKQorLyogYWxs b3cgemVyby1zZWNvbmQgcmV0cnkgaW50ZXJ2YWxzICovCisjZGVmaW5lIE9BVVRIREVCVUdfVU5T QUZFX0RPU19FTkRQT0lOVAkoMTw8MikKKworLyogbWluZCB0aGUgZ2FwIGluIHZhbHVlczsgc2Vl IE9BVVRIREVCVUdfVU5TQUZFX01BU0sgYmVsb3cgKi8KKworLyogcHJpbnQgUFFjb25uZWN0UG9s bCBzdGF0aXN0aWNzICovCisjZGVmaW5lIE9BVVRIREVCVUdfQ0FMTF9DT1VOVAkJCSgxPDwxNikK Ky8qIHByaW50IHBsdWdpbiBsb2FkaW5nIGVycm9ycyAqLworI2RlZmluZSBPQVVUSERFQlVHX1BM VUdJTl9FUlJPUlMJCSgxPDwxNykKKworLyogYWxsIHNhZmUgYW5kIHVuc2FmZSBmbGFncywgZm9y IHRoZSBsZWdhY3kgVU5TQUZFIGJlaGF2aW9yICovCisjZGVmaW5lIE9BVVRIREVCVUdfVU5TQUZF X0FMTAkJCSgodWludDMyKSB+MCkKKworLyogRmxhZ3MgYXJlIGRpdmlkZWQgaW50byAic2FmZSIg YW5kICJ1bnNhZmUiIGJhc2VkIG9uIGJpdCBwb3NpdGlvbi4gKi8KKyNkZWZpbmUgT0FVVEhERUJV R19VTlNBRkVfTUFTSwkJCSgodWludDMyKSAweDAwMDBGRkZGKQorCitzdGF0aWNfYXNzZXJ0KE9B VVRIREVCVUdfQ0FMTF9DT1VOVCA9PSBPQVVUSERFQlVHX1VOU0FGRV9NQVNLICsgMSwKKwkJCSAg InRoZSBmaXJzdCBzYWZlIE9BVVRIREVCVUcgZmxhZyBzaG91bGQgYmUgYWJvdmUgT0FVVEhERUJV R19VTlNBRkVfTUFTSyIpOwogCiBleHRlcm4gdm9pZCBwcUNsZWFyT0F1dGhUb2tlbihQR2Nvbm4g KmNvbm4pOwotZXh0ZXJuIG9hdXRoX2RlYnVnX2ZsYWdzIG9hdXRoX2dldF9kZWJ1Z19mbGFncyh2 b2lkKTsKK2V4dGVybiB1aW50MzIgb2F1dGhfZ2V0X2RlYnVnX2ZsYWdzKHZvaWQpOwogCiAvKiBN ZWNoYW5pc21zIGluIGZlLWF1dGgtb2F1dGguYyAqLwogZXh0ZXJuIGNvbnN0IHBnX2ZlX3Nhc2xf bWVjaCBwZ19vYXV0aF9tZWNoOwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1 dGgvb2F1dGgtY3VybC5jIGIvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgtY3VybC5j CmluZGV4IDU2NGQ3NmNmMDYzLi43MTAwODI0YzU2MCAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFj ZXMvbGlicHEtb2F1dGgvb2F1dGgtY3VybC5jCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9h dXRoL29hdXRoLWN1cmwuYwpAQCAtMjc0LDcgKzI3NCw3IEBAIHN0cnVjdCBhc3luY19jdHgKIAlp bnQJCQlydW5uaW5nOwkJLyogaXMgYXN5bmNocm9ub3VzIHdvcmsgaW4gcHJvZ3Jlc3M/ICovCiAJ Ym9vbAkJdXNlcl9wcm9tcHRlZDsJLyogaGF2ZSB3ZSBhbHJlYWR5IHNlbnQgdGhlIGF1dGh6IHBy b21wdD8gKi8KIAlib29sCQl1c2VkX2Jhc2ljX2F1dGg7CS8qIGRpZCB3ZSBzZW5kIGEgY2xpZW50 IHNlY3JldD8gKi8KLQlvYXV0aF9kZWJ1Z19mbGFncyBkZWJ1Z19mbGFnczsJLyogY2FuIHdlIGdp dmUgZGV2ZWxvcGVyIGFzc2lzdGFuY2UgKi8KKwl1aW50MzIJCWRlYnVnX2ZsYWdzOwkvKiBjYW4g d2UgZ2l2ZSBkZXZlbG9wZXIgYXNzaXN0YW5jZT8gKi8KIAlpbnQJCQlkYmdfbnVtX2NhbGxzOwkv KiAoZGVidWcgbW9kZSkgaG93IG1hbnkgdGltZXMgd2VyZSB3ZSBjYWxsZWQ/ICovCiB9OwogCkBA IC0xMDIzLDcgKzEwMjMsNyBAQCBwYXJzZV9pbnRlcnZhbChzdHJ1Y3QgYXN5bmNfY3R4ICphY3R4 LCBjb25zdCBjaGFyICppbnRlcnZhbF9zdHIpCiAJcGFyc2VkID0gY2VpbChwYXJzZWQpOwogCiAJ aWYgKHBhcnNlZCA8IDEpCi0JCXJldHVybiBhY3R4LT5kZWJ1Z19mbGFncy5mYXN0X3JldHJ5ID8g MCA6IDE7CisJCXJldHVybiAoYWN0eC0+ZGVidWdfZmxhZ3MgJiBPQVVUSERFQlVHX1VOU0FGRV9E T1NfRU5EUE9JTlQpID8gMCA6IDE7CiAKIAllbHNlIGlmIChwYXJzZWQgPj0gSU5UX01BWCkKIAkJ cmV0dXJuIElOVF9NQVg7CkBAIC0xNzk3LDcgKzE3OTcsNyBAQCBzZXR1cF9jdXJsX2hhbmRsZXMo c3RydWN0IGFzeW5jX2N0eCAqYWN0eCkKIAkgKi8KIAlDSEVDS19TRVRPUFQoYWN0eCwgQ1VSTE9Q VF9OT1NJR05BTCwgMUwsIHJldHVybiBmYWxzZSk7CiAKLQlpZiAoYWN0eC0+ZGVidWdfZmxhZ3Mu dHJhY2UpCisJaWYgKGFjdHgtPmRlYnVnX2ZsYWdzICYgT0FVVEhERUJVR19VTlNBRkVfVFJBQ0Up CiAJewogCQkvKgogCQkgKiBTZXQgYSBjYWxsYmFjayBmb3IgcmV0cmlldmluZyBlcnJvciBpbmZv cm1hdGlvbiBmcm9tIGxpYmN1cmwsIHRoZQpAQCAtMTgyOSw3ICsxODI5LDcgQEAgc2V0dXBfY3Vy bF9oYW5kbGVzKHN0cnVjdCBhc3luY19jdHggKmFjdHgpCiAJCWNvbnN0IGxvbmcJdW5zYWZlID0g Q1VSTFBST1RPX0hUVFBTIHwgQ1VSTFBST1RPX0hUVFA7CiAjZW5kaWYKIAotCQlpZiAoYWN0eC0+ ZGVidWdfZmxhZ3MuaHR0cCkKKwkJaWYgKGFjdHgtPmRlYnVnX2ZsYWdzICYgT0FVVEhERUJVR19V TlNBRkVfSFRUUCkKIAkJCXByb3RvcyA9IHVuc2FmZTsKIAogCQlDSEVDS19TRVRPUFQoYWN0eCwg cG9wdCwgcHJvdG9zLCByZXR1cm4gZmFsc2UpOwpAQCAtMjI5Nyw3ICsyMjk3LDcgQEAgY2hlY2tf Zm9yX2RldmljZV9mbG93KHN0cnVjdCBhc3luY19jdHggKmFjdHgpCiAJICogZGVjZW50IHRpbWUg dG8gYmFpbCBvdXQgaWYgd2UncmUgbm90IHVzaW5nIEhUVFBTIGZvciB0aGUgZW5kcG9pbnRzCiAJ ICogd2UnbGwgdXNlIGZvciB0aGUgZmxvdy4KIAkgKi8KLQlpZiAoIWFjdHgtPmRlYnVnX2ZsYWdz Lmh0dHApCisJaWYgKChhY3R4LT5kZWJ1Z19mbGFncyAmIE9BVVRIREVCVUdfVU5TQUZFX0hUVFAp ID09IDApCiAJewogCQlpZiAocGdfc3RybmNhc2VjbXAocHJvdmlkZXItPmRldmljZV9hdXRob3Jp emF0aW9uX2VuZHBvaW50LAogCQkJCQkJICAgSFRUUFNfU0NIRU1FLCBzdHJsZW4oSFRUUFNfU0NI RU1FKSkgIT0gMCkKQEAgLTMwMjcsNyArMzAyNyw3IEBAIHBnX2ZlX3J1bl9vYXV0aF9mbG93KFBH Y29ubiAqY29ubiwgc3RydWN0IFBHb2F1dGhCZWFyZXJSZXF1ZXN0ICpyZXF1ZXN0LAogCSAqIGRy YWluX3RpbWVyX2V2ZW50cygpLCB3aGVuIHdlJ3JlIGluIGRlYnVnIG1vZGUsIHRyYWNrIHRoZSB0 b3RhbCBudW1iZXIKIAkgKiBvZiBjYWxscyB0byB0aGlzIGZ1bmN0aW9uIGFuZCBwcmludCB0aGF0 IGF0IHRoZSBlbmQgb2YgdGhlIGZsb3cuCiAJICovCi0JaWYgKGFjdHggJiYgYWN0eC0+ZGVidWdf ZmxhZ3MucG9sbF9jb3VudHMpCisJaWYgKGFjdHgtPmRlYnVnX2ZsYWdzICYgT0FVVEhERUJVR19D QUxMX0NPVU5UKQogCXsKIAkJYWN0eC0+ZGJnX251bV9jYWxscysrOwogCQlpZiAocmVzdWx0ID09 IFBHUkVTX1BPTExJTkdfT0sgfHwgcmVzdWx0ID09IFBHUkVTX1BPTExJTkdfRkFJTEVEKQpkaWZm IC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvdGVzdC1vYXV0aC1jdXJsLmMgYi9z cmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC90ZXN0LW9hdXRoLWN1cmwuYwppbmRleCAwNjgxNWJl OWEwYS4uMTg1YzE3ZTU4MDcgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRo L3Rlc3Qtb2F1dGgtY3VybC5jCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL3Rlc3Qt b2F1dGgtY3VybC5jCkBAIC04OSwxMSArODksNyBAQCBpbml0X3Rlc3RfYWN0eCh2b2lkKQogCiAJ YWN0eC0+bXV4ID0gUEdJTlZBTElEX1NPQ0tFVDsKIAlhY3R4LT50aW1lcmZkID0gLTE7Ci0JYWN0 eC0+ZGVidWdfZmxhZ3MuaHR0cCA9IHRydWU7Ci0JYWN0eC0+ZGVidWdfZmxhZ3MudHJhY2UgPSB0 cnVlOwotCWFjdHgtPmRlYnVnX2ZsYWdzLmZhc3RfcmV0cnkgPSB0cnVlOwotCWFjdHgtPmRlYnVn X2ZsYWdzLnBvbGxfY291bnRzID0gdHJ1ZTsKLQlhY3R4LT5kZWJ1Z19mbGFncy5wcmludF9wbHVn aW5fZXJyb3JzID0gdHJ1ZTsKKwlhY3R4LT5kZWJ1Z19mbGFncyA9IE9BVVRIREVCVUdfVU5TQUZF X0FMTDsKIAogCWluaXRQUUV4cEJ1ZmZlcigmYWN0eC0+ZXJyYnVmKTsKIApkaWZmIC0tZ2l0IGEv c3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jIGIvc3JjL2ludGVyZmFj ZXMvbGlicHEvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jCmluZGV4IDk1N2RhNWQ0MDY4Li5jOWE4MmIz Zjc4ZSAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC1kZWJ1 Zy5jCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcuYwpAQCAt MzAsMzggKzMwLDM4IEBACiAgKiBTZXRzICppc191bnNhZmUgdG8gaW5kaWNhdGUgaWYgdGhpcyBv cHRpb24gcmVxdWlyZXMgdGhlIFVOU0FGRTogcHJlZml4LgogICovCiBzdGF0aWMgYm9vbAotcGFy c2VfZGVidWdfb3B0aW9uKGNvbnN0IGNoYXIgKm9wdGlvbiwgb2F1dGhfZGVidWdfZmxhZ3MgKmZs YWdzLCBib29sICppc191bnNhZmUpCitwYXJzZV9kZWJ1Z19vcHRpb24oY29uc3QgY2hhciAqb3B0 aW9uLCB1aW50MzIgKmZsYWdzLCBib29sICppc191bnNhZmUpCiB7CiAJKmlzX3Vuc2FmZSA9IGZh bHNlOwogCiAJLyogVW5zYWZlIG9wdGlvbnMgKi8KIAlpZiAoc3RyY21wKG9wdGlvbiwgImh0dHAi KSA9PSAwKQogCXsKLQkJZmxhZ3MtPmh0dHAgPSB0cnVlOworCQkqZmxhZ3MgfD0gT0FVVEhERUJV R19VTlNBRkVfSFRUUDsKIAkJKmlzX3Vuc2FmZSA9IHRydWU7CiAJCXJldHVybiB0cnVlOwogCX0K IAllbHNlIGlmIChzdHJjbXAob3B0aW9uLCAidHJhY2UiKSA9PSAwKQogCXsKLQkJZmxhZ3MtPnRy YWNlID0gdHJ1ZTsKKwkJKmZsYWdzIHw9IE9BVVRIREVCVUdfVU5TQUZFX1RSQUNFOwogCQkqaXNf dW5zYWZlID0gdHJ1ZTsKIAkJcmV0dXJuIHRydWU7CiAJfQogCWVsc2UgaWYgKHN0cmNtcChvcHRp b24sICJkb3MtZW5kcG9pbnQiKSA9PSAwKQogCXsKLQkJZmxhZ3MtPmZhc3RfcmV0cnkgPSB0cnVl OworCQkqZmxhZ3MgfD0gT0FVVEhERUJVR19VTlNBRkVfRE9TX0VORFBPSU5UOwogCQkqaXNfdW5z YWZlID0gdHJ1ZTsKIAkJcmV0dXJuIHRydWU7CiAJfQogCS8qIFNhZmUgb3B0aW9ucyAqLwogCWVs c2UgaWYgKHN0cmNtcChvcHRpb24sICJjYWxsLWNvdW50IikgPT0gMCkKIAl7Ci0JCWZsYWdzLT5w b2xsX2NvdW50cyA9IHRydWU7CisJCSpmbGFncyB8PSBPQVVUSERFQlVHX0NBTExfQ09VTlQ7CiAJ CXJldHVybiB0cnVlOwogCX0KIAllbHNlIGlmIChzdHJjbXAob3B0aW9uLCAicGx1Z2luLWVycm9y cyIpID09IDApCiAJewotCQlmbGFncy0+cHJpbnRfcGx1Z2luX2Vycm9ycyA9IHRydWU7CisJCSpm bGFncyB8PSBPQVVUSERFQlVHX1BMVUdJTl9FUlJPUlM7CiAJCXJldHVybiB0cnVlOwogCX0KIApA QCAtODAsMTAgKzgwLDEwIEBAIHBhcnNlX2RlYnVnX29wdGlvbihjb25zdCBjaGFyICpvcHRpb24s IG9hdXRoX2RlYnVnX2ZsYWdzICpmbGFncywgYm9vbCAqaXNfdW5zYWZlCiAgKiAtIEFuIHVucmVj b2duaXplZCBvcHRpb24gaXMgc3BlY2lmaWVkCiAgKiAtIEFuIHVuc2FmZSBvcHRpb24gaXMgc3Bl Y2lmaWVkIHdpdGhvdXQgdGhlIFVOU0FGRTogcHJlZml4CiAgKi8KLW9hdXRoX2RlYnVnX2ZsYWdz Cit1aW50MzIKIG9hdXRoX2dldF9kZWJ1Z19mbGFncyh2b2lkKQogewotCW9hdXRoX2RlYnVnX2Zs YWdzIGZsYWdzID0gezB9OworCXVpbnQzMgkJZmxhZ3MgPSAwOwogCWNvbnN0IGNoYXIgKmVudiA9 IGdldGVudigiUEdPQVVUSERFQlVHIik7CiAJY2hhcgkgICAqb3B0aW9uc19zdHI7CiAJY2hhcgkg ICAqb3B0aW9uOwpAQCAtOTQsMTQgKzk0LDcgQEAgb2F1dGhfZ2V0X2RlYnVnX2ZsYWdzKHZvaWQp CiAJCXJldHVybiBmbGFnczsKIAogCWlmIChzdHJjbXAoZW52LCAiVU5TQUZFIikgPT0gMCkKLQl7 Ci0JCWZsYWdzLmh0dHAgPSB0cnVlOwotCQlmbGFncy50cmFjZSA9IHRydWU7Ci0JCWZsYWdzLmZh c3RfcmV0cnkgPSB0cnVlOwotCQlmbGFncy5wb2xsX2NvdW50cyA9IHRydWU7Ci0JCWZsYWdzLnBy aW50X3BsdWdpbl9lcnJvcnMgPSB0cnVlOwotCQlyZXR1cm4gZmxhZ3M7Ci0JfQorCQlyZXR1cm4g T0FVVEhERUJVR19VTlNBRkVfQUxMOwogCiAJaWYgKHN0cm5jbXAoZW52LCAiVU5TQUZFOiIsIDcp ID09IDApCiAJewpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0 aC5jIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5jCmluZGV4IDVmNTkwMGE5 YWU3Li42ZjdlYzNhMTI5ZSAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0 aC1vYXV0aC5jCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGguYwpAQCAt Mzg5LDcgKzM4OSw3IEBAIGlzc3Vlcl9mcm9tX3dlbGxfa25vd25fdXJpKFBHY29ubiAqY29ubiwg Y29uc3QgY2hhciAqd2t1cmkpCiAJCWF1dGhvcml0eV9zdGFydCA9IHdrdXJpICsgc3RybGVuKEhU VFBTX1NDSEVNRSk7CiAKIAlpZiAoIWF1dGhvcml0eV9zdGFydAotCQkmJiBvYXV0aF9nZXRfZGVi dWdfZmxhZ3MoKS5odHRwCisJCSYmIChvYXV0aF9nZXRfZGVidWdfZmxhZ3MoKSAmIE9BVVRIREVC VUdfVU5TQUZFX0hUVFApCiAJCSYmIHBnX3N0cm5jYXNlY21wKHdrdXJpLCBIVFRQX1NDSEVNRSwg c3RybGVuKEhUVFBfU0NIRU1FKSkgPT0gMCkKIAl7CiAJCS8qIEFsbG93IGh0dHA6Ly8gZm9yIHRl c3Rpbmcgb25seS4gKi8KQEAgLTkwMCw3ICs5MDAsNyBAQCB1c2VfYnVpbHRpbl9mbG93KFBHY29u biAqY29ubiwgZmVfb2F1dGhfc3RhdGUgKnN0YXRlLCBQR29hdXRoQmVhcmVyUmVxdWVzdFYyICpy ZQogCQkgKgogCQkgKiBOb3RlIHRoYXQgUE9TSVggZGxlcnJvcigpIGlzbid0IGd1YXJhbnRlZWQg dG8gYmUgdGhyZWFkc2FmZS4KIAkJICovCi0JCWlmIChvYXV0aF9nZXRfZGVidWdfZmxhZ3MoKS5w cmludF9wbHVnaW5fZXJyb3JzKQorCQlpZiAob2F1dGhfZ2V0X2RlYnVnX2ZsYWdzKCkgJiBPQVVU SERFQlVHX1BMVUdJTl9FUlJPUlMpCiAJCQlmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCBkbG9wZW4g Zm9yIGxpYnBxLW9hdXRoOiAlc1xuIiwgZGxlcnJvcigpKTsKIAogCQlyZXR1cm4gMDsKQEAgLTky Miw3ICs5MjIsNyBAQCB1c2VfYnVpbHRpbl9mbG93KFBHY29ubiAqY29ubiwgZmVfb2F1dGhfc3Rh dGUgKnN0YXRlLCBQR29hdXRoQmVhcmVyUmVxdWVzdFYyICpyZQogCQkgKiBjYXVzZSBpcyBzdGls bCBsb2NrZWQgYmVoaW5kIFBHT0FVVEhERUJVRyBkdWUgdG8gdGhlIGRsZXJyb3IoKQogCQkgKiB0 aHJlYWRzYWZldHkgaXNzdWUuCiAJCSAqLwotCQlpZiAob2F1dGhfZ2V0X2RlYnVnX2ZsYWdzKCku cHJpbnRfcGx1Z2luX2Vycm9ycykKKwkJaWYgKG9hdXRoX2dldF9kZWJ1Z19mbGFncygpICYgT0FV VEhERUJVR19QTFVHSU5fRVJST1JTKQogCQkJZnByaW50ZihzdGRlcnIsICJmYWlsZWQgZGxzeW0g Zm9yIGxpYnBxLW9hdXRoOiAlc1xuIiwgZGxlcnJvcigpKTsKIAogCQlkbGNsb3NlKHN0YXRlLT5m bG93X21vZHVsZSk7Ci0tIAoyLjM0LjEKCg== --000000000000472068064e6a90b2 Content-Type: application/octet-stream; name="v3.1-0004-squash-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-.patch" Content-Disposition: attachment; filename="v3.1-0004-squash-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mngec5no3 RnJvbSA1OWFjYTFiMTJhOGI2YzcxZWRjMmYxNWU5MTBmMDk1MGEwMTJhYTYzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8amFjb2IuY2hhbXBpb25AZW50ZXJw cmlzZWRiLmNvbT4KRGF0ZTogV2VkLCAxIEFwciAyMDI2IDExOjA1OjQ2IC0wNzAwClN1YmplY3Q6 IFtQQVRDSCB2My4xIDQvNl0gc3F1YXNoISBTcGxpdCBQR09BVVRIREVCVUc9VU5TQUZFIGludG8g bXVsdGlwbGUKIG9wdGlvbnMKCi0gU2V0IHNwZWNpZmljIGRlYnVnIGZsYWdzIGluIDAwMV9zZXJ2 ZXIucGwuCgotIEFkZCBmYWlsaW5nIHRlc3QgdG8gZW5zdXJlIGlnbm9yZWQgZmxhZ3MgYXJlIGFj dHVhbGx5IGlnbm9yZWQuIEZpeCBieQogIGlubGluaW5nIHBhcnNlX2RlYnVnX29wdGlvbigpLgot LS0KIHNyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcuYyAgICB8IDY2ICsr KysrLS0tLS0tLS0tLS0tLS0KIC4uLi9tb2R1bGVzL29hdXRoX3ZhbGlkYXRvci90LzAwMV9zZXJ2 ZXIucGwgICB8IDIyICsrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwg NTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0 aC1vYXV0aC1kZWJ1Zy5jIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC1kZWJ1 Zy5jCmluZGV4IGM5YTgyYjNmNzhlLi44YmY3MTBjZTQ2YSAxMDA2NDQKLS0tIGEvc3JjL2ludGVy ZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xp YnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcuYwpAQCAtMjQsNTAgKzI0LDYgQEAKIAogI2luY2x1ZGUg ImZlLWF1dGgtb2F1dGguaCIKIAotLyoKLSAqIFBhcnNlIGEgc2luZ2xlIGRlYnVnIG9wdGlvbiBm cm9tIFBHT0FVVEhERUJVRy4KLSAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgb3B0aW9uIGlzIHJlY29n bml6ZWQsIGZhbHNlIG90aGVyd2lzZS4KLSAqIFNldHMgKmlzX3Vuc2FmZSB0byBpbmRpY2F0ZSBp ZiB0aGlzIG9wdGlvbiByZXF1aXJlcyB0aGUgVU5TQUZFOiBwcmVmaXguCi0gKi8KLXN0YXRpYyBi b29sCi1wYXJzZV9kZWJ1Z19vcHRpb24oY29uc3QgY2hhciAqb3B0aW9uLCB1aW50MzIgKmZsYWdz LCBib29sICppc191bnNhZmUpCi17Ci0JKmlzX3Vuc2FmZSA9IGZhbHNlOwotCi0JLyogVW5zYWZl IG9wdGlvbnMgKi8KLQlpZiAoc3RyY21wKG9wdGlvbiwgImh0dHAiKSA9PSAwKQotCXsKLQkJKmZs YWdzIHw9IE9BVVRIREVCVUdfVU5TQUZFX0hUVFA7Ci0JCSppc191bnNhZmUgPSB0cnVlOwotCQly ZXR1cm4gdHJ1ZTsKLQl9Ci0JZWxzZSBpZiAoc3RyY21wKG9wdGlvbiwgInRyYWNlIikgPT0gMCkK LQl7Ci0JCSpmbGFncyB8PSBPQVVUSERFQlVHX1VOU0FGRV9UUkFDRTsKLQkJKmlzX3Vuc2FmZSA9 IHRydWU7Ci0JCXJldHVybiB0cnVlOwotCX0KLQllbHNlIGlmIChzdHJjbXAob3B0aW9uLCAiZG9z LWVuZHBvaW50IikgPT0gMCkKLQl7Ci0JCSpmbGFncyB8PSBPQVVUSERFQlVHX1VOU0FGRV9ET1Nf RU5EUE9JTlQ7Ci0JCSppc191bnNhZmUgPSB0cnVlOwotCQlyZXR1cm4gdHJ1ZTsKLQl9Ci0JLyog U2FmZSBvcHRpb25zICovCi0JZWxzZSBpZiAoc3RyY21wKG9wdGlvbiwgImNhbGwtY291bnQiKSA9 PSAwKQotCXsKLQkJKmZsYWdzIHw9IE9BVVRIREVCVUdfQ0FMTF9DT1VOVDsKLQkJcmV0dXJuIHRy dWU7Ci0JfQotCWVsc2UgaWYgKHN0cmNtcChvcHRpb24sICJwbHVnaW4tZXJyb3JzIikgPT0gMCkK LQl7Ci0JCSpmbGFncyB8PSBPQVVUSERFQlVHX1BMVUdJTl9FUlJPUlM7Ci0JCXJldHVybiB0cnVl OwotCX0KLQotCXJldHVybiBmYWxzZTsKLX0KLQogLyoKICAqIFBhcnNlcyB0aGUgUEdPQVVUSERF QlVHIGVudmlyb25tZW50IHZhcmlhYmxlIGFuZCByZXR1cm5zIGRlYnVnIGZsYWdzLgogICoKQEAg LTEwOSwyMiArNjUsMzYgQEAgb2F1dGhfZ2V0X2RlYnVnX2ZsYWdzKHZvaWQpCiAJb3B0aW9uID0g c3RydG9rX3Iob3B0aW9uc19zdHIsICIsIiwgJnNhdmVwdHIpOwogCXdoaWxlIChvcHRpb24gIT0g TlVMTCkKIAl7Ci0JCWJvb2wJCWlzX3Vuc2FmZTsKLQotCQlpZiAoIXBhcnNlX2RlYnVnX29wdGlv bihvcHRpb24sICZmbGFncywgJmlzX3Vuc2FmZSkpCisJCXVpbnQzMgkJZmxhZyA9IDA7CisKKwkJ aWYgKHN0cmNtcChvcHRpb24sICJodHRwIikgPT0gMCkKKwkJCWZsYWcgPSBPQVVUSERFQlVHX1VO U0FGRV9IVFRQOworCQllbHNlIGlmIChzdHJjbXAob3B0aW9uLCAidHJhY2UiKSA9PSAwKQorCQkJ ZmxhZyA9IE9BVVRIREVCVUdfVU5TQUZFX1RSQUNFOworCQllbHNlIGlmIChzdHJjbXAob3B0aW9u LCAiZG9zLWVuZHBvaW50IikgPT0gMCkKKwkJCWZsYWcgPSBPQVVUSERFQlVHX1VOU0FGRV9ET1Nf RU5EUE9JTlQ7CisJCWVsc2UgaWYgKHN0cmNtcChvcHRpb24sICJjYWxsLWNvdW50IikgPT0gMCkK KwkJCWZsYWcgPSBPQVVUSERFQlVHX0NBTExfQ09VTlQ7CisJCWVsc2UgaWYgKHN0cmNtcChvcHRp b24sICJwbHVnaW4tZXJyb3JzIikgPT0gMCkKKwkJCWZsYWcgPSBPQVVUSERFQlVHX1BMVUdJTl9F UlJPUlM7CisJCWVsc2UKIAkJewogCQkJZnByaW50ZihzdGRlcnIsCiAJCQkJCSJXQVJOSU5HOiBQ R09BVVRIREVCVUc6IHVucmVjb2duaXplZCBkZWJ1ZyBvcHRpb24gXCIlc1wiIChpZ25vcmVkKVxu IiwKIAkJCQkJb3B0aW9uKTsKIAkJfQotCQllbHNlIGlmIChpc191bnNhZmUgJiYgIXVuc2FmZV9w cmVmaXgpCisKKwkJaWYgKCF1bnNhZmVfcHJlZml4ICYmICgoZmxhZyAmIE9BVVRIREVCVUdfVU5T QUZFX01BU0spICE9IDApKQogCQl7CisJCQlmbGFnID0gMDsKKwogCQkJZnByaW50ZihzdGRlcnIs CiAJCQkJCSJXQVJOSU5HOiBQR09BVVRIREVCVUc6IHVuc2FmZSBvcHRpb24gXCIlc1wiIHJlcXVp cmVzIFVOU0FGRTogcHJlZml4IChpZ25vcmVkKVxuIgogCQkJCQkiVXNlOiBQR09BVVRIREVCVUc9 VU5TQUZFOiVzXG4iLAogCQkJCQlvcHRpb24sIG9wdGlvbik7CiAJCX0KIAorCQlmbGFncyB8PSBm bGFnOwogCQlvcHRpb24gPSBzdHJ0b2tfcihOVUxMLCAiLCIsICZzYXZlcHRyKTsKIAl9CiAKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvb2F1dGhfdmFsaWRhdG9yL3QvMDAxX3NlcnZlci5w bCBiL3NyYy90ZXN0L21vZHVsZXMvb2F1dGhfdmFsaWRhdG9yL3QvMDAxX3NlcnZlci5wbAppbmRl eCBjOWM0NmU2MzUzOS4uMzgwM2RkMDgyODcgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMv b2F1dGhfdmFsaWRhdG9yL3QvMDAxX3NlcnZlci5wbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL29h dXRoX3ZhbGlkYXRvci90LzAwMV9zZXJ2ZXIucGwKQEAgLTkzLDYgKzkzLDIxIEBAICRub2RlLT5j b25uZWN0X2ZhaWxzKAogCSAgcXJAT0F1dGggZGlzY292ZXJ5IFVSSSAiXFEkaXNzdWVyXEUvLndl bGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb24iIG11c3QgdXNlIEhUVFBTQAogKTsKIAorewor CSMgUEdPQVVUSERFQlVHPWh0dHAgc2hvdWxkIGhhdmUgbm8gZWZmZWN0IChpdCBuZWVkcyBhbiBV TlNBRkU6IG1hcmtlcikuCisJbG9jYWwgJEVOVntQR09BVVRIREVCVUd9ID0gImh0dHAiOworCisJ JG5vZGUtPmNvbm5lY3RfZmFpbHMoCisJCSJ1c2VyPXRlc3QgZGJuYW1lPXBvc3RncmVzIG9hdXRo X2lzc3Vlcj0kaXNzdWVyIG9hdXRoX2NsaWVudF9pZD1mMDJjNjM2MS0wNjM1IiwKKwkJIkhUVFBT IGlzIHJlcXVpcmVkIHdpdGhvdXQgZGVidWcgbW9kZSAoYmFkIFBHT0FVVEhERUJVRyB2YWx1ZSki LAorCQlleHBlY3RlZF9zdGRlcnIgPT4gcXJbCisJCQleV0FSTklORzogLiogXFF1bnNhZmUgb3B0 aW9uICJodHRwIiByZXF1aXJlcyBVTlNBRkU6IHByZWZpeFxFCisJCQkuKgorCQkJXFFPQXV0aCBk aXNjb3ZlcnkgVVJJICIkaXNzdWVyLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIiBt dXN0IHVzZSBIVFRQU1xFCisJCV1tc3gKKwkpOworfQorCiAjIFN3aXRjaCB0byBIVFRQUy4KICRp c3N1ZXIgPSAiaHR0cHM6Ly8xMjcuMC4wLjE6JHBvcnQiOwogCkBAIC0xNzIsOCArMTg3LDExIEBA ICRub2RlLT5jb25uZWN0X29rKAogCV0sCiAJbG9nX3VubGlrZSA9PiBbcXIvRkFUQUwuKk9BdXRo IGJlYXJlciBhdXRoZW50aWNhdGlvbiBmYWlsZWQvXSk7CiAKLSMgRW5hYmxlIFBHT0FVVEhERUJV RyBmb3IgYWxsIHJlbWFpbmluZyB0ZXN0cy4KLSRFTlZ7UEdPQVVUSERFQlVHfSA9ICJVTlNBRkUi OworIyBFbmFibGUgc29tZSBkZWJ1Z2dpbmcgZmVhdHVyZXMgZm9yIGFsbCByZW1haW5pbmcgdGVz dHM6CisjIC0gdHJhY2UsIGZvciBkZXRhaWxlZCBDdXJsIGxvZ3Mgb24gZmFpbHVyZQorIyAtIGRv cy1lbmRwb2ludCwgdG8gc3BlZWQgdXAgdGhlIHRocmVlLXdheSBoYW5kc2hha2UKKyMgLSBjYWxs LWNvdW50LCBmb3Igb3VyIGxhdGVyIHNhbml0eSBjaGVjaworJEVOVntQR09BVVRIREVCVUd9ID0g IlVOU0FGRTp0cmFjZSxkb3MtZW5kcG9pbnQsY2FsbC1jb3VudCI7CiAKICMgVGhlIC9hbHRlcm5h dGUgaXNzdWVyIHVzZXMgc2xpZ2h0bHkgZGlmZmVyZW50IHBhcmFtZXRlcnMsIGFsb25nIHdpdGgg YW4KICMgT0F1dGgtc3R5bGUgZGlzY292ZXJ5IGRvY3VtZW50LgotLSAKMi4zNC4xCgo= --000000000000472068064e6a90b2 Content-Type: application/octet-stream; name="v3.1-0005-squash-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-.patch" Content-Disposition: attachment; filename="v3.1-0005-squash-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mngec8n04 RnJvbSBlYzEzMThiOWQxNjk0MThjMTk1ZjZlMTYyNTgyMDkyMWZkZTA5OWE3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8amFjb2IuY2hhbXBpb25AZW50ZXJw cmlzZWRiLmNvbT4KRGF0ZTogV2VkLCAxIEFwciAyMDI2IDExOjE3OjM2IC0wNzAwClN1YmplY3Q6 IFtQQVRDSCB2My4xIDUvNl0gc3F1YXNoISBTcGxpdCBQR09BVVRIREVCVUc9VU5TQUZFIGludG8g bXVsdGlwbGUKIG9wdGlvbnMKCi0gTW92ZSB0aGUgaW1wbGVtZW50YXRpb24gaW50byBpdHMgb3du IGhlYWRlcjsgcmV2ZXJ0IHRoZSBidWlsZCBzeXN0ZW0KICBjaGFuZ2VzIHRoYXQgd2VyZSBuZWVk ZWQgZm9yIHRoZSAuYyBhcHByb2FjaC4KCi0gPHN0ZGlvLmg+IGV0IGFsIGFyZSBpbmNsdWRlZCBp biAiYy5oIiBhbmQgZG8gbm90IG5lZWQgdG8gYmUgZXhwbGljaXRseQogIHB1bGxlZCBpbi4KLS0t CiBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9tZXNvbi5idWlsZCAgICAgICAgfCAgNiArLS0K IHNyYy9pbnRlcmZhY2VzL2xpYnBxL21lc29uLmJ1aWxkICAgICAgICAgICAgICB8ICAxIC0KIHNy Yy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL01ha2VmaWxlICAgICAgICAgICB8IDExICstLS0tCiBz cmMvaW50ZXJmYWNlcy9saWJwcS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAgMyArLQogc3Jj L2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgtdXRpbHMuaCAgICAgIHwgIDIgLQogc3JjL2lu dGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5oICAgICAgICAgIHwgMzAgLS0tLS0tLS0tLS0t CiAuLi4ve2ZlLWF1dGgtb2F1dGgtZGVidWcuYyA9PiBvYXV0aC1kZWJ1Zy5ofSAgfCA0OSArKysr KysrKysrKysrKy0tLS0tCiBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC1jdXJsLmMg ICAgICAgfCAgMSArCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLmMgICAgICAg ICAgfCAgMSArCiA5IGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDYxIGRlbGV0aW9u cygtKQogcmVuYW1lIHNyYy9pbnRlcmZhY2VzL2xpYnBxL3tmZS1hdXRoLW9hdXRoLWRlYnVnLmMg PT4gb2F1dGgtZGVidWcuaH0gKDYyJSkKCmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJw cS1vYXV0aC9tZXNvbi5idWlsZCBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL21lc29uLmJ1 aWxkCmluZGV4IGQ4Y2M5MmUwYzJjLi5lYTNhOTAwZjRmMSAxMDA2NDQKLS0tIGEvc3JjL2ludGVy ZmFjZXMvbGlicHEtb2F1dGgvbWVzb24uYnVpbGQKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEt b2F1dGgvbWVzb24uYnVpbGQKQEAgLTYsNyArNiw2IEBAIGVuZGlmCiAKIGxpYnBxX29hdXRoX3Nv dXJjZXMgPSBmaWxlcygKICAgJ29hdXRoLWN1cmwuYycsCi0gICcuLi9saWJwcS9mZS1hdXRoLW9h dXRoLWRlYnVnLmMnLAogKQogCiAjIFRoZSBzaGFyZWQgbGlicmFyeSBuZWVkcyBhZGRpdGlvbmFs IGdsdWUgc3ltYm9scy4KQEAgLTYzLDEwICs2Miw3IEBAIGVuZGlmCiAKIGxpYnBxX29hdXRoX3Rl c3RfZGVwcyA9IFtdCiAKLW9hdXRoX3Rlc3Rfc291cmNlcyA9IGZpbGVzKAotICAndGVzdC1vYXV0 aC1jdXJsLmMnLAotICAnLi4vbGlicHEvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jJywKLSkgKyBsaWJw cV9vYXV0aF9zb19zb3VyY2VzCitvYXV0aF90ZXN0X3NvdXJjZXMgPSBmaWxlcygndGVzdC1vYXV0 aC1jdXJsLmMnKSArIGxpYnBxX29hdXRoX3NvX3NvdXJjZXMKIAogaWYgaG9zdF9zeXN0ZW0gPT0g J3dpbmRvd3MnCiAgIG9hdXRoX3Rlc3Rfc291cmNlcyArPSByY19iaW5fZ2VuLnByb2Nlc3Mod2lu MzJ2ZXJfcmMsIGV4dHJhX2FyZ3M6IFsKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBx L21lc29uLmJ1aWxkIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvbWVzb24uYnVpbGQKaW5kZXggZDAz MWY0OTYyZTUuLmIwYWU3MjE2N2ExIDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9t ZXNvbi5idWlsZAorKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9tZXNvbi5idWlsZApAQCAtMiw3 ICsyLDYgQEAKIAogbGlicHFfc291cmNlcyA9IGZpbGVzKAogICAnZmUtYXV0aC1vYXV0aC5jJywK LSAgJ2ZlLWF1dGgtb2F1dGgtZGVidWcuYycsCiAgICdmZS1hdXRoLXNjcmFtLmMnLAogICAnZmUt YXV0aC5jJywKICAgJ2ZlLWNhbmNlbC5jJywKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xp YnBxLW9hdXRoL01ha2VmaWxlIGIvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvTWFrZWZpbGUK aW5kZXggYzYwOTdkZGE1MzEuLjExZTFhM2NmNTI4IDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNl cy9saWJwcS1vYXV0aC9NYWtlZmlsZQorKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9N YWtlZmlsZQpAQCAtMzYsMjQgKzM2LDE1IEBAIG92ZXJyaWRlIENQUEZMQUdTX1NITElCICs9IC1E VVNFX1BSSVZBVEVfRU5DT0RJTkdfRlVOQ1MKIE9CSlMgPSBcCiAJJChXSU4zMlJFUykKIAotT0JK U19TVEFUSUMgPSBcCi0Jb2F1dGgtY3VybC5vIFwKLQlmZS1hdXRoLW9hdXRoLWRlYnVnLm8KK09C SlNfU1RBVElDID0gb2F1dGgtY3VybC5vCiAKICMgVGhlIHNoYXJlZCBsaWJyYXJ5IG5lZWRzIGFk ZGl0aW9uYWwgZ2x1ZSBzeW1ib2xzLgogT0JKU19TSExJQiA9IFwKIAlvYXV0aC1jdXJsX3NobGli Lm8gXAogCW9hdXRoLXV0aWxzLm8gXAotCWZlLWF1dGgtb2F1dGgtZGVidWdfc2hsaWIubwogCiBv YXV0aC11dGlscy5vOiBvdmVycmlkZSBDUFBGTEFHUyArPSAkKENQUEZMQUdTX1NITElCKQogCi1m ZS1hdXRoLW9hdXRoLWRlYnVnLm86ICQobGlicHFfc3JjZGlyKS9mZS1hdXRoLW9hdXRoLWRlYnVn LmMKLQkkKENDKSAkKENGTEFHUykgJChDUFBGTEFHUykgLWMgJDwgLW8gJEAKLQotZmUtYXV0aC1v YXV0aC1kZWJ1Z19zaGxpYi5vOiAkKGxpYnBxX3NyY2RpcikvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5j IGZlLWF1dGgtb2F1dGgtZGVidWcubwotCSQoQ0MpICQoQ0ZMQUdTKSAkKENGTEFHU19TTCkgJChD UFBGTEFHUykgJChDUFBGTEFHU19TSExJQikgLWMgJDwgLW8gJEAKLQogIyBBZGQgc2hsaWItL3N0 bGliLXNwZWNpZmljIG9iamVjdHMuCiAkKHNobGliKTogb3ZlcnJpZGUgT0JKUyArPSAkKE9CSlNf U0hMSUIpCiAkKHNobGliKTogJChPQkpTX1NITElCKQpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFj ZXMvbGlicHEvTWFrZWZpbGUgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9NYWtlZmlsZQppbmRleCAw OTljNjU1N2U3Ny4uMDk2Mzk5NWVlZDQgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBx L01ha2VmaWxlCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL01ha2VmaWxlCkBAIC00NCw4ICs0 NCw3IEBAIE9CSlMgPSBcCiAJbGVnYWN5LXBxc2lnbmFsLm8gXAogCWxpYnBxLWV2ZW50cy5vIFwK IAlwcWV4cGJ1ZmZlci5vIFwKLQlmZS1hdXRoLm8gXAotCWZlLWF1dGgtb2F1dGgtZGVidWcubwor CWZlLWF1dGgubwogCiAjIEZpbGUgc2hhcmVkIGFjcm9zcyBhbGwgU1NMIGltcGxlbWVudGF0aW9u cyBzdXBwb3J0ZWQuCiBpZm5lcSAoJCh3aXRoX3NzbCksbm8pCmRpZmYgLS1naXQgYS9zcmMvaW50 ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC11dGlscy5oIGIvc3JjL2ludGVyZmFjZXMvbGlicHEt b2F1dGgvb2F1dGgtdXRpbHMuaAppbmRleCA2NGE5MjM1ZWU4NS4uZGFjZDJkYmFjZmUgMTAwNjQ0 Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLXV0aWxzLmgKKysrIGIvc3Jj L2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgtdXRpbHMuaApAQCAtMTUsNyArMTUsNiBAQAog I2lmbmRlZiBPQVVUSF9VVElMU19ICiAjZGVmaW5lIE9BVVRIX1VUSUxTX0gKIAotI2luY2x1ZGUg ImZlLWF1dGgtb2F1dGguaCIKICNpbmNsdWRlICJsaWJwcS1mZS5oIgogI2luY2x1ZGUgInBxZXhw YnVmZmVyLmgiCiAKQEAgLTM2LDcgKzM1LDYgQEAgdHlwZWRlZiBlbnVtCiAJUEdfQk9PTF9OTwkJ CQkJLyogTm8gKGZhbHNlKSAqLwogfSBQR1Rlcm5hcnlCb29sOwogCi1leHRlcm4gdWludDMyIG9h dXRoX2dldF9kZWJ1Z19mbGFncyh2b2lkKTsKIGV4dGVybiBpbnQJcHFfYmxvY2tfc2lncGlwZShz aWdzZXRfdCAqb3NpZ3NldCwgYm9vbCAqc2lncGlwZV9wZW5kaW5nKTsKIGV4dGVybiB2b2lkIHBx X3Jlc2V0X3NpZ3BpcGUoc2lnc2V0X3QgKm9zaWdzZXQsIGJvb2wgc2lncGlwZV9wZW5kaW5nLCBi b29sIGdvdF9lcGlwZSk7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1 dGgtb2F1dGguaCBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGguaAppbmRleCBh OTUyZmVhMDljZi4uYTUwZDdiMDM0MDggMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBx L2ZlLWF1dGgtb2F1dGguaAorKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRo LmgKQEAgLTM5LDM3ICszOSw3IEBAIHR5cGVkZWYgc3RydWN0CiAJdm9pZAkgICAqZmxvd19tb2R1 bGU7CiB9IGZlX29hdXRoX3N0YXRlOwogCi0vKgotICogRGVidWcgZmxhZ3MgZm9yIHRoZSBQR09B VVRIREVCVUcgZW52aXJvbm1lbnQgdmFyaWFibGUuIEVhY2ggZmxhZyBjb250cm9scyBhCi0gKiBz cGVjaWZpYyBkZWJ1ZyBmZWF0dXJlLiBPQVVUSERFQlVHX1VOU0FGRV8qIGZsYWdzIHJlcXVpcmUg dGhlIGVudnZhciB0byBoYXZlCi0gKiBhIGxpdGVyYWwgIlVOU0FGRToiIHByZWZpeC4KLSAqLwot Ci0vKiBhbGxvdyBIVFRQICh1bmVuY3J5cHRlZCkgY29ubmVjdGlvbnMgKi8KLSNkZWZpbmUgT0FV VEhERUJVR19VTlNBRkVfSFRUUAkJCSgxPDwwKQotLyogbG9nIEhUVFAgdHJhZmZpYyAoZXhwb3Nl cyBzZWNyZXRzKSAqLwotI2RlZmluZSBPQVVUSERFQlVHX1VOU0FGRV9UUkFDRQkJCSgxPDwxKQot LyogYWxsb3cgemVyby1zZWNvbmQgcmV0cnkgaW50ZXJ2YWxzICovCi0jZGVmaW5lIE9BVVRIREVC VUdfVU5TQUZFX0RPU19FTkRQT0lOVAkoMTw8MikKLQotLyogbWluZCB0aGUgZ2FwIGluIHZhbHVl czsgc2VlIE9BVVRIREVCVUdfVU5TQUZFX01BU0sgYmVsb3cgKi8KLQotLyogcHJpbnQgUFFjb25u ZWN0UG9sbCBzdGF0aXN0aWNzICovCi0jZGVmaW5lIE9BVVRIREVCVUdfQ0FMTF9DT1VOVAkJCSgx PDwxNikKLS8qIHByaW50IHBsdWdpbiBsb2FkaW5nIGVycm9ycyAqLwotI2RlZmluZSBPQVVUSERF QlVHX1BMVUdJTl9FUlJPUlMJCSgxPDwxNykKLQotLyogYWxsIHNhZmUgYW5kIHVuc2FmZSBmbGFn cywgZm9yIHRoZSBsZWdhY3kgVU5TQUZFIGJlaGF2aW9yICovCi0jZGVmaW5lIE9BVVRIREVCVUdf VU5TQUZFX0FMTAkJCSgodWludDMyKSB+MCkKLQotLyogRmxhZ3MgYXJlIGRpdmlkZWQgaW50byAi c2FmZSIgYW5kICJ1bnNhZmUiIGJhc2VkIG9uIGJpdCBwb3NpdGlvbi4gKi8KLSNkZWZpbmUgT0FV VEhERUJVR19VTlNBRkVfTUFTSwkJCSgodWludDMyKSAweDAwMDBGRkZGKQotCi1zdGF0aWNfYXNz ZXJ0KE9BVVRIREVCVUdfQ0FMTF9DT1VOVCA9PSBPQVVUSERFQlVHX1VOU0FGRV9NQVNLICsgMSwK LQkJCSAgInRoZSBmaXJzdCBzYWZlIE9BVVRIREVCVUcgZmxhZyBzaG91bGQgYmUgYWJvdmUgT0FV VEhERUJVR19VTlNBRkVfTUFTSyIpOwotCiBleHRlcm4gdm9pZCBwcUNsZWFyT0F1dGhUb2tlbihQ R2Nvbm4gKmNvbm4pOwotZXh0ZXJuIHVpbnQzMiBvYXV0aF9nZXRfZGVidWdfZmxhZ3Modm9pZCk7 CiAKIC8qIE1lY2hhbmlzbXMgaW4gZmUtYXV0aC1vYXV0aC5jICovCiBleHRlcm4gY29uc3QgcGdf ZmVfc2FzbF9tZWNoIHBnX29hdXRoX21lY2g7CmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9s aWJwcS9mZS1hdXRoLW9hdXRoLWRlYnVnLmMgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9vYXV0aC1k ZWJ1Zy5oCnNpbWlsYXJpdHkgaW5kZXggNjIlCnJlbmFtZSBmcm9tIHNyYy9pbnRlcmZhY2VzL2xp YnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcuYwpyZW5hbWUgdG8gc3JjL2ludGVyZmFjZXMvbGlicHEv b2F1dGgtZGVidWcuaAppbmRleCA4YmY3MTBjZTQ2YS4uYWQ1MjQ2YTg0MDIgMTAwNjQ0Ci0tLSBh L3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcuYworKysgYi9zcmMvaW50 ZXJmYWNlcy9saWJwcS9vYXV0aC1kZWJ1Zy5oCkBAIC0xLDI4ICsxLDUzIEBACiAvKi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KICAqCi0gKiBmZS1hdXRoLW9hdXRoLWRlYnVnLmMKKyAqIG9hdXRoLWRlYnVnLmgK ICAqCSAgUGFyc2luZyBsb2dpYyBmb3IgUEdPQVVUSERFQlVHIGVudmlyb25tZW50IHZhcmlhYmxl CiAgKgotICogVGhpcyBmaWxlIGNvbnRhaW5zIHB1cmUgc3RyaW5nIHBhcnNpbmcgbG9naWMgd2l0 aCBubyBkZXBlbmRlbmNpZXMgb24KLSAqIGxpYnBxIG9yIGxpYnBxLW9hdXRoIGltcGxlbWVudGF0 aW9uIGRldGFpbHMuIEl0J3MgY29tcGlsZWQgaW50byBib3RoCi0gKiBsaWJyYXJpZXMgdG8gYXZv aWQgY29kZSBkdXBsaWNhdGlvbi4KKyAqIEJvdGggbGlicHEgYW5kIGxpYnBxLW9hdXRoIG5lZWQg dGhpcyBsb2dpYywgc28gaXQncyBwYWNrYWdlZCBpbiBhIHNtYWxsCisgKiBoZWFkZXIgZm9yIGNv bnZlbmllbmNlLgogICoKLSAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0yMDI1LCBQb3N0 Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICogUG9ydGlvbnMgQ29weXJpZ2h0IChj KSAxOTk2LTIwMjYsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCiAgKiBQb3J0 aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2Fs aWZvcm5pYQogICoKICAqIElERU5USUZJQ0FUSU9OCi0gKiAJc3JjL2ludGVyZmFjZXMvbGlicHEv ZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jCisgKiAJc3JjL2ludGVyZmFjZXMvbGlicHEvb2F1dGgtZGVi dWcuaAogICoKICAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiAKKyNpZm5kZWYgT0FVVEhfREVCVUdf SAorI2RlZmluZSBPQVVUSF9ERUJVR19ICisKICNpbmNsdWRlICJwb3N0Z3Jlc19mZS5oIgogCi0j aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdHJpbmcu aD4KKy8qCisgKiBEZWJ1ZyBmbGFncyBmb3IgdGhlIFBHT0FVVEhERUJVRyBlbnZpcm9ubWVudCB2 YXJpYWJsZS4gRWFjaCBmbGFnIGNvbnRyb2xzIGEKKyAqIHNwZWNpZmljIGRlYnVnIGZlYXR1cmUu IE9BVVRIREVCVUdfVU5TQUZFXyogZmxhZ3MgcmVxdWlyZSB0aGUgZW52dmFyIHRvIGhhdmUKKyAq IGEgbGl0ZXJhbCAiVU5TQUZFOiIgcHJlZml4LgorICovCisKKy8qIGFsbG93IEhUVFAgKHVuZW5j cnlwdGVkKSBjb25uZWN0aW9ucyAqLworI2RlZmluZSBPQVVUSERFQlVHX1VOU0FGRV9IVFRQCQkJ KDE8PDApCisvKiBsb2cgSFRUUCB0cmFmZmljIChleHBvc2VzIHNlY3JldHMpICovCisjZGVmaW5l IE9BVVRIREVCVUdfVU5TQUZFX1RSQUNFCQkJKDE8PDEpCisvKiBhbGxvdyB6ZXJvLXNlY29uZCBy ZXRyeSBpbnRlcnZhbHMgKi8KKyNkZWZpbmUgT0FVVEhERUJVR19VTlNBRkVfRE9TX0VORFBPSU5U CSgxPDwyKQorCisvKiBtaW5kIHRoZSBnYXAgaW4gdmFsdWVzOyBzZWUgT0FVVEhERUJVR19VTlNB RkVfTUFTSyBiZWxvdyAqLwogCi0jaW5jbHVkZSAiZmUtYXV0aC1vYXV0aC5oIgorLyogcHJpbnQg UFFjb25uZWN0UG9sbCBzdGF0aXN0aWNzICovCisjZGVmaW5lIE9BVVRIREVCVUdfQ0FMTF9DT1VO VAkJCSgxPDwxNikKKy8qIHByaW50IHBsdWdpbiBsb2FkaW5nIGVycm9ycyAqLworI2RlZmluZSBP QVVUSERFQlVHX1BMVUdJTl9FUlJPUlMJCSgxPDwxNykKKworLyogYWxsIHNhZmUgYW5kIHVuc2Fm ZSBmbGFncywgZm9yIHRoZSBsZWdhY3kgVU5TQUZFIGJlaGF2aW9yICovCisjZGVmaW5lIE9BVVRI REVCVUdfVU5TQUZFX0FMTAkJCSgodWludDMyKSB+MCkKKworLyogRmxhZ3MgYXJlIGRpdmlkZWQg aW50byAic2FmZSIgYW5kICJ1bnNhZmUiIGJhc2VkIG9uIGJpdCBwb3NpdGlvbi4gKi8KKyNkZWZp bmUgT0FVVEhERUJVR19VTlNBRkVfTUFTSwkJCSgodWludDMyKSAweDAwMDBGRkZGKQorCitzdGF0 aWNfYXNzZXJ0KE9BVVRIREVCVUdfQ0FMTF9DT1VOVCA9PSBPQVVUSERFQlVHX1VOU0FGRV9NQVNL ICsgMSwKKwkJCSAgInRoZSBmaXJzdCBzYWZlIE9BVVRIREVCVUcgZmxhZyBzaG91bGQgYmUgYWJv dmUgT0FVVEhERUJVR19VTlNBRkVfTUFTSyIpOwogCiAvKgogICogUGFyc2VzIHRoZSBQR09BVVRI REVCVUcgZW52aXJvbm1lbnQgdmFyaWFibGUgYW5kIHJldHVybnMgZGVidWcgZmxhZ3MuCkBAIC0z Niw3ICs2MSw3IEBACiAgKiAtIEFuIHVucmVjb2duaXplZCBvcHRpb24gaXMgc3BlY2lmaWVkCiAg KiAtIEFuIHVuc2FmZSBvcHRpb24gaXMgc3BlY2lmaWVkIHdpdGhvdXQgdGhlIFVOU0FGRTogcHJl Zml4CiAgKi8KLXVpbnQzMgorc3RhdGljIHVpbnQzMgogb2F1dGhfZ2V0X2RlYnVnX2ZsYWdzKHZv aWQpCiB7CiAJdWludDMyCQlmbGFncyA9IDA7CkBAIC0xMDIsMyArMTI3LDUgQEAgb2F1dGhfZ2V0 X2RlYnVnX2ZsYWdzKHZvaWQpCiAKIAlyZXR1cm4gZmxhZ3M7CiB9CisKKyNlbmRpZgkJCQkJCQkv KiBPQVVUSF9ERUJVR19IICovCmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0 aC9vYXV0aC1jdXJsLmMgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC1jdXJsLmMK aW5kZXggNzEwMDgyNGM1NjAuLjVlZTYzMGRkOWY3IDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNl cy9saWJwcS1vYXV0aC9vYXV0aC1jdXJsLmMKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1 dGgvb2F1dGgtY3VybC5jCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29tbW9uL2pzb25h cGkuaCIKICNpbmNsdWRlICJtYi9wZ193Y2hhci5oIgogI2luY2x1ZGUgIm9hdXRoLWN1cmwuaCIK KyNpbmNsdWRlICJvYXV0aC1kZWJ1Zy5oIgogCiAjaWZkZWYgVVNFX0RZTkFNSUNfT0FVVEgKIApk aWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5jIGIvc3JjL2lu dGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5jCmluZGV4IDZmN2VjM2ExMjllLi5jMTUwZjI3 ZGYwMCAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5jCisr KyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGguYwpAQCAtMjYsNiArMjYsNyBA QAogI2luY2x1ZGUgImZlLWF1dGguaCIKICNpbmNsdWRlICJmZS1hdXRoLW9hdXRoLmgiCiAjaW5j bHVkZSAibWIvcGdfd2NoYXIuaCIKKyNpbmNsdWRlICJvYXV0aC1kZWJ1Zy5oIgogI2luY2x1ZGUg InBnX2NvbmZpZ19wYXRocy5oIgogI2luY2x1ZGUgInV0aWxzL21lbWRlYnVnLmgiCiAKLS0gCjIu MzQuMQoK --000000000000472068064e6a90b2 Content-Type: application/octet-stream; name="v3.1-0006-squash-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-.patch" Content-Disposition: attachment; filename="v3.1-0006-squash-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mngecbcc5 RnJvbSBhNzliMzE4MzVjZTNlOWViNDZmOWZkNzUwNWQ4M2U5YTAwYjBiNmU0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8amFjb2IuY2hhbXBpb25AZW50ZXJw cmlzZWRiLmNvbT4KRGF0ZTogV2VkLCAxIEFwciAyMDI2IDExOjIyOjE1IC0wNzAwClN1YmplY3Q6 IFtQQVRDSCB2My4xIDYvNl0gc3F1YXNoISBTcGxpdCBQR09BVVRIREVCVUc9VU5TQUZFIGludG8g bXVsdGlwbGUKIG9wdGlvbnMKCi0gVHJhbnNsYXRlIHRoZSB3YXJuaW5ncywgc2luY2UgdGhleSdy ZSBhIHNhZmV0eSBmZWF0dXJlIGZvciBjb25mdXNlZAogIGVuZCB1c2Vycy4gUmVxdWlyZXMgYSBz bWFsbCBjb21wbGljYXRpb24gZm9yIGxpYnBxX2dldHRleHQoKS4KCi0gVXBkYXRlIHdhcm5pbmcg dGV4dC4gRG8gbm90IHByb3ZpZGUgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byBkZWZlYXQgdGhlCiAg VU5TQUZFIHByb3RlY3Rpb247IGlmIGEgdXNlciBkb2Vzbid0IGtub3cgaG93IHRvIGRvIHRoYXQg aW1tZWRpYXRlbHksCiAgdGhleSBzaG91bGQgYWJzb2x1dGVseSBub3QgYmUgdXNpbmcgYW4gdW5z YWZlIGRldiBvcHRpb24uCgotIG5pdDogcmVuYW1lIHVuc2FmZV9wcmVmaXggdG8gdW5zYWZlX2Fs bG93ZWQKLS0tCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9vYXV0aC1kZWJ1Zy5oICAgICAgICAgICAg fCAyNSArKysrKysrKysrKy0tLS0tLS0tCiBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0 aC1jdXJsLmMgICAgICAgfCAgNyArKysrKy0KIC4uLi9tb2R1bGVzL29hdXRoX3ZhbGlkYXRvci90 LzAwMV9zZXJ2ZXIucGwgICB8ICAyICstCiBzcmMvdG9vbHMvcGdpbmNsdWRlL2hlYWRlcnNjaGVj ayAgICAgICAgICAgICAgfCAgMiArKwogNCBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCsp LCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9vYXV0 aC1kZWJ1Zy5oIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvb2F1dGgtZGVidWcuaAppbmRleCBhZDUy NDZhODQwMi4uMGJkODQ2N2EwOWMgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL29h dXRoLWRlYnVnLmgKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvb2F1dGgtZGVidWcuaApAQCAt NCw3ICs0LDggQEAKICAqCSAgUGFyc2luZyBsb2dpYyBmb3IgUEdPQVVUSERFQlVHIGVudmlyb25t ZW50IHZhcmlhYmxlCiAgKgogICogQm90aCBsaWJwcSBhbmQgbGlicHEtb2F1dGggbmVlZCB0aGlz IGxvZ2ljLCBzbyBpdCdzIHBhY2thZ2VkIGluIGEgc21hbGwKLSAqIGhlYWRlciBmb3IgY29udmVu aWVuY2UuCisgKiBoZWFkZXIgZm9yIGNvbnZlbmllbmNlLiBUaGlzIGlzIG5vdCBxdWl0ZSBhIHN0 YW5kYWxvbmUgaGVhZGVyLCBkdWUgdG8gdGhlCisgKiBjb21wbGljYXRpb24gaW50cm9kdWNlZCBi eSBsaWJwcV9nZXR0ZXh0KCk7IHNlZSBub3RlIGJlbG93LgogICoKICAqIFBvcnRpb25zIENvcHly aWdodCAoYykgMTk5Ni0yMDI2LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAog ICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk0LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5 IG9mIENhbGlmb3JuaWEKQEAgLTIwLDYgKzIxLDEzIEBACiAKICNpbmNsdWRlICJwb3N0Z3Jlc19m ZS5oIgogCisvKgorICogWFhYIGxpYnBxLW9hdXRoIGNhbid0IGNvbXBpbGUgYWdhaW5zdCBsaWJw cS1pbnQuaCwgc28gY2xpZW50cyBvZiB0aGlzIGhlYWRlcgorICogbmVlZCB0byBwcm92aWRlIHRo ZSBkZWNsYXJhdGlvbiBvZiBsaWJwcV9nZXR0ZXh0KCkgYmVmb3JlICNpbmNsdWRpbmcgaXQuCisg KiBGb3J0dW5hdGVseSwgdGhlcmUgYXJlIG9ubHkgdHdvIHN1Y2ggY2xpZW50cy4KKyAqLworLyog I2luY2x1ZGUgImxpYnBxLWludC5oIiAqLworCiAvKgogICogRGVidWcgZmxhZ3MgZm9yIHRoZSBQ R09BVVRIREVCVUcgZW52aXJvbm1lbnQgdmFyaWFibGUuIEVhY2ggZmxhZyBjb250cm9scyBhCiAg KiBzcGVjaWZpYyBkZWJ1ZyBmZWF0dXJlLiBPQVVUSERFQlVHX1VOU0FGRV8qIGZsYWdzIHJlcXVp cmUgdGhlIGVudnZhciB0byBoYXZlCkBAIC02OSw3ICs3Nyw3IEBAIG9hdXRoX2dldF9kZWJ1Z19m bGFncyh2b2lkKQogCWNoYXIJICAgKm9wdGlvbnNfc3RyOwogCWNoYXIJICAgKm9wdGlvbjsKIAlj aGFyCSAgICpzYXZlcHRyID0gTlVMTDsKLQlib29sCQl1bnNhZmVfcHJlZml4ID0gZmFsc2U7CisJ Ym9vbAkJdW5zYWZlX2FsbG93ZWQgPSBmYWxzZTsKIAogCWlmICghZW52IHx8IGVudlswXSA9PSAn XDAnKQogCQlyZXR1cm4gZmxhZ3M7CkBAIC03OSw3ICs4Nyw3IEBAIG9hdXRoX2dldF9kZWJ1Z19m bGFncyh2b2lkKQogCiAJaWYgKHN0cm5jbXAoZW52LCAiVU5TQUZFOiIsIDcpID09IDApCiAJewot CQl1bnNhZmVfcHJlZml4ID0gdHJ1ZTsKKwkJdW5zYWZlX2FsbG93ZWQgPSB0cnVlOwogCQllbnYg Kz0gNzsKIAl9CiAKQEAgLTEwMywyMCArMTExLDE3IEBAIG9hdXRoX2dldF9kZWJ1Z19mbGFncyh2 b2lkKQogCQllbHNlIGlmIChzdHJjbXAob3B0aW9uLCAicGx1Z2luLWVycm9ycyIpID09IDApCiAJ CQlmbGFnID0gT0FVVEhERUJVR19QTFVHSU5fRVJST1JTOwogCQllbHNlCi0JCXsKIAkJCWZwcmlu dGYoc3RkZXJyLAotCQkJCQkiV0FSTklORzogUEdPQVVUSERFQlVHOiB1bnJlY29nbml6ZWQgZGVi dWcgb3B0aW9uIFwiJXNcIiAoaWdub3JlZClcbiIsCisJCQkJCWxpYnBxX2dldHRleHQoIldBUk5J Tkc6IHVucmVjb2duaXplZCBQR09BVVRIREVCVUcgb3B0aW9uIFwiJXNcIiAoaWdub3JlZClcbiIp LAogCQkJCQlvcHRpb24pOwotCQl9CiAKLQkJaWYgKCF1bnNhZmVfcHJlZml4ICYmICgoZmxhZyAm IE9BVVRIREVCVUdfVU5TQUZFX01BU0spICE9IDApKQorCQlpZiAoIXVuc2FmZV9hbGxvd2VkICYm ICgoZmxhZyAmIE9BVVRIREVCVUdfVU5TQUZFX01BU0spICE9IDApKQogCQl7CiAJCQlmbGFnID0g MDsKIAogCQkJZnByaW50ZihzdGRlcnIsCi0JCQkJCSJXQVJOSU5HOiBQR09BVVRIREVCVUc6IHVu c2FmZSBvcHRpb24gXCIlc1wiIHJlcXVpcmVzIFVOU0FGRTogcHJlZml4IChpZ25vcmVkKVxuIgot CQkJCQkiVXNlOiBQR09BVVRIREVCVUc9VU5TQUZFOiVzXG4iLAotCQkJCQlvcHRpb24sIG9wdGlv bik7CisJCQkJCWxpYnBxX2dldHRleHQoIldBUk5JTkc6IFBHT0FVVEhERUJVRyBvcHRpb24gXCIl c1wiIGlzIHVuc2FmZSAoaWdub3JlZClcbiIpLAorCQkJCQlvcHRpb24pOwogCQl9CiAKIAkJZmxh Z3MgfD0gZmxhZzsKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRo LWN1cmwuYyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLWN1cmwuYwppbmRleCA1 ZWU2MzBkZDlmNy4uZWIyZmUzNWQwY2MgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBx LW9hdXRoL29hdXRoLWN1cmwuYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0 aC1jdXJsLmMKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJjb21tb24vanNvbmFwaS5oIgog I2luY2x1ZGUgIm1iL3BnX3djaGFyLmgiCiAjaW5jbHVkZSAib2F1dGgtY3VybC5oIgotI2luY2x1 ZGUgIm9hdXRoLWRlYnVnLmgiCiAKICNpZmRlZiBVU0VfRFlOQU1JQ19PQVVUSAogCkBAIC01MCw2 ICs0OSwxMiBAQAogCiAjZW5kaWYJCQkJCQkJLyogVVNFX0RZTkFNSUNfT0FVVEggKi8KIAorLyoK KyAqIG9hdXRoLWRlYnVnLmggbmVlZHMgdGhlIGRlY2xhcmF0aW9uIG9mIGxpYnBxX2dldHRleHQo KSwgZnJvbSBvbmUgb2YgdGhlIGFib3ZlCisgKiBzb3VyY2VzLgorICovCisjaW5jbHVkZSAib2F1 dGgtZGVidWcuaCIKKwogLyogT25lIGZpbmFsIGd1YXJkcmFpbCBhZ2FpbnN0IGFjY2lkZW50YWwg aW5jbHVzaW9uLi4uICovCiAjaWYgZGVmaW5lZChVU0VfRFlOQU1JQ19PQVVUSCkgJiYgZGVmaW5l ZChMSUJQUV9JTlRfSCkKICNlcnJvciBkbyBub3QgcmVseSBvbiBsaWJwcS1pbnQuaCBpbiBkeW5h bWljIGJ1aWxkcyBvZiBsaWJwcS1vYXV0aApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy9v YXV0aF92YWxpZGF0b3IvdC8wMDFfc2VydmVyLnBsIGIvc3JjL3Rlc3QvbW9kdWxlcy9vYXV0aF92 YWxpZGF0b3IvdC8wMDFfc2VydmVyLnBsCmluZGV4IDM4MDNkZDA4Mjg3Li4zZDE5MGMyYmE3MSAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy9vYXV0aF92YWxpZGF0b3IvdC8wMDFfc2VydmVy LnBsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvb2F1dGhfdmFsaWRhdG9yL3QvMDAxX3NlcnZlci5w bApAQCAtMTAxLDcgKzEwMSw3IEBAICRub2RlLT5jb25uZWN0X2ZhaWxzKAogCQkidXNlcj10ZXN0 IGRibmFtZT1wb3N0Z3JlcyBvYXV0aF9pc3N1ZXI9JGlzc3VlciBvYXV0aF9jbGllbnRfaWQ9ZjAy YzYzNjEtMDYzNSIsCiAJCSJIVFRQUyBpcyByZXF1aXJlZCB3aXRob3V0IGRlYnVnIG1vZGUgKGJh ZCBQR09BVVRIREVCVUcgdmFsdWUpIiwKIAkJZXhwZWN0ZWRfc3RkZXJyID0+IHFyWwotCQkJXldB Uk5JTkc6IC4qIFxRdW5zYWZlIG9wdGlvbiAiaHR0cCIgcmVxdWlyZXMgVU5TQUZFOiBwcmVmaXhc RQorCQkJXldBUk5JTkc6IC4qIFxRb3B0aW9uICJodHRwIiBpcyB1bnNhZmVcRQogCQkJLioKIAkJ CVxRT0F1dGggZGlzY292ZXJ5IFVSSSAiJGlzc3Vlci8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmln dXJhdGlvbiIgbXVzdCB1c2UgSFRUUFNcRQogCQldbXN4CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMv cGdpbmNsdWRlL2hlYWRlcnNjaGVjayBiL3NyYy90b29scy9wZ2luY2x1ZGUvaGVhZGVyc2NoZWNr CmluZGV4IDE0YzQ2NmNjMjM3Li5kZTUwYjY5MzdhZiAxMDA3NTUKLS0tIGEvc3JjL3Rvb2xzL3Bn aW5jbHVkZS9oZWFkZXJzY2hlY2sKKysrIGIvc3JjL3Rvb2xzL3BnaW5jbHVkZS9oZWFkZXJzY2hl Y2sKQEAgLTE1Myw2ICsxNTMsOCBAQCBkbwogCXRlc3QgIiRmIiA9IHNyYy9pbmNsdWRlL2NhdGFs b2cvc3lzY2FjaGVfaWRzLmggJiYgY29udGludWUKIAl0ZXN0ICIkZiIgPSBzcmMvaW5jbHVkZS9j YXRhbG9nL3N5c2NhY2hlX2luZm8uaCAmJiBjb250aW51ZQogCisJdGVzdCAiJGYiID0gc3JjL2lu dGVyZmFjZXMvbGlicHEvb2F1dGgtZGVidWcuaCAmJiBjb250aW51ZQorCiAJIyBXZSBjYW4ndCBt YWtlIHRoZXNlIEJpc29uIG91dHB1dCBmaWxlcyBjb21waWxhYmxlIHN0YW5kYWxvbmUKIAkjIHdp dGhvdXQgdXNpbmcgIiVjb2RlIHJlcXVpcmUiLCB3aGljaCBvbGQgQmlzb24gdmVyc2lvbnMgbGFj ay4KIAkjIHBhcnNlci9ncmFtLmggd2lsbCBiZSBpbmNsdWRlZCBieSBwYXJzZXIvZ3JhbXBhcnNl LmggYW55d2F5LgotLSAKMi4zNC4xCgo= --000000000000472068064e6a90b2--