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 1w5mZq-003cmj-2z for pgsql-hackers@arkaria.postgresql.org; Thu, 26 Mar 2026 15:24:55 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w5mZp-003RIs-17 for pgsql-hackers@arkaria.postgresql.org; Thu, 26 Mar 2026 15:24:53 +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 1w5mZo-003RIk-2Z for pgsql-hackers@lists.postgresql.org; Thu, 26 Mar 2026 15:24:53 +0000 Received: from mail-yx1-xb134.google.com ([2607:f8b0:4864:20::b134]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w5mZn-000000019tA-0dBD for pgsql-hackers@lists.postgresql.org; Thu, 26 Mar 2026 15:24:52 +0000 Received: by mail-yx1-xb134.google.com with SMTP id 956f58d0204a3-64ae2ce2fe1so1169229d50.1 for ; Thu, 26 Mar 2026 08:24:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774538690; cv=none; d=google.com; s=arc-20240605; b=TeP0rcGgYvppAfHuSgMssKpBEh9p1Y4cPuwl891M8//6HfKZoO8SrbudxZgDqVGlr9 yuDyAyMywgkoanax9umfVKsuwYcgN/xLWB2AfkAhH1arbQwx8AZGZbLA90s29j3nPObH XiTkOK6edvtY1b4uJ4H//tC12Jhcf5tZMyVtcmF8+nyagYpS/IpO4ZjlhilAa6gmoXRK 50bj6ex3+7PCmP3tvAhrh6EbRLI8RPA7T4YgBI8gqpy1gCM/7Sn874cG7UOvJ6ZeU2/7 kqdOgDQU0mSMlJFob2Xeg4Pz2l2WV3RHsFZzKjDRHZKwMDkMJfaSMD3aCzHCpybQZhOA J5HA== 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=uNp5Lu+rOStQhs60vLP+kpfhghz5bTb4OfOt9NlMvEg=; fh=KSbxQgU5hosVdEH5Y6qtlu8/iDmPq9P1UgLIEiu5Tig=; b=KbvuIdoa33O5SxHOP9sFxQHGRvE3iMZYxEfgh2KYKY7MRD0+0mBYnlYfqWBHao+JER HDAAJPH3I+fAkhbAclwY412bHiyKpkGT+r5PHFoC8FGhyEDFNVKVgZMZJ7K4t1pj2Jc7 RbM3MypUBmpeSGonfRHCnwNH/nRmT3oEM+jiFXhcOSGeXMlqafGToKcXQ9D91BlSLSOf ocCBdP0y6aunnNasVrplP5cdFnZVJWMaKw+/D3RYKL/EllNQvVHhGnBQdvyx7W2IMeg3 1U0Bn0jltuA1DxR8bcrQHroxWsnXLeY/sHNRH21UXsmU8yluRv81+u7Xgq6DMjMmu6jJ fC3A==; 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=gmail.com; s=20251104; t=1774538690; x=1775143490; 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=uNp5Lu+rOStQhs60vLP+kpfhghz5bTb4OfOt9NlMvEg=; b=lK015Fg45zuG00HYNZgl/YIECuDRfnGJbuTCXn0juv3htbYM8Nj/H/9wDGIFfMl4Xy Iug6JSxfIiHLT0bxFMos3gfs0igK6XAxGmLmX2W5OXKomqeo3PTXqqoGqyhqrC3Yap9j srZw8S1D3+7tGa4qPpG7PLeXP3DoUp123I44mXnVOOWYkuo2rGp6eEAMje8rWDjLR3Qo tgc4b0cfzpanJulKFNAOmdIDcTTCGfSgA7npEzFGDwKW8hiPMSivAkRMiaiFadv/eNWr Q08m+oHg/O/fnVw7rIplxcEPavrTtxZNDyuktI86k9Jb7/XRWrlG3pgD0mL3ODATDBLq /0pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774538690; x=1775143490; 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=uNp5Lu+rOStQhs60vLP+kpfhghz5bTb4OfOt9NlMvEg=; b=cz+ARoTe/Yb2c4WDKfQJ15XFRzwvB4YABOtiXokvZVaTuK4pfsfzqi8eebZuJkjX8Q VmxWHsH3jWBwsL1a2cq6PCdzGOI7lZ2rNbtLUrx3S1I6E79MiCqo+CvuVSEgcY0W9x1X qyRIT19jD8fTrjeNG0b/QPrLJsDcl2+OvtN3xVpurX+wpRJ3y5vl2fdKx5k7F+HFt5RM XHhaJrbKrsL5lMjC+wyWMsNJLK/gIQy0+RWesEXl4Por3/vqQfEL1/pv/QK/Gx9cBfJ2 wuwHKC+UybfZ+CrzI/gaO8UQmJk96IEhRd+XiG3c9J1kGLmWymC6JxDUULV2j/7/rArB F7Ew== X-Forwarded-Encrypted: i=1; AJvYcCVfNSzpRFMaPxAwYgKew7kxA64aurPqKtg9y6goRdtdpcPldO48ivhSh4hcpfniQxrJI20k3cjOb+QHtvLq@lists.postgresql.org X-Gm-Message-State: AOJu0YzORRjlHnA87VYRaJhsL4Dxfmdh6tqzVXgAK6hdwrJQApXU1BiS CsJAIMHi73F6q4S+f3Obn2usj8JaTQHk8kXN2KyF51Xy32R0CwRi7TtTaIjVxq1UpgSFy+2F1CU DAH7j4c4fEIEAC9EU/khflJjSqNl8d98= X-Gm-Gg: ATEYQzzZU7dWe8JCm7DLhcqCGnKTNhZDcxzBMpkuprJo9aIR/drVfyzHRK8GpC7yeMz TINZ8MldgVUHon8yCVMqCsPC3ObM+2YjVUGUCqX6NL6J6oYU4Wfg1ydcqCTAQmyKW8ehIazZG5v v/6nBo6miuPtuTXBRz6ITVJ+ztV9DEOlbPyDdwpSiUxs9p5ZxnqdFoqOzXFTvcKtQHtDSU0Qge3 cdMXac4wGeD7dxVEXykziPN602wOpJMosw8ii5HSSrN08Iu+te3moYRiJHePv1pVCwmGW81QIkN T1edI0cceNNH4jnei/WbkIjni9wnKsdb7QmJRZVeHg== X-Received: by 2002:a05:690c:5c16:b0:799:3e:8239 with SMTP id 00721157ae682-79acf371c2amr72169417b3.6.1774538689608; Thu, 26 Mar 2026 08:24:49 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: vignesh C Date: Thu, 26 Mar 2026 20:54:37 +0530 X-Gm-Features: AQROBzD2WpBjepFK3ZhYeofkWajnlfVvXxxnAfVDN7VWImtOk6eBODb3KKz4wLc Message-ID: Subject: Re: Skipping schema changes in publication To: Amit Kapila Cc: Dilip Kumar , shveta malik , Peter Smith , Masahiko Sawada , "Hayato Kuroda (Fujitsu)" , Shlok Kyal , Nisha Moond , Ashutosh Sharma , "David G. Johnston" , "Zhijie Hou (Fujitsu)" , YeXiu <1518981153@qq.com>, Ian Lawrence Barwick , Bharath Rupireddy , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000003c3971064deefc4d" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000003c3971064deefc4d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 26 Mar 2026 at 11:41, Amit Kapila wrote: > > On Tue, Mar 24, 2026 at 7:50=E2=80=AFPM Dilip Kumar wrote: > > > > On Mon, Mar 23, 2026 at 12:35=E2=80=AFPM shveta malik wrote: > > > > > > I would like to summarize the discussion/feedback for the EXCEPT > > > syntax implemented in [1]. > > > > > > 1) > > > The currently implemented syntax is ([1]): > > > > > > CREATE PUBLICATION pub FOR ALL TABLES EXCEPT TABLE (a, b, c); > > > > > > There were concerns about why the TABLE keyword and the parentheses > > > '()' are required. These have been answered in [2]. > > > > > > Please review the discussion there. > > > > > > 2) > > > Another feedback on current syntax was to move the TABLE keyword > > > inside the parentheses: > > > > > > CREATE PUBLICATION pub FOR ALL TABLES EXCEPT (TABLE t1, TABLE t2, > > > TABLES IN SCHEMA s1); > > > CREATE PUBLICATION pub FOR TABLES IN SCHEMA s1 EXCEPT (TABLE t1, TABL= E > > > t2), TABLE t3; > > > > > > While this approach is workable, a downside is the repeated use of th= e > > > TABLE keyword inside the parentheses, which can become verbose. But i= t > > > can then be optimized to have: > > > > > > CREATE PUBLICATION pub FOR ALL TABLES EXCEPT (TABLE t1, t2, t3); > > > > > > This could be extended further in the future: > > > > > > CREATE PUBLICATION pub FOR ALL TABLES EXCEPT (TABLE t1, t2, TABLES IN > > > SCHEMA s1, s2); > > > > > > This approach gives users flexibility to mix styles, for example: > > > > > > EXCEPT (TABLE t1, TABLE t2, TABLE t3) > > > EXCEPT (TABLE t1, t2, t3) > > > EXCEPT (TABLE t1, t2, TABLE t3) > > > EXCEPT (TABLE t1, TABLES IN SCHEMA s1, s2, TABLE t2, t3) > > > > > > While flexible, this can reduce clarity due to mixed styles, making > > > the statement harder to read. If extended further, the syntax could > > > evolve into something like: > > > > > > CREATE PUBLICATION pub1 FOR > > > ALL TABLES > > > EXCEPT (TABLE t1, t2, TABLES IN SCHEMA s1, s2), > > > ALL SEQUENCES > > > EXCEPT (SEQUENCE s1); > > > > > > At this point, one might also question why not allow something like: > > > FOR ALL (TABLES, SEQUENCES). > > > > > > Additionally, this shows a potential drift toward less structured > > > syntax. Instead, with the syntax already implemented in [1], its > > > future extension would look like: > > > > > > CREATE PUBLICATION pub1 FOR > > > ALL TABLES > > > EXCEPT TABLE (t1, t2), > > > EXCEPT TABLES IN SCHEMA (s1, s2), > > > ALL SEQUENCES > > > EXCEPT SEQUENCE (seq1, seq2); > > > > > > Although slightly more verbose, this approach keeps each clause > > > self-contained and explicit. The meaning of each part is determined > > > locally, rather than depending on elements appearing far in the > > > statement. > > > > > > The current syntax in [1] is simple and easy to follow. We have > > > retained the current implementation for now, while remaining open to > > > further discussion and suggestions. > > > > > > [1]: > > > https://www.postgresql.org/message-id/CALDaNm2-Ob9qPR%2BvqUSVMkxYO8RW= 4LQ_S1XiB0Y7xa54U%3DDqbA%40mail.gmail.com > > > https://git.postgresql.org/gitweb/?p=3Dpostgresql.git;a=3Dcommitdiff;= h=3Dfd366065e06ae953c4f2d973d5c5f0474f3b87b6 > > > > > > [2]: https://www.postgresql.org/message-id/CAJpy0uB20MhJJEaPJdm31t4fy= kJ%2BfChA_76jU2P9HX5knbJvAA%40mail.gmail.com > > > > > > Thanks for the summary. While I find the current implementation > > simpler and more intuitive, and would prefer it if we were designing > > this from scratch, we must consider the existing patterns for table > > inclusion. Since the inclusion syntax already supports a mixed > > approach, users will likely expect the same flexibility for > > exclusions. For the sake of consistency across the features, I believe > > we should move toward the mixed approach, despite my preference for > > the current structured style. > > > > IIUC, you think that we should change the current syntax "CREATE > PUBLICATION pub FOR ALL TABLES EXCEPT TABLE (a, b, c);" to "CREATE > PUBLICATION pub FOR ALL TABLES EXCEPT (TABLE a, b, c);". > > By now multiple people (Dilip Kumar, Peter Smith, Sawada Masahiko) > have preferred the alternate syntax, to move TABLE inside () to make > specifying inclusion and exclusion list in a similar way. Unless we > have more feedback, I think we can change it now. Attached patch has the changes for the same. Regards, Vignesh --0000000000003c3971064deefc4d Content-Type: application/octet-stream; name="0001-Change-syntax-of-EXCEPT-TABLE-clause-in-publication-.patch" Content-Disposition: attachment; filename="0001-Change-syntax-of-EXCEPT-TABLE-clause-in-publication-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mn7mi55p0 RnJvbSA4ZDZhNWYwYmEzMWUyODIxZWYwMTc0YTA4NzViNGFmZGQ2N2EzYzU1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFRodSwgMjYgTWFyIDIwMjYgMjA6MzA6MTQgKzA1MzAKU3ViamVjdDogW1BBVENIXSBDaGFuZ2Ug c3ludGF4IG9mIEVYQ0VQVCBUQUJMRSBjbGF1c2UgaW4gcHVibGljYXRpb24gY29tbWFuZHMKCkFk anVzdCB0aGUgc3ludGF4IG9mIHRoZSBFWENFUFQgY2xhdXNlIGluIENSRUFURS9BTFRFUiBQVUJM SUNBVElPTgp0byBtb3ZlIHRoZSBUQUJMRSBrZXl3b3JkIGluc2lkZSB0aGUgcmVsYXRpb24gbGlz dC4KCk9sZCBzeW50YXg6CkNSRUFURSBQVUJMSUNBVElPTiAuLi4gRk9SIEFMTCBUQUJMRVMgRVhD RVBUIFRBQkxFICh0MSwgLi4uKTsKQUxURVIgUFVCTElDQVRJT04gIC4uLiBTRVQgQUxMIFRBQkxF UyBFWENFUFQgVEFCTEUgKHQxLCAuLi4pOwoKTmV3IHN5bnRheDoKQ1JFQVRFIFBVQkxJQ0FUSU9O IC4uLiBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHQxLCAuLi4pOwpBTFRFUiBQVUJMSUNB VElPTiAgLi4uIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdDEsIC4uLik7CgpUaGlzIGNo YW5nZSBpcyBwdXJlbHkgc3ludGFjdGljIGFuZCBkb2VzIG5vdCBhbHRlciBiZWhhdmlvci4KLS0t CiBkb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3B1YmxpY2F0aW9uLnNnbWwgICB8ICA0ICsrLS0KIGRv Yy9zcmMvc2dtbC9yZWYvY3JlYXRlX3B1YmxpY2F0aW9uLnNnbWwgIHwgIDYgKysrLS0tCiBzcmMv YmFja2VuZC9wYXJzZXIvZ3JhbS55ICAgICAgICAgICAgICAgICB8ICA2ICsrKy0tLQogc3JjL2Jp bi9wZ19kdW1wL3BnX2R1bXAuYyAgICAgICAgICAgICAgICAgfCAgMiArLQogc3JjL2Jpbi9wZ19k dW1wL3QvMDAyX3BnX2R1bXAucGwgICAgICAgICAgfCAxMiArKysrKystLS0tLS0KIHNyYy9iaW4v cHNxbC90YWItY29tcGxldGUuaW4uYyAgICAgICAgICAgIHwgMjQgKysrKysrKysrKystLS0tLS0t LS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0IHwgMjIgKysr KysrKysrKy0tLS0tLS0tLS0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wdWJsaWNhdGlvbi5zcWwg ICAgICB8IDIyICsrKysrKysrKystLS0tLS0tLS0tLQogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3Qv MDM3X2V4Y2VwdC5wbCAgICAgfCAgOCArKysrLS0tLQogOSBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNl cnRpb25zKCspLCA1MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVm L2FsdGVyX3B1YmxpY2F0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3B1YmxpY2F0 aW9uLnNnbWwKaW5kZXggN2YwZTQ2MzgwY2MuLjE0MTZlOThkNzkzIDEwMDY0NAotLS0gYS9kb2Mv c3JjL3NnbWwvcmVmL2FsdGVyX3B1YmxpY2F0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3Jl Zi9hbHRlcl9wdWJsaWNhdGlvbi5zZ21sCkBAIC0zNSw3ICszNSw3IEBAIEFMVEVSIFBVQkxJQ0FU SU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVO QU1FIFRPIDxyCiAKIDxwaHJhc2U+YW5kIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5w dWJsaWNhdGlvbl9hbGxfb2JqZWN0PC9yZXBsYWNlYWJsZT4gaXMgb25lIG9mOjwvcGhyYXNlPgog Ci0gICAgQUxMIFRBQkxFUyBbIEVYQ0VQVCBUQUJMRSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5leGNlcHRfdGFibGVfb2JqZWN0PC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gKSBdCisg ICAgQUxMIFRBQkxFUyBbIEVYQ0VQVCAoIFRBQkxFICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+ZXhjZXB0X3RhYmxlX29iamVjdDwvcmVwbGFjZWFibGU+IFssIC4uLiBdICkgXQogICAg IEFMTCBTRVFVRU5DRVMKIAogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnB1YmxpY2F0aW9uX2Ryb3Bfb2JqZWN0PC9yZXBsYWNlYWJsZT4gaXMgb25lIG9mOjwvcGhy YXNlPgpAQCAtMjY1LDcgKzI2NSw3IEBAIEFMVEVSIFBVQkxJQ0FUSU9OIG15cHVibGljYXRpb24g U0VUIFRBQkxFIHVzZXJzICh1c2VyX2lkLCBmaXJzdG5hbWUsIGxhc3RuYW1lKSwKICAgPHBhcmE+ CiAgICBSZXBsYWNlIHRoZSBwdWJsaWNhdGlvbidzIEVYQ0VQVCBUQUJMRSBsaXN0OgogPHByb2dy YW1saXN0aW5nPgotQUxURVIgUFVCTElDQVRJT04gbXlwdWJsaWNhdGlvbiBTRVQgQUxMIFRBQkxF UyBFWENFUFQgVEFCTEUgKHVzZXJzLCBkZXBhcnRtZW50cyk7CitBTFRFUiBQVUJMSUNBVElPTiBt eXB1YmxpY2F0aW9uIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdXNlcnMsIGRlcGFydG1l bnRzKTsKIDwvcHJvZ3JhbWxpc3Rpbmc+PC9wYXJhPgogCiAgIDxwYXJhPgpkaWZmIC0tZ2l0IGEv ZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3B1YmxpY2F0aW9uLnNnbWwKaW5kZXggNzcwNjZlZjY4MGIuLjE4NmZiNTgyMDg1 IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9wdWJsaWNhdGlvbi5zZ21sCisr KyBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3B1YmxpY2F0aW9uLnNnbWwKQEAgLTMyLDcgKzMy LDcgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5u YW1lPC9yZXBsYWNlYWJsZT4KIAogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnB1YmxpY2F0aW9uX2FsbF9vYmplY3Q8L3JlcGxhY2VhYmxlPiBpcyBvbmUgb2Y6PC9w aHJhc2U+CiAKLSAgICBBTEwgVEFCTEVTIFsgRVhDRVBUIFRBQkxFICggPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPmV4Y2VwdF90YWJsZV9vYmplY3Q8L3JlcGxhY2VhYmxlPiBbLCAuLi4g XSApIF0KKyAgICBBTEwgVEFCTEVTIFsgRVhDRVBUICggVEFCTEUgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPmV4Y2VwdF90YWJsZV9vYmplY3Q8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSAp IF0KICAgICBBTEwgU0VRVUVOQ0VTCiAKIDxwaHJhc2U+YW5kIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj50YWJsZV9hbmRfY29sdW1uczwvcmVwbGFjZWFibGU+IGlzOjwvcGhyYXNlPgpA QCAtNTMyLDcgKzUzMiw3IEBAIENSRUFURSBQVUJMSUNBVElPTiBhbGxfdGFibGVzX3NlcXVlbmNl cyBGT1IgQUxMIFRBQkxFUywgQUxMIFNFUVVFTkNFUzsKICAgIENyZWF0ZSBhIHB1YmxpY2F0aW9u IHRoYXQgcHVibGlzaGVzIGFsbCBjaGFuZ2VzIGluIGFsbCB0YWJsZXMgZXhjZXB0CiAgICA8c3Ry dWN0bmFtZT51c2Vyczwvc3RydWN0bmFtZT4gYW5kIDxzdHJ1Y3RuYW1lPmRlcGFydG1lbnRzPC9z dHJ1Y3RuYW1lPjoKIDxwcm9ncmFtbGlzdGluZz4KLUNSRUFURSBQVUJMSUNBVElPTiBhbGxfdGFi bGVzX2V4Y2VwdCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHVzZXJzLCBkZXBhcnRtZW50 cyk7CitDUkVBVEUgUFVCTElDQVRJT04gYWxsX3RhYmxlc19leGNlcHQgRk9SIEFMTCBUQUJMRVMg RVhDRVBUIChUQUJMRSB1c2VycywgZGVwYXJ0bWVudHMpOwogPC9wcm9ncmFtbGlzdGluZz4KICAg PC9wYXJhPgogCkBAIC01NDEsNyArNTQxLDcgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIGFsbF90YWJs ZXNfZXhjZXB0IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodXNlcnMsIGRlcGFydG0KICAg IGFsbCBjaGFuZ2VzIGluIGFsbCB0YWJsZXMgZXhjZXB0IDxzdHJ1Y3RuYW1lPnVzZXJzPC9zdHJ1 Y3RuYW1lPiBhbmQKICAgIDxzdHJ1Y3RuYW1lPmRlcGFydG1lbnRzPC9zdHJ1Y3RuYW1lPjoKIDxw cm9ncmFtbGlzdGluZz4KLUNSRUFURSBQVUJMSUNBVElPTiBhbGxfc2VxdWVuY2VzX3RhYmxlc19l eGNlcHQgRk9SIEFMTCBTRVFVRU5DRVMsIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh1c2Vycywg ZGVwYXJ0bWVudHMpOworQ1JFQVRFIFBVQkxJQ0FUSU9OIGFsbF9zZXF1ZW5jZXNfdGFibGVzX2V4 Y2VwdCBGT1IgQUxMIFNFUVVFTkNFUywgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHVzZXJzLCBk ZXBhcnRtZW50cyk7CiA8L3Byb2dyYW1saXN0aW5nPgogICA8L3BhcmE+CiAgPC9yZWZzZWN0MT4K ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJz ZXIvZ3JhbS55CmluZGV4IDBmZWE3MjZjZGQ1Li4wNTYyZGRlNjhhMyAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBA IC0xMTI1Niw3ICsxMTI1Niw3IEBAIEFsdGVyT3duZXJTdG10OiBBTFRFUiBBR0dSRUdBVEUgYWdn cmVnYXRlX3dpdGhfYXJndHlwZXMgT1dORVIgVE8gUm9sZVNwZWMKICAqCiAgKiBwdWJfYWxsX29i al90eXBlIGlzIG9uZSBvZjoKICAqCi0gKgkJVEFCTEVTIFtFWENFUFQgVEFCTEUgKCB0YWJsZSBb LCAuLi5dICldCisgKgkJVEFCTEVTIFtFWENFUFQgKFRBQkxFIHRhYmxlIFssIC4uLl0gKV0KICAq CQlTRVFVRU5DRVMKICAqCiAgKiBDUkVBVEUgUFVCTElDQVRJT04gRk9SIHB1Yl9vYmogWywgLi4u XSBbV0lUSCBvcHRpb25zXQpAQCAtMTEzOTksNyArMTEzOTksNyBAQCBwdWJfb2JqX2xpc3Q6CVB1 YmxpY2F0aW9uT2JqU3BlYwogCTsKIAogb3B0X3B1Yl9leGNlcHRfY2xhdXNlOgotCQkJRVhDRVBU IFRBQkxFICcoJyBwdWJfZXhjZXB0X29ial9saXN0ICcpJwl7ICQkID0gJDQ7IH0KKwkJCUVYQ0VQ VCAnKCcgVEFCTEUgcHViX2V4Y2VwdF9vYmpfbGlzdCAnKScJeyAkJCA9ICQ0OyB9CiAJCQl8IC8q RU1QVFkqLwkJCQkJCQkJCXsgJCQgPSBOSUw7IH0KIAkJOwogCkBAIC0xMTQ2Miw3ICsxMTQ2Miw3 IEBAIHB1Yl9leGNlcHRfb2JqX2xpc3Q6IFB1YmxpY2F0aW9uRXhjZXB0T2JqU3BlYwogICoKICAq IHB1Yl9hbGxfb2JqX3R5cGUgaXMgb25lIG9mOgogICoKLSAqCQlBTEwgVEFCTEVTIFsgRVhDRVBU IFRBQkxFICggdGFibGVfbmFtZSBbLCAuLi5dICkgXQorICoJCUFMTCBUQUJMRVMgWyBFWENFUFQg KCBUQUJMRSB0YWJsZV9uYW1lIFssIC4uLl0gKSBdCiAgKgkJQUxMIFNFUVVFTkNFUwogICoKICAq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1w LmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCmluZGV4IDVkMWY3NjgyZjExLi43NjU1OGZl NTBiMiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYworKysgYi9zcmMvYmlu L3BnX2R1bXAvcGdfZHVtcC5jCkBAIC00NzE0LDcgKzQ3MTQsNyBAQCBkdW1wUHVibGljYXRpb24o QXJjaGl2ZSAqZm91dCwgY29uc3QgUHVibGljYXRpb25JbmZvICpwdWJpbmZvKQogCQkJVGFibGVJ bmZvICAqdGJpbmZvID0gKFRhYmxlSW5mbyAqKSBjZWxsLT5wdHI7CiAKIAkJCWlmICgrK25fZXhj ZXB0ID09IDEpCi0JCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIgRVhDRVBUIFRBQkxF ICgiKTsKKwkJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiBFWENFUFQgKFRBQkxFICIp OwogCQkJZWxzZQogCQkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiLCAiKTsKIAkJCWFw cGVuZFBRRXhwQnVmZmVyKHF1ZXJ5LCAiT05MWSAlcyIsIGZtdFF1YWxpZmllZER1bXBhYmxlKHRi aW5mbykpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwgYi9z cmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbAppbmRleCAwNTFhM2Q4ZWEzZC4uYjRiOGVm ZWQ1MTMgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCisrKyBi L3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCkBAIC0zMjE1LDkgKzMyMTUsOSBAQCBt eSAldGVzdHMgPSAoCiAJJ0NSRUFURSBQVUJMSUNBVElPTiBwdWI4JyA9PiB7CiAJCWNyZWF0ZV9v cmRlciA9PiA1MCwKIAkJY3JlYXRlX3NxbCA9PgotCQkgICdDUkVBVEUgUFVCTElDQVRJT04gcHVi OCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKGR1bXBfdGVzdC50ZXN0X3RhYmxlKTsnLAor CQkgICdDUkVBVEUgUFVCTElDQVRJT04gcHViOCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxF IGR1bXBfdGVzdC50ZXN0X3RhYmxlKTsnLAogCQlyZWdleHAgPT4gcXIvXgotCQkJXFFDUkVBVEUg UFVCTElDQVRJT04gcHViOCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKE9OTFkgZHVtcF90 ZXN0LnRlc3RfdGFibGUpIFdJVEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCB1cGRhdGUsIGRlbGV0ZSwg dHJ1bmNhdGUnKTtcRQorCQkJXFFDUkVBVEUgUFVCTElDQVRJT04gcHViOCBGT1IgQUxMIFRBQkxF UyBFWENFUFQgKFRBQkxFIE9OTFkgZHVtcF90ZXN0LnRlc3RfdGFibGUpIFdJVEggKHB1Ymxpc2gg PSAnaW5zZXJ0LCB1cGRhdGUsIGRlbGV0ZSwgdHJ1bmNhdGUnKTtcRQogCQkJL3htLAogCQlsaWtl ID0+IHsgJWZ1bGxfcnVucywgc2VjdGlvbl9wb3N0X2RhdGEgPT4gMSwgfSwKIAl9LApAQCAtMzIy NSw5ICszMjI1LDkgQEAgbXkgJXRlc3RzID0gKAogCSdDUkVBVEUgUFVCTElDQVRJT04gcHViOScg PT4gewogCQljcmVhdGVfb3JkZXIgPT4gNTAsCiAJCWNyZWF0ZV9zcWwgPT4KLQkJICAnQ1JFQVRF IFBVQkxJQ0FUSU9OIHB1YjkgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIChkdW1wX3Rlc3Qu dGVzdF90YWJsZSwgZHVtcF90ZXN0LnRlc3Rfc2Vjb25kX3RhYmxlKTsnLAorCQkgICdDUkVBVEUg UFVCTElDQVRJT04gcHViOSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIGR1bXBfdGVzdC50 ZXN0X3RhYmxlLCBkdW1wX3Rlc3QudGVzdF9zZWNvbmRfdGFibGUpOycsCiAJCXJlZ2V4cCA9PiBx ci9eCi0JCQlcUUNSRUFURSBQVUJMSUNBVElPTiBwdWI5IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBU QUJMRSAoT05MWSBkdW1wX3Rlc3QudGVzdF90YWJsZSwgT05MWSBkdW1wX3Rlc3QudGVzdF9zZWNv bmRfdGFibGUpIFdJVEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCB1cGRhdGUsIGRlbGV0ZSwgdHJ1bmNh dGUnKTtcRQorCQkJXFFDUkVBVEUgUFVCTElDQVRJT04gcHViOSBGT1IgQUxMIFRBQkxFUyBFWENF UFQgKFRBQkxFIE9OTFkgZHVtcF90ZXN0LnRlc3RfdGFibGUsIE9OTFkgZHVtcF90ZXN0LnRlc3Rf c2Vjb25kX3RhYmxlKSBXSVRIIChwdWJsaXNoID0gJ2luc2VydCwgdXBkYXRlLCBkZWxldGUsIHRy dW5jYXRlJyk7XEUKIAkJCS94bSwKIAkJbGlrZSA9PiB7ICVmdWxsX3J1bnMsIHNlY3Rpb25fcG9z dF9kYXRhID0+IDEsIH0sCiAJfSwKQEAgLTMyMzUsOSArMzIzNSw5IEBAIG15ICV0ZXN0cyA9ICgK IAknQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjEwJyA9PiB7CiAJCWNyZWF0ZV9vcmRlciA9PiA5MiwK IAkJY3JlYXRlX3NxbCA9PgotCQkgICdDUkVBVEUgUFVCTElDQVRJT04gcHViMTAgRk9SIEFMTCBU QUJMRVMgRVhDRVBUIFRBQkxFIChkdW1wX3Rlc3QudGVzdF9pbmhlcml0YW5jZV9wYXJlbnQpOycs CisJCSAgJ0NSRUFURSBQVUJMSUNBVElPTiBwdWIxMCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRB QkxFIGR1bXBfdGVzdC50ZXN0X2luaGVyaXRhbmNlX3BhcmVudCk7JywKIAkJcmVnZXhwID0+IHFy L14KLQkJCVxRQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjEwIEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBU QUJMRSAoT05MWSBkdW1wX3Rlc3QudGVzdF9pbmhlcml0YW5jZV9wYXJlbnQsIE9OTFkgZHVtcF90 ZXN0LnRlc3RfaW5oZXJpdGFuY2VfY2hpbGQpIFdJVEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCB1cGRh dGUsIGRlbGV0ZSwgdHJ1bmNhdGUnKTtcRQorCQkJXFFDUkVBVEUgUFVCTElDQVRJT04gcHViMTAg Rk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSBPTkxZIGR1bXBfdGVzdC50ZXN0X2luaGVyaXRh bmNlX3BhcmVudCwgT05MWSBkdW1wX3Rlc3QudGVzdF9pbmhlcml0YW5jZV9jaGlsZCkgV0lUSCAo cHVibGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwgZGVsZXRlLCB0cnVuY2F0ZScpO1xFCiAJCQkveG0s CiAJCWxpa2UgPT4geyAlZnVsbF9ydW5zLCBzZWN0aW9uX3Bvc3RfZGF0YSA9PiAxLCB9LAogCX0s CmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMgYi9zcmMvYmluL3Bz cWwvdGFiLWNvbXBsZXRlLmluLmMKaW5kZXggNTIzZDNmMzlmYzUuLmNiZGQwMmNkMDFiIDEwMDY0 NAotLS0gYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMKKysrIGIvc3JjL2Jpbi9wc3Fs L3RhYi1jb21wbGV0ZS5pbi5jCkBAIC0yMzMzLDEzICsyMzMzLDEzIEBAIG1hdGNoX3ByZXZpb3Vz X3dvcmRzKGludCBwYXR0ZXJuX2lkLAogCWVsc2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJ Q0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAiQUxMIikpCiAJCUNPTVBMRVRFX1dJVEgoIlNFUVVF TkNFUyIsICJUQUJMRVMiKTsKIAllbHNlIGlmIChNYXRjaGVzKCJBTFRFUiIsICJQVUJMSUNBVElP TiIsIE1hdGNoQW55LCAiU0VUIiwgIkFMTCIsICJUQUJMRVMiKSkKLQkJQ09NUExFVEVfV0lUSCgi RVhDRVBUIFRBQkxFICgiKTsKKwkJQ09NUExFVEVfV0lUSCgiRVhDRVBUICggVEFCTEUiKTsKIAll bHNlIGlmIChNYXRjaGVzKCJBTFRFUiIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiU0VUIiwg IkFMTCIsICJUQUJMRVMiLCAiRVhDRVBUIikpCi0JCUNPTVBMRVRFX1dJVEgoIlRBQkxFICgiKTsK LQllbHNlIGlmIChNYXRjaGVzKCJBTFRFUiIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiU0VU IiwgIkFMTCIsICJUQUJMRVMiLCAiRVhDRVBUIiwgIlRBQkxFIikpCi0JCUNPTVBMRVRFX1dJVEgo IigiKTsKKwkJQ09NUExFVEVfV0lUSCgiKCBUQUJMRSIpOworCWVsc2UgaWYgKE1hdGNoZXMoIkFM VEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAiQUxMIiwgIlRBQkxFUyIsICJF WENFUFQiLCAiKCIpKQorCQlDT01QTEVURV9XSVRIKCJUQUJMRSIpOwogCS8qIENvbXBsZXRlICJB TFRFUiBQVUJMSUNBVElPTiA8bmFtZT4gRk9SIFRBQkxFIiB3aXRoICI8dGFibGU+LCAuLi4iICov Ci0JZWxzZSBpZiAoTWF0Y2hlcygiQUxURVIiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIlNF VCIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQVCIsICJUQUJMRSIsICIoIikpCisJZWxzZSBpZiAo TWF0Y2hlcygiQUxURVIiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIlNFVCIsICJBTEwiLCAi VEFCTEVTIiwgIkVYQ0VQVCIsICIoIiwgIlRBQkxFIikpCiAJCUNPTVBMRVRFX1dJVEhfU0NIRU1B X1FVRVJZKFF1ZXJ5X2Zvcl9saXN0X29mX3RhYmxlcyk7CiAJZWxzZSBpZiAoTWF0Y2hlcygiQUxU RVIiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkFERHxEUk9QfFNFVCIsICJUQUJMRVMiLCAi SU4iLCAiU0NIRU1BIikpCiAJCUNPTVBMRVRFX1dJVEhfUVVFUllfUExVUyhRdWVyeV9mb3JfbGlz dF9vZl9zY2hlbWFzCkBAIC0zNzM4LDE2ICszNzM4LDE2IEBAIG1hdGNoX3ByZXZpb3VzX3dvcmRz KGludCBwYXR0ZXJuX2lkLAogCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQVUJMSUNBVElP TiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIpKQogCQlDT01QTEVURV9XSVRIKCJUQUJMRVMiLCAi U0VRVUVOQ0VTIik7CiAJZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FUSU9OIiwg TWF0Y2hBbnksICJGT1IiLCAiQUxMIiwgIlRBQkxFUyIpKQotCQlDT01QTEVURV9XSVRIKCJFWENF UFQgVEFCTEUgKCIsICJXSVRIICgiKTsKKwkJQ09NUExFVEVfV0lUSCgiRVhDRVBUICggVEFCTEUi LCAiV0lUSCAoIik7CiAJZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FUSU9OIiwg TWF0Y2hBbnksICJGT1IiLCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiKSkKLQkJQ09NUExFVEVf V0lUSCgiVEFCTEUgKCIpOwotCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQVUJMSUNBVElP TiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMiLCAiRVhDRVBUIiwgIlRBQkxFIikp Ci0JCUNPTVBMRVRFX1dJVEgoIigiKTsKLQllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiUFVC TElDQVRJT04iLCBNYXRjaEFueSwgIkZPUiIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQVCIsICJU QUJMRSIsICIoIikpCisJCUNPTVBMRVRFX1dJVEgoIiggVEFCTEUiKTsKKwllbHNlIGlmIChNYXRj aGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkZPUiIsICJBTEwiLCAiVEFC TEVTIiwgIkVYQ0VQVCIsICIoIikpCisJCUNPTVBMRVRFX1dJVEgoIlRBQkxFIik7CisJZWxzZSBp ZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJGT1IiLCAiQUxM IiwgIlRBQkxFUyIsICJFWENFUFQiLCAiKCIsICJUQUJMRSIpKQogCQlDT01QTEVURV9XSVRIX1ND SEVNQV9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl90YWJsZXMpOwotCWVsc2UgaWYgKE1hdGNoZXMo IkNSRUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMi LCAiRVhDRVBUIiwgIlRBQkxFIiwgIigiLCBNYXRjaEFueU4pICYmIGVuZHNfd2l0aChwcmV2X3dk LCAnLCcpKQorCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNo QW55LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMiLCAiRVhDRVBUIiwgIigiLCAiVEFCTEUiLCBNYXRj aEFueU4pICYmIGVuZHNfd2l0aChwcmV2X3dkLCAnLCcpKQogCQlDT01QTEVURV9XSVRIX1NDSEVN QV9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl90YWJsZXMpOwotCWVsc2UgaWYgKE1hdGNoZXMoIkNS RUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMiLCAi RVhDRVBUIiwgIlRBQkxFIiwgIigiLCBNYXRjaEFueU4pICYmICFlbmRzX3dpdGgocHJldl93ZCwg JywnKSkKKwllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFu eSwgIkZPUiIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQVCIsICIoIiwgIlRBQkxFIiwgTWF0Y2hB bnlOKSAmJiAhZW5kc193aXRoKHByZXZfd2QsICcsJykpCiAJCUNPTVBMRVRFX1dJVEgoIikiKTsK IAllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkZP UiIsICJUQUJMRVMiKSkKIAkJQ09NUExFVEVfV0lUSCgiSU4gU0NIRU1BIik7CmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1YmxpY2F0aW9uLm91dCBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0CmluZGV4IGEyMjBmNDhiMjg1Li5mMTE3Yzc1 ZjJhZiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5v dXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQKQEAgLTIx OCw3ICsyMTgsNyBAQCBOb3QtbnVsbCBjb25zdHJhaW50czoKIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgPSAnRVJS T1InOwogLS0gU3BlY2lmeSB0YWJsZSBsaXN0IGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlIG9m IGEgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24KLUNSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHVi X2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRl c3RwdWJfdGJsMSwgdGVzdHB1Yl90YmwyKTsKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViX2Zv cmFsbHRhYmxlc19leGNlcHR0YWJsZSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3Rw dWJfdGJsMSwgdGVzdHB1Yl90YmwyKTsKIFxkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2Vw dHRhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UHVibGljYXRpb24gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUKICAgICAgICAgICBP d25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgQWxsIHNlcXVlbmNlcyB8IEluc2VydHMgfCBV cGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IEdlbmVyYXRlZCBjb2x1bW5zIHwgVmlhIHJv b3QgfCBEZXNjcmlwdGlvbiAKQEAgLTIyOSw3ICsyMjksNyBAQCBFeGNlcHQgdGFibGVzOgogICAg ICJwdWJsaWMudGVzdHB1Yl90YmwyIgogCiAtLSBTcGVjaWZ5IHRhYmxlIGluIHRoZSBFWENFUFQg VEFCTEUgY2xhdXNlIG9mIGEgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24KLUNSRUFURSBQVUJM SUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEgRk9SIEFMTCBUQUJMRVMg RVhDRVBUIFRBQkxFICh0ZXN0cHViX3RibDEpOworQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJf Zm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRl c3RwdWJfdGJsMSk7CiBcZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9u IHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMQogICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEFsbCB0YWJsZXMgfCBBbGwgc2VxdWVuY2VzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBE ZWxldGVzIHwgVHJ1bmNhdGVzIHwgR2VuZXJhdGVkIGNvbHVtbnMgfCBWaWEgcm9vdCB8IERlc2Ny aXB0aW9uIApAQCAtMjU5LDcgKzI1OSw3IEBAIEV4Y2VwdCBQdWJsaWNhdGlvbnM6CiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC0tIFJlcGxhY2UgdGhlIGV4 aXN0aW5nIEVYQ0VQVCBUQUJMRSBsaXN0ICh0ZXN0cHViX3RibDEpIHdpdGggYSBuZXcKIC0tIEVY Q0VQVCBUQUJMRSBsaXN0IGNvbnRhaW5pbmcgb25seSAodGVzdHB1Yl90YmwyKS4KLUFMVEVSIFBV QkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlIFNFVCBBTEwgVEFCTEVT IEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwyKTsKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJf Zm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVz dHB1Yl90YmwyKTsKIFxkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24g dGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUKICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBBbGwgdGFibGVzIHwgQWxsIHNlcXVlbmNlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVs ZXRlcyB8IFRydW5jYXRlcyB8IEdlbmVyYXRlZCBjb2x1bW5zIHwgVmlhIHJvb3QgfCBEZXNjcmlw dGlvbiAKQEAgLTMwOSw3ICszMDksNyBAQCBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFs bF90YmxzX3NlcXMgU0VUIEFMTCBTRVFVRU5DRVM7CiAoMSByb3cpCiAKIC0tIGZhaWwgLSBTRVQg QUxMIFRBQkxFUy9TRVFVRU5DRVMgaXMgbm90IGFsbG93ZWQgZm9yIGEgJ0ZPUiBUQUJMRScgcHVi bGljYXRpb24KLUFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBUQUJM RVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3RibDEpOworQUxURVIgUFVCTElDQVRJT04gdGVzdHB1 Yl9mb3J0YWJsZSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJsMSk7CiBF UlJPUjogIHB1YmxpY2F0aW9uICJ0ZXN0cHViX2ZvcnRhYmxlIiBkb2VzIG5vdCBzdXBwb3J0IEFM TCBUQUJMRVMgb3BlcmF0aW9ucwogREVUQUlMOiAgVGhpcyBvcGVyYXRpb24gcmVxdWlyZXMgdGhl IHB1YmxpY2F0aW9uIHRvIGJlIGRlZmluZWQgYXMgRk9SIEFMTCBUQUJMRVMvU0VRVUVOQ0VTIG9y IHRvIGJlIGVtcHR5LgogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBTRVQgQUxM IFRBQkxFUzsKQEAgLTMxOSw3ICszMTksNyBAQCBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2Zv cnRhYmxlIFNFVCBBTEwgU0VRVUVOQ0VTOwogRVJST1I6ICBwdWJsaWNhdGlvbiAidGVzdHB1Yl9m b3J0YWJsZSIgZG9lcyBub3Qgc3VwcG9ydCBBTEwgU0VRVUVOQ0VTIG9wZXJhdGlvbnMKIERFVEFJ TDogIFRoaXMgb3BlcmF0aW9uIHJlcXVpcmVzIHRoZSBwdWJsaWNhdGlvbiB0byBiZSBkZWZpbmVk IGFzIEZPUiBBTEwgVEFCTEVTL1NFUVVFTkNFUyBvciB0byBiZSBlbXB0eS4KIC0tIGZhaWwgLSBT RVQgQUxMIFRBQkxFUy9TRVFVRU5DRVMgaXMgbm90IGFsbG93ZWQgZm9yIGEgc2NoZW1hIHB1Ymxp Y2F0aW9uCi1BTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnNjaGVtYSBTRVQgQUxMIFRBQkxF UyBFWENFUFQgVEFCTEUgKHB1Yl90ZXN0LnRlc3RwdWJfbm9wayk7CitBTFRFUiBQVUJMSUNBVElP TiB0ZXN0cHViX2ZvcnNjaGVtYSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHB1Yl90ZXN0 LnRlc3RwdWJfbm9wayk7CiBFUlJPUjogIHB1YmxpY2F0aW9uICJ0ZXN0cHViX2ZvcnNjaGVtYSIg ZG9lcyBub3Qgc3VwcG9ydCBBTEwgVEFCTEVTIG9wZXJhdGlvbnMKIERFVEFJTDogIFRoaXMgb3Bl cmF0aW9uIHJlcXVpcmVzIHRoZSBwdWJsaWNhdGlvbiB0byBiZSBkZWZpbmVkIGFzIEZPUiBBTEwg VEFCTEVTL1NFUVVFTkNFUyBvciB0byBiZSBlbXB0eS4KIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3Rw dWJfZm9yc2NoZW1hIFNFVCBBTEwgVEFCTEVTOwpAQCAtMzU5LDcgKzM1OSw3IEBAIFRhYmxlczoK ICAgICAicHVibGljLnRlc3RwdWJfdGJsX3BhcmVudCIKIAogLS0gTGlzdCB0aGUgcGFyZW50IHRh YmxlIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlICh3aXRob3V0IE9OTFkgb3IgJyonKQotQ1JF QVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVz dHB1Yl90YmxfcGFyZW50KTsKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNSBGT1IgQUxMIFRB QkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJsX3BhcmVudCk7CiBcZFJwKyB0ZXN0cHViNQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFB1YmxpY2F0aW9uIHRlc3RwdWI1CiAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxs IHRhYmxlcyB8IEFsbCBzZXF1ZW5jZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBU cnVuY2F0ZXMgfCBHZW5lcmF0ZWQgY29sdW1ucyB8IFZpYSByb290IHwgRGVzY3JpcHRpb24gCkBA IC0zNzAsNyArMzcwLDcgQEAgRXhjZXB0IHRhYmxlczoKICAgICAicHVibGljLnRlc3RwdWJfdGJs X3BhcmVudCIKIAogLS0gRVhDRVBUIHdpdGggJyonOiBsaXN0IHRoZSB0YWJsZSBhbmQgYWxsIGl0 cyBkZXNjZW5kYW50cyBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZQotQ1JFQVRFIFBVQkxJQ0FU SU9OIHRlc3RwdWI2IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmxfcGFy ZW50ICopOworQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI2IEZPUiBBTEwgVEFCTEVTIEVYQ0VQ VCAoVEFCTEUgdGVzdHB1Yl90YmxfcGFyZW50ICopOwogXGRScCsgdGVzdHB1YjYKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJs aWNhdGlvbiB0ZXN0cHViNgogICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMg fCBBbGwgc2VxdWVuY2VzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVz IHwgR2VuZXJhdGVkIGNvbHVtbnMgfCBWaWEgcm9vdCB8IERlc2NyaXB0aW9uIApAQCAtMzgxLDcg KzM4MSw3IEBAIEV4Y2VwdCB0YWJsZXM6CiAgICAgInB1YmxpYy50ZXN0cHViX3RibF9wYXJlbnQi CiAKIC0tIEVYQ0VQVCB3aXRoIE9OTFk6IGxpc3QgdGhlIHRhYmxlIGluIHRoZSBFWENFUFQgVEFC TEUgY2xhdXNlLCBidXQgbm90IGl0cyBkZXNjZW5kYW50cwotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRl c3RwdWI3IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAoT05MWSB0ZXN0cHViX3RibF9wYXJl bnQpOworQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI3IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAo VEFCTEUgT05MWSB0ZXN0cHViX3RibF9wYXJlbnQpOwogXGRScCsgdGVzdHB1YjcKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJs aWNhdGlvbiB0ZXN0cHViNwogICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMg fCBBbGwgc2VxdWVuY2VzIHwgSW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVz IHwgR2VuZXJhdGVkIGNvbHVtbnMgfCBWaWEgcm9vdCB8IERlc2NyaXB0aW9uIApAQCAtMzk5LDcg KzM5OSw3IEBAIERST1AgUFVCTElDQVRJT04gdGVzdHB1YjMsIHRlc3RwdWI0LCB0ZXN0cHViNSwg dGVzdHB1YjYsIHRlc3RwdWI3OwogU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgPSAnRVJST1InOwog Q1JFQVRFIFRBQkxFIHRlc3RwdWJfcm9vdChhIGludCkgUEFSVElUSU9OIEJZIFJBTkdFKGEpOwog Q1JFQVRFIFRBQkxFIHRlc3RwdWJfcGFydDEgUEFSVElUSU9OIE9GIHRlc3RwdWJfcm9vdCBGT1Ig VkFMVUVTIEZST00gKDApIFRPICgxMDApOwotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI4IEZP UiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl9yb290KTsKK0NSRUFURSBQVUJMSUNB VElPTiB0ZXN0cHViOCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfcm9vdCk7 CiBcZFJwKyB0ZXN0cHViODsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViOAogICAgICAgICAgIE93 bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBBbGwgc2VxdWVuY2VzIHwgSW5zZXJ0cyB8IFVw ZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgR2VuZXJhdGVkIGNvbHVtbnMgfCBWaWEgcm9v dCB8IERlc2NyaXB0aW9uIApAQCAtNDI3LDcgKzQyNyw3IEBAIEV4Y2VwdCBQdWJsaWNhdGlvbnM6 CiAgICAgInRlc3RwdWI4IgogTnVtYmVyIG9mIHBhcnRpdGlvbnM6IDEgKFVzZSBcZCsgdG8gbGlz dCB0aGVtLikKIAotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI5IEZPUiBBTEwgVEFCTEVTIEVY Q0VQVCBUQUJMRSAodGVzdHB1Yl9wYXJ0MSk7CitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yjkg Rk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3BhcnQxKTsKIEVSUk9SOiAgY2Fu bm90IHVzZSBwdWJsaWNhdGlvbiBFWENFUFQgY2xhdXNlIGZvciByZWxhdGlvbiAidGVzdHB1Yl9w YXJ0MSIKIERFVEFJTDogIFRoaXMgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIGluZGl2 aWR1YWwgcGFydGl0aW9ucy4KIENSRUFURSBUQUJMRSB0YWJfbWFpbiAoYSBpbnQpIFBBUlRJVElP TiBCWSBSQU5HRShhKTsKQEAgLTE2MjMsNyArMTYyMyw3IEBAIFJFU0VUIGNsaWVudF9taW5fbWVz c2FnZXM7CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViNSBPV05FUiBUTyByZWdyZXNzX3B1Ymxp Y2F0aW9uX3VzZXIzOwogU0VUIFJPTEUgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyMzsKIC0tIGZh aWwgLSBTRVQgQUxMIFRBQkxFUy9TRVFVRU5DRVMgb24gYSBwdWJsaWNhdGlvbiByZXF1aXJlcyBz dXBlcnVzZXIgcHJpdmlsZWdlcwotQUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjUgU0VUIEFMTCBU QUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3RibDEpOyAtLSBmYWlsCitBTFRFUiBQVUJMSUNB VElPTiB0ZXN0cHViNSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJsMSk7 IC0tIGZhaWwKIEVSUk9SOiAgbXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IEFMTCBUQUJMRVMKIEFM VEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IFNFVCBBTEwgVEFCTEVTOyAtLSBmYWlsCiBFUlJPUjog IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBBTEwgVEFCTEVTCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC9wdWJsaWNhdGlvbi5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wdWJs aWNhdGlvbi5zcWwKaW5kZXggMjJlMGEzMGI1YzcuLjk5YTQ4NjhlYWVjIDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL3NxbC9wdWJsaWNhdGlvbi5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvcHVibGljYXRpb24uc3FsCkBAIC0xMTAsMTAgKzExMCwxMCBAQCBTRUxFQ1QgcHVibmFt ZSwgcHViYWxsdGFibGVzIEZST00gcGdfcHVibGljYXRpb24gV0hFUkUgcHVibmFtZSA9ICd0ZXN0 cHViX2ZvcmFsbAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiBTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9ICdFUlJPUic7CiAtLSBTcGVjaWZ5IHRhYmxlIGxp c3QgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2Ugb2YgYSBGT1IgQUxMIFRBQkxFUyBwdWJsaWNh dGlvbgotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxl IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwxLCB0ZXN0cHViX3RibDIp OworQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlIEZP UiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90YmwxLCB0ZXN0cHViX3RibDIpOwog XGRScCsgdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUKIC0tIFNwZWNpZnkgdGFibGUg aW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2Ugb2YgYSBGT1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlv bgotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMSBG T1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJsMSk7CitDUkVBVEUgUFVCTElD QVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUxIEZPUiBBTEwgVEFCTEVTIEVY Q0VQVCAoVEFCTEUgdGVzdHB1Yl90YmwxKTsKIFxkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4 Y2VwdHRhYmxlMQogLS0gQ2hlY2sgdGhhdCB0aGUgdGFibGUgZGVzY3JpcHRpb24gc2hvd3MgdGhl IHB1YmxpY2F0aW9ucyB3aGVyZSBpdCBpcyBsaXN0ZWQKIC0tIGluIHRoZSBFWENFUFQgVEFCTEUg Y2xhdXNlCkBAIC0xMjQsNyArMTI0LDcgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9y YWxsdGFibGVzX2V4Y2VwdHRhYmxlMSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUKIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLS0gUmVwbGFjZSB0aGUg ZXhpc3RpbmcgRVhDRVBUIFRBQkxFIGxpc3QgKHRlc3RwdWJfdGJsMSkgd2l0aCBhIG5ldwogLS0g RVhDRVBUIFRBQkxFIGxpc3QgY29udGFpbmluZyBvbmx5ICh0ZXN0cHViX3RibDIpLgotQUxURVIg UFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUgU0VUIEFMTCBUQUJM RVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3RibDIpOworQUxURVIgUFVCTElDQVRJT04gdGVzdHB1 Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0 ZXN0cHViX3RibDIpOwogXGRScCsgdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUKIAog LS0gQ2xlYXIgdGhlIEVYQ0VQVCBUQUJMRSBsaXN0LCBtYWtpbmcgdGhlIHB1YmxpY2F0aW9uIGlu Y2x1ZGUgYWxsIHRhYmxlcy4KQEAgLTE0OSwxMiArMTQ5LDEyIEBAIEFMVEVSIFBVQkxJQ0FUSU9O IHRlc3RwdWJfZm9yYWxsX3RibHNfc2VxcyBTRVQgQUxMIFNFUVVFTkNFUzsKIFxkUnArIHRlc3Rw dWJfZm9yYWxsX3RibHNfc2VxcwogCiAtLSBmYWlsIC0gU0VUIEFMTCBUQUJMRVMvU0VRVUVOQ0VT IGlzIG5vdCBhbGxvd2VkIGZvciBhICdGT1IgVEFCTEUnIHB1YmxpY2F0aW9uCi1BTFRFUiBQVUJM SUNBVElPTiB0ZXN0cHViX2ZvcnRhYmxlIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVz dHB1Yl90YmwxKTsKK0FMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBU QUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3RibDEpOwogQUxURVIgUFVCTElDQVRJT04gdGVz dHB1Yl9mb3J0YWJsZSBTRVQgQUxMIFRBQkxFUzsKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJf Zm9ydGFibGUgU0VUIEFMTCBTRVFVRU5DRVM7CiAKIC0tIGZhaWwgLSBTRVQgQUxMIFRBQkxFUy9T RVFVRU5DRVMgaXMgbm90IGFsbG93ZWQgZm9yIGEgc2NoZW1hIHB1YmxpY2F0aW9uCi1BTFRFUiBQ VUJMSUNBVElPTiB0ZXN0cHViX2ZvcnNjaGVtYSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUg KHB1Yl90ZXN0LnRlc3RwdWJfbm9wayk7CitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnNj aGVtYSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHB1Yl90ZXN0LnRlc3RwdWJfbm9wayk7 CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnNjaGVtYSBTRVQgQUxMIFRBQkxFUzsKIEFM VEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yc2NoZW1hIFNFVCBBTEwgU0VRVUVOQ0VTOwogCkBA IC0xNzUsMTMgKzE3NSwxMyBAQCBDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjMgRk9SIFRBQkxF IHRlc3RwdWJfdGJsX3BhcmVudDsKIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNCBGT1IgVEFC TEUgT05MWSB0ZXN0cHViX3RibF9wYXJlbnQ7CiBcZFJwKyB0ZXN0cHViNAogLS0gTGlzdCB0aGUg cGFyZW50IHRhYmxlIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlICh3aXRob3V0IE9OTFkgb3Ig JyonKQotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBU QUJMRSAodGVzdHB1Yl90YmxfcGFyZW50KTsKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNSBG T1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJsX3BhcmVudCk7CiBcZFJwKyB0 ZXN0cHViNQogLS0gRVhDRVBUIHdpdGggJyonOiBsaXN0IHRoZSB0YWJsZSBhbmQgYWxsIGl0cyBk ZXNjZW5kYW50cyBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZQotQ1JFQVRFIFBVQkxJQ0FUSU9O IHRlc3RwdWI2IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmxfcGFyZW50 ICopOworQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI2IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAo VEFCTEUgdGVzdHB1Yl90YmxfcGFyZW50ICopOwogXGRScCsgdGVzdHB1YjYKIC0tIEVYQ0VQVCB3 aXRoIE9OTFk6IGxpc3QgdGhlIHRhYmxlIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlLCBidXQg bm90IGl0cyBkZXNjZW5kYW50cwotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI3IEZPUiBBTEwg VEFCTEVTIEVYQ0VQVCBUQUJMRSAoT05MWSB0ZXN0cHViX3RibF9wYXJlbnQpOworQ1JFQVRFIFBV QkxJQ0FUSU9OIHRlc3RwdWI3IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgT05MWSB0ZXN0 cHViX3RibF9wYXJlbnQpOwogXGRScCsgdGVzdHB1YjcKIAogUkVTRVQgY2xpZW50X21pbl9tZXNz YWdlczsKQEAgLTE5NCwxMSArMTk0LDExIEBAIERST1AgUFVCTElDQVRJT04gdGVzdHB1YjMsIHRl c3RwdWI0LCB0ZXN0cHViNSwgdGVzdHB1YjYsIHRlc3RwdWI3OwogU0VUIGNsaWVudF9taW5fbWVz c2FnZXMgPSAnRVJST1InOwogQ1JFQVRFIFRBQkxFIHRlc3RwdWJfcm9vdChhIGludCkgUEFSVElU SU9OIEJZIFJBTkdFKGEpOwogQ1JFQVRFIFRBQkxFIHRlc3RwdWJfcGFydDEgUEFSVElUSU9OIE9G IHRlc3RwdWJfcm9vdCBGT1IgVkFMVUVTIEZST00gKDApIFRPICgxMDApOwotQ1JFQVRFIFBVQkxJ Q0FUSU9OIHRlc3RwdWI4IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl9yb290 KTsKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViOCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRB QkxFIHRlc3RwdWJfcm9vdCk7CiBcZFJwKyB0ZXN0cHViODsKIFxkIHRlc3RwdWJfcGFydDEKIFxk IHRlc3RwdWJfcm9vdAotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI5IEZPUiBBTEwgVEFCTEVT IEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl9wYXJ0MSk7CitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1 YjkgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3BhcnQxKTsKIAogQ1JFQVRF IFRBQkxFIHRhYl9tYWluIChhIGludCkgUEFSVElUSU9OIEJZIFJBTkdFKGEpOwogLS0gQXR0YWNo aW5nIGEgcGFydGl0aW9uIGlzIG5vdCBhbGxvd2VkIGlmIHRoZSBwYXJ0aXRpb25lZCB0YWJsZSBh cHBlYXJzIGluIGEKQEAgLTEwMzcsNyArMTAzNyw3IEBAIFJFU0VUIGNsaWVudF9taW5fbWVzc2Fn ZXM7CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViNSBPV05FUiBUTyByZWdyZXNzX3B1YmxpY2F0 aW9uX3VzZXIzOwogU0VUIFJPTEUgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyMzsKIC0tIGZhaWwg LSBTRVQgQUxMIFRBQkxFUy9TRVFVRU5DRVMgb24gYSBwdWJsaWNhdGlvbiByZXF1aXJlcyBzdXBl cnVzZXIgcHJpdmlsZWdlcwotQUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjUgU0VUIEFMTCBUQUJM RVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3RibDEpOyAtLSBmYWlsCitBTFRFUiBQVUJMSUNBVElP TiB0ZXN0cHViNSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJsMSk7IC0t IGZhaWwKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IFNFVCBBTEwgVEFCTEVTOyAtLSBmYWls CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViNSBTRVQgQUxMIFNFUVVFTkNFUzsgLS0gZmFpbAog CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzdfZXhjZXB0LnBsIGIvc3Jj L3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM3X2V4Y2VwdC5wbAppbmRleCAxM2I5OWVkYTI1OC4uOTg3 OGQ0ZWVmZDAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzN19leGNlcHQu cGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM3X2V4Y2VwdC5wbApAQCAtMzEsNyAr MzEsNyBAQCBzdWIgdGVzdF9leGNlcHRfcm9vdF9wYXJ0aXRpb24KIAkjIHB1Ymxpc2hfdmlhX3Bh cnRpdGlvbl9yb290IHNldHRpbmcuCiAJJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCiAJCSdw b3N0Z3JlcycsIHFxKAotCQlDUkVBVEUgUFVCTElDQVRJT04gdGFwX3B1Yl9wYXJ0IEZPUiBBTEwg VEFCTEVTIEVYQ0VQVCBUQUJMRSAocm9vdDEpIFdJVEggKHB1Ymxpc2hfdmlhX3BhcnRpdGlvbl9y b290ID0gJHB1YnZpYXJvb3QpOworCQlDUkVBVEUgUFVCTElDQVRJT04gdGFwX3B1Yl9wYXJ0IEZP UiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgcm9vdDEpIFdJVEggKHB1Ymxpc2hfdmlhX3BhcnRp dGlvbl9yb290ID0gJHB1YnZpYXJvb3QpOwogCQlJTlNFUlQgSU5UTyByb290MSBWQUxVRVMgKDEp LCAoMTAxKTsKIAkpKTsKIAkkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywK QEAgLTk0LDcgKzk0LDcgQEAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKAogIyB0byB2ZXJp ZnkgZXhjbHVzaW9uIGJlaGF2aW9yIGZvciBpbmhlcml0ZWQgdGFibGVzLCBpbmNsdWRpbmcgdGhl IGVmZmVjdCBvZgogIyBPTkxZIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlLgogJG5vZGVfcHVi bGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKLQkiQ1JFQVRFIFBVQkxJQ0FUSU9OIHRhYl9w dWIgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0YWIxLCBwYXJlbnQsIG9ubHkgcGFyZW50 MSkiCisJIkNSRUFURSBQVUJMSUNBVElPTiB0YWJfcHViIEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAo VEFCTEUgdGFiMSwgcGFyZW50LCBvbmx5IHBhcmVudDEpIgogKTsKIAogIyBDcmVhdGUgYSBsb2dp Y2FsIHJlcGxpY2F0aW9uIHNsb3QgdG8gaGVscCB3aXRoIGxhdGVyIHRlc3RzLgpAQCAtMTU4LDcg KzE1OCw3IEBAICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRF IFRBQkxFIHRhYjIgKGEgaW50KSIpOwogCiAjIFJlcGxhY2UgdGhlIEVYQ0VQVCBUQUJMRSBsaXN0 IHNvIHRoYXQgb25seSB0YWIyIGlzIGV4Y2x1ZGVkLgogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywKLQkiQUxURVIgUFVCTElDQVRJT04gdGFiX3B1YiBTRVQgQUxMIFRBQkxF UyBFWENFUFQgVEFCTEUgKHRhYjIpIik7CisJIkFMVEVSIFBVQkxJQ0FUSU9OIHRhYl9wdWIgU0VU IEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0YWIyKSIpOwogCiAjIFJlZnJlc2ggdGhlIHN1YnNj cmlwdGlvbiBzbyB0aGUgc3Vic2NyaWJlciBwaWNrcyB1cCB0aGUgdXBkYXRlZAogIyBwdWJsaWNh dGlvbiBkZWZpbml0aW9uIGFuZCBpbml0aWF0ZXMgdGFibGUgc3luY2hyb25pemF0aW9uLgpAQCAt MjMxLDcgKzIzMSw3IEBAIHRlc3RfZXhjZXB0X3Jvb3RfcGFydGl0aW9uKCd0cnVlJyk7CiAjIEZP UiBUQUJMRS4KICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAogCSdwb3N0Z3JlcycsIHFxKAot CUNSRUFURSBQVUJMSUNBVElPTiB0YXBfcHViMSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUg KHRhYjEpOworCUNSRUFURSBQVUJMSUNBVElPTiB0YXBfcHViMSBGT1IgQUxMIFRBQkxFUyBFWENF UFQgKFRBQkxFIHRhYjEpOwogCUNSRUFURSBQVUJMSUNBVElPTiB0YXBfcHViMiBGT1IgVEFCTEUg dGFiMTsKIAlJTlNFUlQgSU5UTyB0YWIxIFZBTFVFUygxKTsKICkpOwotLSAKMi40My4wCgo= --0000000000003c3971064deefc4d--