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 1w6E7s-0044zk-2X for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 20:49:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w6E7q-00BzKo-33 for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 20:49:51 +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 1w6E7q-00BzKg-0o for pgsql-hackers@lists.postgresql.org; Fri, 27 Mar 2026 20:49:51 +0000 Received: from mail-oi1-x232.google.com ([2607:f8b0:4864:20::232]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w6E7o-00000001O98-0vEi for pgsql-hackers@lists.postgresql.org; Fri, 27 Mar 2026 20:49:49 +0000 Received: by mail-oi1-x232.google.com with SMTP id 5614622812f47-46726528f1cso1630992b6e.0 for ; Fri, 27 Mar 2026 13:49:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774644587; cv=none; d=google.com; s=arc-20240605; b=eoSY1x4NJpAPqU9WsY9DQdJ3VNQoDO23T6huZhz+sHniZfK4vPpHa95SSzjnXc9l4N +N44k3Bda4Qxjm3JkZ/Nyr3+/rd40Xpx+PUUn+kly8ZQyzPYhQhVthkDS6xURnsIqwOt XCo4zepTHoZPJnNKIpuvJaUB6oFTaaghSkECDtBGkuaF0Qrc+43NAnMqIZumVgLQfrEB mgaQTrd6iKDQVb2ig/zB5PaRoPj7C6aERdx6Hd0dZ03ZXNdcKQDLc9637VyYtX5trgRm 6832e6a3lPzX1fCebITUaTLqQvh5w2EhpqDY2KfuC/4DQepY7IXBcifRwPxotEPTGd95 +J2A== 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=xxnujiQ1b7K2pJWBRSiOS5lInJwd4MpORr3xbHhY0yw=; fh=EFLUGPm/aWWO2NkDiojyPi1+pMb6+7P0Ke2KbAv9R3w=; b=affir9UbHLcHIchedjUTwjVLrPjHZiiBy0H/ZFC69iifgrDPzRFr9e6u6vWBAKYwfi r+zDUN9vJmwpconZiuosAkLC4/eT/mCtM9Eh9eWw8ndvI0Hbs5rGhwyKz+NQ/7p2Xt93 r81rXVlUkOieGV+lLxdsSpuDDNkTqC7MHJbgm1sxoFe0010nXUiLbH1xNu+mi1q/l5ra 25fWJSkIbf//HDxrL1GcyKRtq1iM9s+XL5IJCwAwADJCLsCOMgmAqhNdnMB7aRh33WJB wAVOZrAzMdn6x2X9tdY5iEwWf9+afZyAChs1LtuDuYSILSOgm8vVZPKo7g9TMwdOAGT0 NRGA==; 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=1774644587; x=1775249387; 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=xxnujiQ1b7K2pJWBRSiOS5lInJwd4MpORr3xbHhY0yw=; b=PR+UmBpVIahnEY4d5zahh47EQcKKWUh/cWL/UwMeyd7VJxAJGxcJtQpQzpzkPFXoNh UxVbYCHINsXx3Yzauv+ClJXxyijqiTREQdfAlDfMNEo9kjL0RvtKE2KvSfyuK1si5m/e jaCpEvHDl/SSIE6tZ3i/OGCQxyN/5ti6ml+p9vaU53JtHPIeJwdhpmLKzSU6RZgDVV4T 5YYnZJj5+O3+HMof7c0YusREjiePuLXJ7yVQ+kDje3j6MrVZCHYxorxT+wbOy0CwWrM8 FNFKfk2CMds3bLtAWsn8o8Ish9AMLlPMDMrRG5CMOxCWFMJAgP0be7di/4B3vGOw7OyS 7YDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774644587; x=1775249387; 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=xxnujiQ1b7K2pJWBRSiOS5lInJwd4MpORr3xbHhY0yw=; b=o4Trn+j5w+K1MCWcEoRzxWn14aFoDndA6dfE7yP0Wg6yNzdoNhyOSzikYCEGak6kn5 DjdfJfozlewfxCXJ3i9X3AY2At5evR3VKoZ7RJaxFLOinE90yFgdo+M2XnxvZTHILF9O mNjupOZ/nXR/EuuOspdsht3vaA9SkxyhntY+iYOcGclzzzpW4XDNm4GKvk5eRe0qCLSm XWd0Unqn6pP+/MYrJSD9kBhi3iqOdgpUTlijtwijSjsYb2vfi2Bghsu+ilMyqWaTeR2A zzwNm0vQiCz6QaMWybl3J25z7L3IXi7NpeM4+B3QlRYp8OgefVKAS6iGdThjEOrXeXN+ SGYA== X-Forwarded-Encrypted: i=1; AJvYcCVtN0mzV1sh+oyDOSARCWNecwpj3YT5RixTcM+wUpBxqmj3MT/t1WmmKzBzHTKPo1TT8Qetfh4cA1EMVP4T@lists.postgresql.org X-Gm-Message-State: AOJu0YyyerPS3B9N3m+NFj8aPYTlVk6nGR4PYTDV7IMoFD/nqw1ihipp aNcGECO4NGnAY5x2jfJgdyk4QQzr37cwJJ8QGWFk89wYXeBnlM4fSN/QoeqnHJW4yagiWrkhww8 L2P6s07GrauG/Vfv+7UpDGfItk0Qkx24= X-Gm-Gg: ATEYQzzMK1y5clBzoOCFxmu/JLVHk0hU+x3zAVf6k+KMVJyLHx/VAcTLmav2o4e/vBM 05EQUVyGIddU+OkmUn09lJPhn9FLKs4acT4HBuqBAHdWHmjALMEb03u1F8rWn0mjO0uALCy+19w BrXqDFhrBVql1uL6kBCld7iUE0fTF3mGhKCeoHusw9QiXkpJ3ThXtIqdm8xLiI6bpP7Lsr9+QLW M/FEQGNVVPLRvkDQZJ8SlOun5woZA/wKkDFUhqbIA6biYddyQVmV9hmBU9XR10vvXHNrK/+2Qh5 D/K1AxnN/w== X-Received: by 2002:a05:6808:308d:b0:467:ca8:c396 with SMTP id 5614622812f47-46a8a385f0bmr2034961b6e.9.1774644586947; Fri, 27 Mar 2026 13:49:46 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Shlok Kyal Date: Sat, 28 Mar 2026 02:19:34 +0530 X-Gm-Features: AQROBzDJnokrLHAaCpsjLKUlNwBPfsTQlH0fAZQsiKHk0Gj_VJ6FVT_-WFoU5CA Message-ID: Subject: Re: Skipping schema changes in publication To: Amit Kapila Cc: Peter Smith , vignesh C , Dilip Kumar , shveta malik , Masahiko Sawada , "Hayato Kuroda (Fujitsu)" , 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="00000000000035677b064e07a4b6" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000035677b064e07a4b6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 27 Mar 2026 at 18:04, Amit Kapila wrote: > > On Fri, Mar 27, 2026 at 1:20=E2=80=AFPM Shlok Kyal wrote: > > > > I have addressed the comments. Attached the updated patch. > > > > I got following crash: > > postgres=3D# create publication pub1 for all tables except (t1, t2); > server closed the connection unexpectedly > This probably means the server terminated abnormally > before or while processing the request. > The connection to the server was lost. Attempting reset: Failed. > > Server Log: > ERROR: syntax error at or near "table" at character 47 > [client backend] STATEMENT: create publication pub1 for all tables > except table (t1, t2); > TRAP: failed Assert("pubobj->pubobjtype =3D=3D > PUBLICATIONOBJ_EXCEPT_TABLE"), File: "../src/backend/parser/gram.y", > Line: 20795, PID: 7512 > abort() has been called[postmaster] LOG: client backend (PID 7512) > was terminated by exception 0xC0000409 > [postmaster] DETAIL: Failed process was running: create publication > pub1 for all tables except (t1, t2); > [postmaster] HINT: See C include file "ntstatus.h" for a description > of the hexadecimal value. This crash is happening because we hit the Assert(pubobj->pubobjtype =3D=3D PUBLICATIONOBJ_EXCEPT_TABLE). In the above example the first table is specified without the TABLE keyword and hence its pubobjtype is PUBLICATIONOBJ_CONTINUATION. I have updated the Assert and also added a test case for the above scenario= . > > BTW, why do we need preprocess_except_pubobj_list? > It is needed to check if the first table in the EXCEPT list is specified with TABLE Keyword. For example: create publication pub1 for all tables except (t1, t2); This should throw an error because t1 is specified without the TABLE keywor= d. We have a similar logic for FOR TABLE or FOR TABLES IN SCHEMA publications in 'preprocess_pubobj_list' I have attached the latest version here. I have also addressed the comment shared by Shveta in [1]. [1]: https://www.postgresql.org/message-id/CAJpy0uCMhxUdEZMqDuSHXeAMES1gH56= r-tkhR1J79A_f3wrLkg@mail.gmail.com Thanks, Shlok Kyal --00000000000035677b064e07a4b6 Content-Type: application/octet-stream; name="v3-0001-Change-syntax-of-EXCEPT-TABLE-clause-in-publicati.patch" Content-Disposition: attachment; filename="v3-0001-Change-syntax-of-EXCEPT-TABLE-clause-in-publicati.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mn9dhk5c0 RnJvbSA3OTYzMzRlNTEyYzI1NzljNTRiYmQ4MzE5Mzk4OTE3MjMwYTkzNDFiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFRodSwgMjYgTWFyIDIwMjYgMjA6MzA6MTQgKzA1MzAKU3ViamVjdDogW1BBVENIIHYzXSBDaGFu Z2Ugc3ludGF4IG9mIEVYQ0VQVCBUQUJMRSBjbGF1c2UgaW4gcHVibGljYXRpb24KIGNvbW1hbmRz CgpBZGp1c3QgdGhlIHN5bnRheCBvZiB0aGUgRVhDRVBUIGNsYXVzZSBpbiBDUkVBVEUvQUxURVIg UFVCTElDQVRJT04KdG8gbW92ZSB0aGUgVEFCTEUga2V5d29yZCBpbnNpZGUgdGhlIHJlbGF0aW9u IGxpc3QuCgpPbGQgc3ludGF4OgpDUkVBVEUgUFVCTElDQVRJT04gLi4uIEZPUiBBTEwgVEFCTEVT IEVYQ0VQVCBUQUJMRSAodDEsIC4uLik7CkFMVEVSIFBVQkxJQ0FUSU9OICAuLi4gU0VUIEFMTCBU QUJMRVMgRVhDRVBUIFRBQkxFICh0MSwgLi4uKTsKCk5ldyBzeW50YXg6CkNSRUFURSBQVUJMSUNB VElPTiAuLi4gRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0MSwgLi4uKTsKQUxURVIgUFVC TElDQVRJT04gIC4uLiBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHQxLCAuLi4pOwoKVGhp cyBjaGFuZ2UgaXMgcHVyZWx5IHN5bnRhY3RpYyBhbmQgZG9lcyBub3QgYWx0ZXIgYmVoYXZpb3Iu Ci0tLQogZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgICAgICAgICAgICAgICAgfCAgMiArLQog ZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbCAgICAgfCAgMiArLQogZG9jL3Ny Yy9zZ21sL3JlZi9hbHRlcl9wdWJsaWNhdGlvbi5zZ21sICAgfCAyNCArKysrKy0tLS0tCiBkb2Mv c3JjL3NnbWwvcmVmL2NyZWF0ZV9wdWJsaWNhdGlvbi5zZ21sICB8IDE2ICsrKy0tLS0KIHNyYy9i YWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYyAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5k L3BhcnNlci9ncmFtLnkgICAgICAgICAgICAgICAgIHwgNTcgKysrKysrKysrKysrKysrKysrKyst LQogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYyAgICAgICAgICAgICAgICAgfCAxNiArKystLS0t CiBzcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbCAgICAgICAgICB8IDEyICsrLS0tCiBz cmMvYmluL3BzcWwvZGVzY3JpYmUuYyAgICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmMvYmlu L3BzcWwvdGFiLWNvbXBsZXRlLmluLmMgICAgICAgICAgICB8IDI0ICsrKysrLS0tLS0KIHNyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRpb24ub3V0IHwgNTggKysrKysrKysrKysrKy0t LS0tLS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3B1YmxpY2F0aW9uLnNxbCAgICAgIHwgNTMg KysrKysrKysrKystLS0tLS0tLS0tCiBzcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzdfZXhjZXB0 LnBsICAgICB8IDUzICsrKysrKysrKystLS0tLS0tLS0tLQogMTMgZmlsZXMgY2hhbmdlZCwgMTky IGluc2VydGlvbnMoKyksIDEyOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3Nn bWwvY2F0YWxvZ3Muc2dtbCBiL2RvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21sCmluZGV4IDYxZmZl ODA0ZWU4Li45MmQxNzliNWVlMCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNn bWwKKysrIGIvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwKQEAgLTcwOTYsNyArNzA5Niw3IEBA IFNDUkFNLVNIQS0yNTYkPHJlcGxhY2VhYmxlPiZsdDtpdGVyYXRpb24gY291bnQmZ3Q7PC9yZXBs YWNlYWJsZT46PHJlcGxhY2VhYmxlPiZsCiAgICAgICA8L3BhcmE+CiAgICAgICA8cGFyYT4KICAg ICAgICBUcnVlIGlmIHRoZSB0YWJsZSBpcyBleGNsdWRlZCBmcm9tIHRoZSBwdWJsaWNhdGlvbi4g U2VlCi0gICAgICAgPGxpbmsgbGlua2VuZD0ic3FsLWNyZWF0ZXB1YmxpY2F0aW9uLXBhcmFtcy1m b3ItZXhjZXB0LXRhYmxlIj48bGl0ZXJhbD5FWENFUFQgVEFCTEU8L2xpdGVyYWw+PC9saW5rPi4K KyAgICAgICA8bGluayBsaW5rZW5kPSJzcWwtY3JlYXRlcHVibGljYXRpb24tcGFyYW1zLWZvci1l eGNlcHQtdGFibGUiPjxsaXRlcmFsPkVYQ0VQVDwvbGl0ZXJhbD48L2xpbms+LgogICAgICAgPC9w YXJhPjwvZW50cnk+CiAgICAgIDwvcm93PgogCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvbG9n aWNhbC1yZXBsaWNhdGlvbi5zZ21sIGIvZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24u c2dtbAppbmRleCA3MmM4ZDNkNTliZC4uMjNiMjY4MjczYjkgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMv c2dtbC9sb2dpY2FsLXJlcGxpY2F0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2xvZ2ljYWwt cmVwbGljYXRpb24uc2dtbApAQCAtMTE5LDcgKzExOSw3IEBACiAgICA8eHJlZiBsaW5rZW5kPSJs b2dpY2FsLXJlcGxpY2F0aW9uLXNlcXVlbmNlcyIvPi4gV2hlbiBhIHB1YmxpY2F0aW9uIGlzCiAg ICBjcmVhdGVkIHdpdGggPGxpdGVyYWw+Rk9SIEFMTCBUQUJMRVM8L2xpdGVyYWw+LCBhIHRhYmxl IG9yIHNldCBvZiB0YWJsZXMgY2FuCiAgICBiZSBleHBsaWNpdGx5IGV4Y2x1ZGVkIGZyb20gcHVi bGljYXRpb24gdXNpbmcgdGhlCi0gICA8bGluayBsaW5rZW5kPSJzcWwtY3JlYXRlcHVibGljYXRp b24tcGFyYW1zLWZvci1leGNlcHQtdGFibGUiPjxsaXRlcmFsPkVYQ0VQVCBUQUJMRTwvbGl0ZXJh bD48L2xpbms+CisgICA8bGluayBsaW5rZW5kPSJzcWwtY3JlYXRlcHVibGljYXRpb24tcGFyYW1z LWZvci1leGNlcHQtdGFibGUiPjxsaXRlcmFsPkVYQ0VQVDwvbGl0ZXJhbD48L2xpbms+CiAgICBj bGF1c2UuCiAgIDwvcGFyYT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9w dWJsaWNhdGlvbi5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9wdWJsaWNhdGlvbi5zZ21s CmluZGV4IDdmMGU0NjM4MGNjLi5lYmExNjIwYWJkYyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21s L3JlZi9hbHRlcl9wdWJsaWNhdGlvbi5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJf cHVibGljYXRpb24uc2dtbApAQCAtMzUsNyArMzUsNyBAQCBBTFRFUiBQVUJMSUNBVElPTiA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IFJFTkFNRSBUTyA8 cgogCiA8cGhyYXNlPmFuZCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cHVibGljYXRp b25fYWxsX29iamVjdDwvcmVwbGFjZWFibGU+IGlzIG9uZSBvZjo8L3BocmFzZT4KIAotICAgIEFM TCBUQUJMRVMgWyBFWENFUFQgVEFCTEUgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ ZXhjZXB0X3RhYmxlX29iamVjdDwvcmVwbGFjZWFibGU+IFssIC4uLiBdICkgXQorICAgIEFMTCBU QUJMRVMgWyBFWENFUFQgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhjZXB0X3Rh YmxlX29iamVjdDwvcmVwbGFjZWFibGU+IFssIC4uLiBdICkgXQogICAgIEFMTCBTRVFVRU5DRVMK IAogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnB1YmxpY2F0aW9u X2Ryb3Bfb2JqZWN0PC9yZXBsYWNlYWJsZT4gaXMgb25lIG9mOjwvcGhyYXNlPgpAQCAtNDksNyAr NDksNyBAQCBBTFRFUiBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ bmFtZTwvcmVwbGFjZWFibGU+IFJFTkFNRSBUTyA8cgogCiA8cGhyYXNlPmFuZCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+ZXhjZXB0X3RhYmxlX29iamVjdDwvcmVwbGFjZWFibGU+IGlz OjwvcGhyYXNlPgogCi0gICAgWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICogXQorICAgIFRBQkxFIFsgT05MWSBdIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0K IDwvc3lub3BzaXM+CiAgPC9yZWZzeW5vcHNpc2Rpdj4KIApAQCAtNzEsNyArNzEsNyBAQCBBTFRF UiBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFj ZWFibGU+IFJFTkFNRSBUTyA8cgogICAgVGhlIHRoaXJkIHZhcmlhbnQgZWl0aGVyIG1vZGlmaWVz IHRoZSBpbmNsdWRlZCB0YWJsZXMvc2NoZW1hcwogICAgb3IgbWFya3MgdGhlIHB1YmxpY2F0aW9u IGFzIDxsaXRlcmFsPkZPUiBBTEwgU0VRVUVOQ0VTPC9saXRlcmFsPiBvcgogICAgPGxpdGVyYWw+ Rk9SIEFMTCBUQUJMRVM8L2xpdGVyYWw+LCBvcHRpb25hbGx5IHVzaW5nCi0gICA8bGl0ZXJhbD5F WENFUFQgVEFCTEU8L2xpdGVyYWw+IHRvIGV4Y2x1ZGUgc3BlY2lmaWMgdGFibGVzLiBUaGUKKyAg IDxsaXRlcmFsPkVYQ0VQVDwvbGl0ZXJhbD4gdG8gZXhjbHVkZSBzcGVjaWZpYyB0YWJsZXMuIFRo ZQogICAgPGxpdGVyYWw+U0VUIEFMTCBUQUJMRVM8L2xpdGVyYWw+IGNsYXVzZSBjYW4gdHJhbnNm b3JtIGFuIGVtcHR5IHB1YmxpY2F0aW9uLAogICAgb3Igb25lIGRlZmluZWQgZm9yIDxsaXRlcmFs PkFMTCBTRVFVRU5DRVM8L2xpdGVyYWw+IChvciBib3RoCiAgICA8bGl0ZXJhbD5BTEwgVEFCTEVT PC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+QUxMIFNFUVVFTkNFUzwvbGl0ZXJhbD4pLCBpbnRvCkBA IC04MCwxMyArODAsMTMgQEAgQUxURVIgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPiBSRU5BTUUgVE8gPHIKICAgIG9uZSBkZWZpbmVk IGZvciA8bGl0ZXJhbD5BTEwgVEFCTEVTPC9saXRlcmFsPiAob3IgYm90aAogICAgPGxpdGVyYWw+ QUxMIFRBQkxFUzwvbGl0ZXJhbD4gYW5kIDxsaXRlcmFsPkFMTCBTRVFVRU5DRVM8L2xpdGVyYWw+ KSwgaW50byBhCiAgICBwdWJsaWNhdGlvbiBkZWZpbmVkIGZvciA8bGl0ZXJhbD5BTEwgU0VRVUVO Q0VTPC9saXRlcmFsPi4gSW4gYWRkaXRpb24sCi0gICA8bGl0ZXJhbD5TRVQgQUxMIFRBQkxFUzwv bGl0ZXJhbD4gY2FuIGJlIHVzZWQgdG8gdXBkYXRlIHRoZQotICAgPGxpdGVyYWw+RVhDRVBUIFRB QkxFPC9saXRlcmFsPiBsaXN0IG9mIGEgPGxpdGVyYWw+Rk9SIEFMTCBUQUJMRVM8L2xpdGVyYWw+ Ci0gICBwdWJsaWNhdGlvbi4gSWYgPGxpdGVyYWw+RVhDRVBUIFRBQkxFPC9saXRlcmFsPiBpcyBz cGVjaWZpZWQgd2l0aCBhIGxpc3Qgb2YKLSAgIHRhYmxlcywgdGhlIGV4aXN0aW5nIGV4Y2x1c2lv biBsaXN0IGlzIHJlcGxhY2VkIHdpdGggdGhlIHNwZWNpZmllZCB0YWJsZXMuCi0gICBJZiA8bGl0 ZXJhbD5FWENFUFQgVEFCTEU8L2xpdGVyYWw+IGlzIG9taXR0ZWQsIHRoZSBleGlzdGluZyBleGNs dXNpb24gbGlzdAotICAgaXMgY2xlYXJlZC4gVGhlIDxsaXRlcmFsPlNFVDwvbGl0ZXJhbD4gY2xh dXNlLCB3aGVuIHVzZWQgd2l0aCBhIHB1YmxpY2F0aW9uCi0gICBkZWZpbmVkIHdpdGggPGxpdGVy YWw+Rk9SIFRBQkxFPC9saXRlcmFsPiBvcgorICAgPGxpdGVyYWw+U0VUIEFMTCBUQUJMRVM8L2xp dGVyYWw+IGNhbiBiZSB1c2VkIHRvIHVwZGF0ZSB0aGUgdGFibGVzIHNwZWNpZmllZAorICAgaW4g dGhlIDxsaXRlcmFsPkVYQ0VQVDwvbGl0ZXJhbD4gY2xhdXNlIG9mIGEKKyAgIDxsaXRlcmFsPkZP UiBBTEwgVEFCTEVTPC9saXRlcmFsPiBwdWJsaWNhdGlvbi4gSWYgPGxpdGVyYWw+RVhDRVBUPC9s aXRlcmFsPgorICAgaXMgc3BlY2lmaWVkIHdpdGggYSBsaXN0IG9mIHRhYmxlcywgdGhlIGV4aXN0 aW5nIGV4Y2x1c2lvbiBsaXN0IGlzIHJlcGxhY2VkCisgICB3aXRoIHRoZSBzcGVjaWZpZWQgdGFi bGVzLiBJZiA8bGl0ZXJhbD5FWENFUFQ8L2xpdGVyYWw+IGlzIG9taXR0ZWQsIHRoZQorICAgZXhp c3RpbmcgZXhjbHVzaW9uIGxpc3QgaXMgY2xlYXJlZC4gVGhlIDxsaXRlcmFsPlNFVDwvbGl0ZXJh bD4gY2xhdXNlLCB3aGVuCisgICB1c2VkIHdpdGggYSBwdWJsaWNhdGlvbiBkZWZpbmVkIHdpdGgg PGxpdGVyYWw+Rk9SIFRBQkxFPC9saXRlcmFsPiBvcgogICAgPGxpdGVyYWw+Rk9SIFRBQkxFUyBJ TiBTQ0hFTUE8L2xpdGVyYWw+LCByZXBsYWNlcyB0aGUgbGlzdCBvZiB0YWJsZXMvc2NoZW1hcwog ICAgaW4gdGhlIHB1YmxpY2F0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBsaXN0OyB0aGUgZXhpc3Rp bmcgdGFibGVzIG9yIHNjaGVtYXMKICAgIHRoYXQgd2VyZSBwcmVzZW50IGluIHRoZSBwdWJsaWNh dGlvbiB3aWxsIGJlIHJlbW92ZWQuCkBAIC0yNjMsOSArMjYzLDkgQEAgQUxURVIgUFVCTElDQVRJ T04gbXlwdWJsaWNhdGlvbiBTRVQgVEFCTEUgdXNlcnMgKHVzZXJfaWQsIGZpcnN0bmFtZSwgbGFz dG5hbWUpLAogPC9wcm9ncmFtbGlzdGluZz48L3BhcmE+CiAKICAgPHBhcmE+Ci0gICBSZXBsYWNl IHRoZSBwdWJsaWNhdGlvbidzIEVYQ0VQVCBUQUJMRSBsaXN0OgorICAgUmVwbGFjZSB0aGUgdGFi bGUgbGlzdCBpbiB0aGUgcHVibGljYXRpb24ncyBFWENFUFQgY2xhdXNlOgogPHByb2dyYW1saXN0 aW5nPgotQUxURVIgUFVCTElDQVRJT04gbXlwdWJsaWNhdGlvbiBTRVQgQUxMIFRBQkxFUyBFWENF UFQgVEFCTEUgKHVzZXJzLCBkZXBhcnRtZW50cyk7CitBTFRFUiBQVUJMSUNBVElPTiBteXB1Ymxp Y2F0aW9uIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdXNlcnMsIGRlcGFydG1lbnRzKTsK IDwvcHJvZ3JhbWxpc3Rpbmc+PC9wYXJhPgogCiAgIDxwYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3Ny Yy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvY3Jl YXRlX3B1YmxpY2F0aW9uLnNnbWwKaW5kZXggNzcwNjZlZjY4MGIuLjYwMDRlMTQyMWQ0IDEwMDY0 NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9wdWJsaWNhdGlvbi5zZ21sCisrKyBiL2Rv Yy9zcmMvc2dtbC9yZWYvY3JlYXRlX3B1YmxpY2F0aW9uLnNnbWwKQEAgLTMyLDcgKzMyLDcgQEAg Q1JFQVRFIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9y ZXBsYWNlYWJsZT4KIAogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnB1YmxpY2F0aW9uX2FsbF9vYmplY3Q8L3JlcGxhY2VhYmxlPiBpcyBvbmUgb2Y6PC9waHJhc2U+ CiAKLSAgICBBTEwgVEFCTEVTIFsgRVhDRVBUIFRBQkxFICggPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPmV4Y2VwdF90YWJsZV9vYmplY3Q8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSApIF0K KyAgICBBTEwgVEFCTEVTIFsgRVhDRVBUICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PmV4Y2VwdF90YWJsZV9vYmplY3Q8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSApIF0KICAgICBBTEwg U0VRVUVOQ0VTCiAKIDxwaHJhc2U+YW5kIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50 YWJsZV9hbmRfY29sdW1uczwvcmVwbGFjZWFibGU+IGlzOjwvcGhyYXNlPgpAQCAtNDEsNyArNDEs NyBAQCBDUkVBVEUgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5h bWU8L3JlcGxhY2VhYmxlPgogCiA8cGhyYXNlPmFuZCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+ZXhjZXB0X3RhYmxlX29iamVjdDwvcmVwbGFjZWFibGU+IGlzOjwvcGhyYXNlPgogCi0g ICAgWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3Jl cGxhY2VhYmxlPiBbICogXQorICAgIFRBQkxFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KIDwvc3lub3BzaXM+CiAg PC9yZWZzeW5vcHNpc2Rpdj4KIApAQCAtMTY5LDcgKzE2OSw3IEBAIENSRUFURSBQVUJMSUNBVElP TiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+CiAgICAg IDxwYXJhPgogICAgICAgTWFya3MgdGhlIHB1YmxpY2F0aW9uIGFzIG9uZSB0aGF0IHJlcGxpY2F0 ZXMgY2hhbmdlcyBmb3IgYWxsIHRhYmxlcyBpbgogICAgICAgdGhlIGRhdGFiYXNlLCBpbmNsdWRp bmcgdGFibGVzIGNyZWF0ZWQgaW4gdGhlIGZ1dHVyZS4gVGFibGVzIGxpc3RlZCBpbgotICAgICAg RVhDRVBUIFRBQkxFIGFyZSBleGNsdWRlZCBmcm9tIHRoZSBwdWJsaWNhdGlvbi4KKyAgICAgIDxs aXRlcmFsPkVYQ0VQVDwvbGl0ZXJhbD4gY2xhdXNlIGFyZSBleGNsdWRlZCBmcm9tIHRoZSBwdWJs aWNhdGlvbi4KICAgICAgPC9wYXJhPgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRy eT4KQEAgLTE5MCw3ICsxOTAsNyBAQCBDUkVBVEUgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgogICAgPC92YXJsaXN0ZW50cnk+CiAK ICAgIDx2YXJsaXN0ZW50cnkgaWQ9InNxbC1jcmVhdGVwdWJsaWNhdGlvbi1wYXJhbXMtZm9yLWV4 Y2VwdC10YWJsZSI+Ci0gICAgPHRlcm0+PGxpdGVyYWw+RVhDRVBUIFRBQkxFPC9saXRlcmFsPjwv dGVybT4KKyAgICA8dGVybT48bGl0ZXJhbD5FWENFUFQ8L2xpdGVyYWw+PC90ZXJtPgogICAgIDxs aXN0aXRlbT4KICAgICAgPHBhcmE+CiAgICAgICBUaGlzIGNsYXVzZSBzcGVjaWZpZXMgYSBsaXN0 IG9mIHRhYmxlcyB0byBiZSBleGNsdWRlZCBmcm9tIHRoZQpAQCAtMjA2LDcgKzIwNiw3IEBAIENS RUFURSBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVw bGFjZWFibGU+CiAgICAgIDwvcGFyYT4KICAgICAgPHBhcmE+CiAgICAgICBGb3IgcGFydGl0aW9u ZWQgdGFibGVzLCBvbmx5IHRoZSByb290IHBhcnRpdGlvbmVkIHRhYmxlIG1heSBiZSBzcGVjaWZp ZWQKLSAgICAgIGluIDxsaXRlcmFsPkVYQ0VQVCBUQUJMRTwvbGl0ZXJhbD4uIERvaW5nIHNvIGV4 Y2x1ZGVzIHRoZSByb290IHRhYmxlIGFuZAorICAgICAgaW4gPGxpdGVyYWw+RVhDRVBUPC9saXRl cmFsPi4gRG9pbmcgc28gZXhjbHVkZXMgdGhlIHJvb3QgdGFibGUgYW5kCiAgICAgICBhbGwgb2Yg aXRzIHBhcnRpdGlvbnMgZnJvbSByZXBsaWNhdGlvbi4gVGhlIG9wdGlvbmFsCiAgICAgICA8bGl0 ZXJhbD5PTkxZPC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+KjwvbGl0ZXJhbD4gaGFzIG5vIGVmZmVj dCBmb3IKICAgICAgIHBhcnRpdGlvbmVkIHRhYmxlcy4KQEAgLTIxNCw3ICsyMTQsNyBAQCBDUkVB VEUgUFVCTElDQVRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxh Y2VhYmxlPgogICAgICA8cGFyYT4KICAgICAgIFRoZXJlIGNhbiBiZSBhIGNhc2Ugd2hlcmUgYSBz dWJzY3JpcHRpb24gaW5jbHVkZXMgbXVsdGlwbGUgcHVibGljYXRpb25zLgogICAgICAgSW4gc3Vj aCBhIGNhc2UsIGEgdGFibGUgb3IgcGFydGl0aW9uIHRoYXQgaXMgaW5jbHVkZWQgaW4gb25lIHB1 YmxpY2F0aW9uCi0gICAgICBhbmQgbGlzdGVkIGluIHRoZSA8bGl0ZXJhbD5FWENFUFQgVEFCTEU8 L2xpdGVyYWw+IGNsYXVzZSBvZiBhbm90aGVyIGlzCisgICAgICBhbmQgbGlzdGVkIGluIHRoZSA8 bGl0ZXJhbD5FWENFUFQ8L2xpdGVyYWw+IGNsYXVzZSBvZiBhbm90aGVyIGlzCiAgICAgICBjb25z aWRlcmVkIGluY2x1ZGVkIGZvciByZXBsaWNhdGlvbi4KICAgICAgPC9wYXJhPgogICAgIDwvbGlz dGl0ZW0+CkBAIC01MzIsNyArNTMyLDcgQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIGFsbF90YWJsZXNf c2VxdWVuY2VzIEZPUiBBTEwgVEFCTEVTLCBBTEwgU0VRVUVOQ0VTOwogICAgQ3JlYXRlIGEgcHVi bGljYXRpb24gdGhhdCBwdWJsaXNoZXMgYWxsIGNoYW5nZXMgaW4gYWxsIHRhYmxlcyBleGNlcHQK ICAgIDxzdHJ1Y3RuYW1lPnVzZXJzPC9zdHJ1Y3RuYW1lPiBhbmQgPHN0cnVjdG5hbWU+ZGVwYXJ0 bWVudHM8L3N0cnVjdG5hbWU+OgogPHByb2dyYW1saXN0aW5nPgotQ1JFQVRFIFBVQkxJQ0FUSU9O IGFsbF90YWJsZXNfZXhjZXB0IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodXNlcnMsIGRl cGFydG1lbnRzKTsKK0NSRUFURSBQVUJMSUNBVElPTiBhbGxfdGFibGVzX2V4Y2VwdCBGT1IgQUxM IFRBQkxFUyBFWENFUFQgKFRBQkxFIHVzZXJzLCBkZXBhcnRtZW50cyk7CiA8L3Byb2dyYW1saXN0 aW5nPgogICA8L3BhcmE+CiAKQEAgLTU0MSw3ICs1NDEsNyBAQCBDUkVBVEUgUFVCTElDQVRJT04g YWxsX3RhYmxlc19leGNlcHQgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh1c2VycywgZGVw YXJ0bQogICAgYWxsIGNoYW5nZXMgaW4gYWxsIHRhYmxlcyBleGNlcHQgPHN0cnVjdG5hbWU+dXNl cnM8L3N0cnVjdG5hbWU+IGFuZAogICAgPHN0cnVjdG5hbWU+ZGVwYXJ0bWVudHM8L3N0cnVjdG5h bWU+OgogPHByb2dyYW1saXN0aW5nPgotQ1JFQVRFIFBVQkxJQ0FUSU9OIGFsbF9zZXF1ZW5jZXNf dGFibGVzX2V4Y2VwdCBGT1IgQUxMIFNFUVVFTkNFUywgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUg KHVzZXJzLCBkZXBhcnRtZW50cyk7CitDUkVBVEUgUFVCTElDQVRJT04gYWxsX3NlcXVlbmNlc190 YWJsZXNfZXhjZXB0IEZPUiBBTEwgU0VRVUVOQ0VTLCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUg dXNlcnMsIGRlcGFydG1lbnRzKTsKIDwvcHJvZ3JhbWxpc3Rpbmc+CiAgIDwvcGFyYT4KICA8L3Jl ZnNlY3QxPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5j IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCmluZGV4IGM5MmZmM2Y1MWMz Li44ZDYyYzViYjI1MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNh dGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24uYwpAQCAtMTAw MSw3ICsxMDAxLDcgQEAgR2V0QWxsVGFibGVzUHVibGljYXRpb25zKHZvaWQpCiAgKiBwdWJsaWNh dGlvbi4KICAqCiAgKiBGb3IgYSBGT1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbiwgdGhlIHJldHVy bmVkIGxpc3QgZXhjbHVkZXMgdGFibGVzIG1lbnRpb25lZAotICogaW4gRVhDRVBUIFRBQkxFIGNs YXVzZS4KKyAqIGluIEVYQ0VQVCBjbGF1c2UuCiAgKi8KIExpc3QgKgogR2V0QWxsUHVibGljYXRp b25SZWxhdGlvbnMoT2lkIHB1YmlkLCBjaGFyIHJlbGtpbmQsIGJvb2wgcHVidmlhcm9vdCkKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIv Z3JhbS55CmluZGV4IDBmZWE3MjZjZGQ1Li44ZWU4M2Q2MjMzNCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC0y MDksNiArMjA5LDggQEAgc3RhdGljIHZvaWQgcHJlcHJvY2Vzc19wdWJfYWxsX29ianR5cGVfbGlz dChMaXN0ICphbGxfb2JqZWN0c19saXN0LAogCQkJCQkJCQkJCQljb3JlX3l5c2Nhbl90IHl5c2Nh bm5lcik7CiBzdGF0aWMgdm9pZCBwcmVwcm9jZXNzX3B1Ym9ial9saXN0KExpc3QgKnB1Ym9ianNw ZWNfbGlzdCwKIAkJCQkJCQkJICAgY29yZV95eXNjYW5fdCB5eXNjYW5uZXIpOworc3RhdGljIHZv aWQgcHJlcHJvY2Vzc19leGNlcHRfcHVib2JqX2xpc3QoTGlzdCAqcHViZXhjZXB0b2Jqc3BlY19s aXN0LAorCQkJCQkJCQkJCSBjb3JlX3l5c2Nhbl90IHl5c2Nhbm5lcik7CiBzdGF0aWMgTm9kZSAq bWFrZVJlY3Vyc2l2ZVZpZXdTZWxlY3QoY2hhciAqcmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9k ZSAqcXVlcnkpOwogCiAlfQpAQCAtMTEyNTYsNyArMTEyNTgsNyBAQCBBbHRlck93bmVyU3RtdDog QUxURVIgQUdHUkVHQVRFIGFnZ3JlZ2F0ZV93aXRoX2FyZ3R5cGVzIE9XTkVSIFRPIFJvbGVTcGVj CiAgKgogICogcHViX2FsbF9vYmpfdHlwZSBpcyBvbmUgb2Y6CiAgKgotICoJCVRBQkxFUyBbRVhD RVBUIFRBQkxFICggdGFibGUgWywgLi4uXSApXQorICoJCVRBQkxFUyBbRVhDRVBUIChUQUJMRSB0 YWJsZSBbLCAuLi5dICldCiAgKgkJU0VRVUVOQ0VTCiAgKgogICogQ1JFQVRFIFBVQkxJQ0FUSU9O IEZPUiBwdWJfb2JqIFssIC4uLl0gW1dJVEggb3B0aW9uc10KQEAgLTExMzk5LDcgKzExNDAxLDcg QEAgcHViX29ial9saXN0OglQdWJsaWNhdGlvbk9ialNwZWMKIAk7CiAKIG9wdF9wdWJfZXhjZXB0 X2NsYXVzZToKLQkJCUVYQ0VQVCBUQUJMRSAnKCcgcHViX2V4Y2VwdF9vYmpfbGlzdCAnKScJeyAk JCA9ICQ0OyB9CisJCQlFWENFUFQgJygnIHB1Yl9leGNlcHRfb2JqX2xpc3QgJyknCQkJeyAkJCA9 ICQzOyB9CiAJCQl8IC8qRU1QVFkqLwkJCQkJCQkJCXsgJCQgPSBOSUw7IH0KIAkJOwogCkBAIC0x MTQwOCw2ICsxMTQxMCw3IEBAIFB1YmxpY2F0aW9uQWxsT2JqU3BlYzoKIAkJCQkJewogCQkJCQkJ JCQgPSBtYWtlTm9kZShQdWJsaWNhdGlvbkFsbE9ialNwZWMpOwogCQkJCQkJJCQtPnB1Ym9ianR5 cGUgPSBQVUJMSUNBVElPTl9BTExfVEFCTEVTOworCQkJCQkJcHJlcHJvY2Vzc19leGNlcHRfcHVi b2JqX2xpc3QoJDMsIHl5c2Nhbm5lcik7CiAJCQkJCQkkJC0+ZXhjZXB0X3RhYmxlcyA9ICQzOwog CQkJCQkJJCQtPmxvY2F0aW9uID0gQDE7CiAJCQkJCX0KQEAgLTExNDI2LDEyICsxMTQyOSwyMSBA QCBwdWJfYWxsX29ial90eXBlX2xpc3Q6CVB1YmxpY2F0aW9uQWxsT2JqU3BlYwogCTsKIAogUHVi bGljYXRpb25FeGNlcHRPYmpTcGVjOgotCQkJIHJlbGF0aW9uX2V4cHIKKwkJCSBUQUJMRSByZWxh dGlvbl9leHByCiAJCQkJewogCQkJCQkkJCA9IG1ha2VOb2RlKFB1YmxpY2F0aW9uT2JqU3BlYyk7 CiAJCQkJCSQkLT5wdWJvYmp0eXBlID0gUFVCTElDQVRJT05PQkpfRVhDRVBUX1RBQkxFOwogCQkJ CQkkJC0+cHVidGFibGUgPSBtYWtlTm9kZShQdWJsaWNhdGlvblRhYmxlKTsKIAkJCQkJJCQtPnB1 YnRhYmxlLT5leGNlcHQgPSB0cnVlOworCQkJCQkkJC0+cHVidGFibGUtPnJlbGF0aW9uID0gJDI7 CisJCQkJCSQkLT5sb2NhdGlvbiA9IEAyOworCQkJCX0KKwkJCSB8IHJlbGF0aW9uX2V4cHIKKwkJ CQl7CisJCQkJCSQkID0gbWFrZU5vZGUoUHVibGljYXRpb25PYmpTcGVjKTsKKwkJCQkJJCQtPnB1 Ym9ianR5cGUgPSBQVUJMSUNBVElPTk9CSl9DT05USU5VQVRJT047CisJCQkJCSQkLT5wdWJ0YWJs ZSA9IG1ha2VOb2RlKFB1YmxpY2F0aW9uVGFibGUpOworCQkJCQkkJC0+cHVidGFibGUtPmV4Y2Vw dCA9IHRydWU7CiAJCQkJCSQkLT5wdWJ0YWJsZS0+cmVsYXRpb24gPSAkMTsKIAkJCQkJJCQtPmxv Y2F0aW9uID0gQDE7CiAJCQkJfQpAQCAtMTE0NjIsNyArMTE0NzQsNyBAQCBwdWJfZXhjZXB0X29i al9saXN0OiBQdWJsaWNhdGlvbkV4Y2VwdE9ialNwZWMKICAqCiAgKiBwdWJfYWxsX29ial90eXBl IGlzIG9uZSBvZjoKICAqCi0gKgkJQUxMIFRBQkxFUyBbIEVYQ0VQVCBUQUJMRSAoIHRhYmxlX25h bWUgWywgLi4uXSApIF0KKyAqCQlBTEwgVEFCTEVTIFsgRVhDRVBUICggVEFCTEUgdGFibGVfbmFt ZSBbLCAuLi5dICkgXQogICoJCUFMTCBTRVFVRU5DRVMKICAqCiAgKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KiovCkBAIC0yMDc2NCw2ICsyMDc3Niw0MyBAQCBwcmVwcm9jZXNzX3B1Ym9ial9saXN0KExpc3Qg KnB1Ym9ianNwZWNfbGlzdCwgY29yZV95eXNjYW5fdCB5eXNjYW5uZXIpCiAJfQogfQogCisvKgor ICogU2ltaWxhciB0byBwcmVwcm9jZXNzX3B1Ym9ial9saXN0KCksIGJ1dCB1c2VkIGZvciB0aGUg RVhDRVBUIGNsYXVzZS4KKyAqLworc3RhdGljIHZvaWQKK3ByZXByb2Nlc3NfZXhjZXB0X3B1Ym9i al9saXN0KExpc3QgKnB1YmV4Y2VwdG9ianNwZWNfbGlzdCwKKwkJCQkJCQkgIGNvcmVfeXlzY2Fu X3QgeXlzY2FubmVyKQoreworCUxpc3RDZWxsICAgKmNlbGw7CisJUHVibGljYXRpb25PYmpTcGVj ICpwdWJvYmo7CisJUHVibGljYXRpb25PYmpTcGVjVHlwZSBwcmV2b2JqdHlwZSA9IFBVQkxJQ0FU SU9OT0JKX0NPTlRJTlVBVElPTjsKKworCWlmICghcHViZXhjZXB0b2Jqc3BlY19saXN0KQorCQly ZXR1cm47CisKKwlwdWJvYmogPSAoUHVibGljYXRpb25PYmpTcGVjICopIGxpbml0aWFsKHB1YmV4 Y2VwdG9ianNwZWNfbGlzdCk7CisKKwlBc3NlcnQocHVib2JqLT5wdWJvYmp0eXBlID09IFBVQkxJ Q0FUSU9OT0JKX0VYQ0VQVF9UQUJMRSB8fAorCQkgICBwdWJvYmotPnB1Ym9ianR5cGUgPT0gUFVC TElDQVRJT05PQkpfQ09OVElOVUFUSU9OKTsKKworCWlmIChwdWJvYmotPnB1Ym9ianR5cGUgPT0g UFVCTElDQVRJT05PQkpfQ09OVElOVUFUSU9OKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCWVycmNv ZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAorCQkJCWVycm1zZygiaW52YWxpZCBwdWJsaWNhdGlv biBvYmplY3QgbGlzdCIpLAorCQkJCWVycmRldGFpbCgiVEFCTEUgbXVzdCBiZSBzcGVjaWZpZWQg YmVmb3JlIGEgc3RhbmRhbG9uZSB0YWJsZS4iKSwKKwkJCQlwYXJzZXJfZXJycG9zaXRpb24ocHVi b2JqLT5sb2NhdGlvbikpOworCisJZm9yZWFjaChjZWxsLCBwdWJleGNlcHRvYmpzcGVjX2xpc3Qp CisJeworCQlwdWJvYmogPSAoUHVibGljYXRpb25PYmpTcGVjICopIGxmaXJzdChjZWxsKTsKKwor CQlpZiAocHVib2JqLT5wdWJvYmp0eXBlID09IFBVQkxJQ0FUSU9OT0JKX0NPTlRJTlVBVElPTikK KwkJCXB1Ym9iai0+cHVib2JqdHlwZSA9IHByZXZvYmp0eXBlOworCisJCXByZXZvYmp0eXBlID0g cHVib2JqLT5wdWJvYmp0eXBlOworCX0KK30KKwogLyotLS0tLS0tLS0tCiAgKiBSZWN1cnNpdmUg dmlldyB0cmFuc2Zvcm1hdGlvbgogICoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19k dW1wLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCmluZGV4IDVkMWY3NjgyZjExLi45Y2Iw NTM1OTMzMiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYworKysgYi9zcmMv YmluL3BnX2R1bXAvcGdfZHVtcC5jCkBAIC00NjI1LDE0ICs0NjI1LDE0IEBAIGdldFB1YmxpY2F0 aW9ucyhBcmNoaXZlICpmb3V0KQogCQkgKiBHZXQgdGhlIGxpc3Qgb2YgdGFibGVzIGZvciBwdWJs aWNhdGlvbnMgc3BlY2lmaWVkIGluIHRoZSBFWENFUFQKIAkJICogVEFCTEUgY2xhdXNlLgogCQkg KgotCQkgKiBBbHRob3VnaCBpbmRpdmlkdWFsIEVYQ0VQVCBUQUJMRSBlbnRyaWVzIGNvdWxkIGJl IHN0b3JlZCBpbgorCQkgKiBBbHRob3VnaCBpbmRpdmlkdWFsIHRhYmxlIGVudHJpZXMgaW4gRVhD RVBUIGxpc3QgY291bGQgYmUgc3RvcmVkIGluCiAJCSAqIFB1YmxpY2F0aW9uUmVsSW5mbywgZHVt cFB1YmxpY2F0aW9uVGFibGUgY2Fubm90IGJlIHVzZWQgdG8gZW1pdAogCQkgKiB0aGVtLCBiZWNh dXNlIHRoZXJlIGlzIG5vIEFMVEVSIFBVQkxJQ0FUSU9OIC4uLiBBREQgY29tbWFuZCB0byBhZGQK LQkJICogaW5kaXZpZHVhbCB0YWJsZSBlbnRyaWVzIHRvIHRoZSBFWENFUFQgVEFCTEUgbGlzdC4K KwkJICogaW5kaXZpZHVhbCB0YWJsZSBlbnRyaWVzIHRvIHRoZSBFWENFUFQgbGlzdC4KIAkJICoK LQkJICogVGhlcmVmb3JlLCB0aGUgYXBwcm9hY2ggaXMgdG8gZHVtcCB0aGUgY29tcGxldGUgRVhD RVBUIFRBQkxFIGxpc3QKLQkJICogaW4gYSBzaW5nbGUgQ1JFQVRFIFBVQkxJQ0FUSU9OIHN0YXRl bWVudC4gUHVibGljYXRpb25JbmZvIGlzIHVzZWQKLQkJICogdG8gY29sbGVjdCB0aGlzIGluZm9y bWF0aW9uLCB3aGljaCBpcyB0aGVuIGVtaXR0ZWQgYnkKKwkJICogVGhlcmVmb3JlLCB0aGUgYXBw cm9hY2ggaXMgdG8gZHVtcCB0aGUgY29tcGxldGUgRVhDRVBUIGxpc3QgaW4gYQorCQkgKiBzaW5n bGUgQ1JFQVRFIFBVQkxJQ0FUSU9OIHN0YXRlbWVudC4gUHVibGljYXRpb25JbmZvIGlzIHVzZWQg dG8KKwkJICogY29sbGVjdCB0aGlzIGluZm9ybWF0aW9uLCB3aGljaCBpcyB0aGVuIGVtaXR0ZWQg YnkKIAkJICogZHVtcFB1YmxpY2F0aW9uKCkuCiAJCSAqLwogCQlpZiAoZm91dC0+cmVtb3RlVmVy c2lvbiA+PSAxOTAwMDApCkBAIC00NzA4LDE1ICs0NzA4LDE1IEBAIGR1bXBQdWJsaWNhdGlvbihB cmNoaXZlICpmb3V0LCBjb25zdCBQdWJsaWNhdGlvbkluZm8gKnB1YmluZm8pCiAKIAkJYXBwZW5k UFFFeHBCdWZmZXJTdHIocXVlcnksICIgRk9SIEFMTCBUQUJMRVMiKTsKIAotCQkvKiBJbmNsdWRl IEVYQ0VQVCBUQUJMRSBjbGF1c2UgaWYgdGhlcmUgYXJlIGV4Y2VwdF90YWJsZXMuICovCisJCS8q IEluY2x1ZGUgRVhDRVBUIChUQUJMRSkgY2xhdXNlIGlmIHRoZXJlIGFyZSBleGNlcHRfdGFibGVz LiAqLwogCQlmb3IgKFNpbXBsZVB0ckxpc3RDZWxsICpjZWxsID0gcHViaW5mby0+ZXhjZXB0X3Rh Ymxlcy5oZWFkOyBjZWxsOyBjZWxsID0gY2VsbC0+bmV4dCkKIAkJewogCQkJVGFibGVJbmZvICAq dGJpbmZvID0gKFRhYmxlSW5mbyAqKSBjZWxsLT5wdHI7CiAKIAkJCWlmICgrK25fZXhjZXB0ID09 IDEpCi0JCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIgRVhDRVBUIFRBQkxFICgiKTsK KwkJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiBFWENFUFQgKFRBQkxFICIpOwogCQkJ ZWxzZQotCQkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiLCAiKTsKKwkJCQlhcHBlbmRQ UUV4cEJ1ZmZlclN0cihxdWVyeSwgIiwgVEFCTEUgIik7CiAJCQlhcHBlbmRQUUV4cEJ1ZmZlcihx dWVyeSwgIk9OTFkgJXMiLCBmbXRRdWFsaWZpZWREdW1wYWJsZSh0YmluZm8pKTsKIAkJfQogCQlp ZiAobl9leGNlcHQgPiAwKQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1 bXAucGwgYi9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbAppbmRleCAwNTFhM2Q4ZWEz ZC4uM2JjOGU1MTU2MWQgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1w LnBsCisrKyBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCkBAIC0zMjE1LDkgKzMy MTUsOSBAQCBteSAldGVzdHMgPSAoCiAJJ0NSRUFURSBQVUJMSUNBVElPTiBwdWI4JyA9PiB7CiAJ CWNyZWF0ZV9vcmRlciA9PiA1MCwKIAkJY3JlYXRlX3NxbCA9PgotCQkgICdDUkVBVEUgUFVCTElD QVRJT04gcHViOCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKGR1bXBfdGVzdC50ZXN0X3Rh YmxlKTsnLAorCQkgICdDUkVBVEUgUFVCTElDQVRJT04gcHViOCBGT1IgQUxMIFRBQkxFUyBFWENF UFQgKFRBQkxFIGR1bXBfdGVzdC50ZXN0X3RhYmxlKTsnLAogCQlyZWdleHAgPT4gcXIvXgotCQkJ XFFDUkVBVEUgUFVCTElDQVRJT04gcHViOCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKE9O TFkgZHVtcF90ZXN0LnRlc3RfdGFibGUpIFdJVEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCB1cGRhdGUs IGRlbGV0ZSwgdHJ1bmNhdGUnKTtcRQorCQkJXFFDUkVBVEUgUFVCTElDQVRJT04gcHViOCBGT1Ig QUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIE9OTFkgZHVtcF90ZXN0LnRlc3RfdGFibGUpIFdJVEgg KHB1Ymxpc2ggPSAnaW5zZXJ0LCB1cGRhdGUsIGRlbGV0ZSwgdHJ1bmNhdGUnKTtcRQogCQkJL3ht LAogCQlsaWtlID0+IHsgJWZ1bGxfcnVucywgc2VjdGlvbl9wb3N0X2RhdGEgPT4gMSwgfSwKIAl9 LApAQCAtMzIyNSw5ICszMjI1LDkgQEAgbXkgJXRlc3RzID0gKAogCSdDUkVBVEUgUFVCTElDQVRJ T04gcHViOScgPT4gewogCQljcmVhdGVfb3JkZXIgPT4gNTAsCiAJCWNyZWF0ZV9zcWwgPT4KLQkJ ICAnQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjkgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIChk dW1wX3Rlc3QudGVzdF90YWJsZSwgZHVtcF90ZXN0LnRlc3Rfc2Vjb25kX3RhYmxlKTsnLAorCQkg ICdDUkVBVEUgUFVCTElDQVRJT04gcHViOSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIGR1 bXBfdGVzdC50ZXN0X3RhYmxlLCBkdW1wX3Rlc3QudGVzdF9zZWNvbmRfdGFibGUpOycsCiAJCXJl Z2V4cCA9PiBxci9eCi0JCQlcUUNSRUFURSBQVUJMSUNBVElPTiBwdWI5IEZPUiBBTEwgVEFCTEVT IEVYQ0VQVCBUQUJMRSAoT05MWSBkdW1wX3Rlc3QudGVzdF90YWJsZSwgT05MWSBkdW1wX3Rlc3Qu dGVzdF9zZWNvbmRfdGFibGUpIFdJVEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCB1cGRhdGUsIGRlbGV0 ZSwgdHJ1bmNhdGUnKTtcRQorCQkJXFFDUkVBVEUgUFVCTElDQVRJT04gcHViOSBGT1IgQUxMIFRB QkxFUyBFWENFUFQgKFRBQkxFIE9OTFkgZHVtcF90ZXN0LnRlc3RfdGFibGUsIFRBQkxFIE9OTFkg ZHVtcF90ZXN0LnRlc3Rfc2Vjb25kX3RhYmxlKSBXSVRIIChwdWJsaXNoID0gJ2luc2VydCwgdXBk YXRlLCBkZWxldGUsIHRydW5jYXRlJyk7XEUKIAkJCS94bSwKIAkJbGlrZSA9PiB7ICVmdWxsX3J1 bnMsIHNlY3Rpb25fcG9zdF9kYXRhID0+IDEsIH0sCiAJfSwKQEAgLTMyMzUsOSArMzIzNSw5IEBA IG15ICV0ZXN0cyA9ICgKIAknQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjEwJyA9PiB7CiAJCWNyZWF0 ZV9vcmRlciA9PiA5MiwKIAkJY3JlYXRlX3NxbCA9PgotCQkgICdDUkVBVEUgUFVCTElDQVRJT04g cHViMTAgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIChkdW1wX3Rlc3QudGVzdF9pbmhlcml0 YW5jZV9wYXJlbnQpOycsCisJCSAgJ0NSRUFURSBQVUJMSUNBVElPTiBwdWIxMCBGT1IgQUxMIFRB QkxFUyBFWENFUFQgKFRBQkxFIGR1bXBfdGVzdC50ZXN0X2luaGVyaXRhbmNlX3BhcmVudCk7JywK IAkJcmVnZXhwID0+IHFyL14KLQkJCVxRQ1JFQVRFIFBVQkxJQ0FUSU9OIHB1YjEwIEZPUiBBTEwg VEFCTEVTIEVYQ0VQVCBUQUJMRSAoT05MWSBkdW1wX3Rlc3QudGVzdF9pbmhlcml0YW5jZV9wYXJl bnQsIE9OTFkgZHVtcF90ZXN0LnRlc3RfaW5oZXJpdGFuY2VfY2hpbGQpIFdJVEggKHB1Ymxpc2gg PSAnaW5zZXJ0LCB1cGRhdGUsIGRlbGV0ZSwgdHJ1bmNhdGUnKTtcRQorCQkJXFFDUkVBVEUgUFVC TElDQVRJT04gcHViMTAgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSBPTkxZIGR1bXBfdGVz dC50ZXN0X2luaGVyaXRhbmNlX3BhcmVudCwgVEFCTEUgT05MWSBkdW1wX3Rlc3QudGVzdF9pbmhl cml0YW5jZV9jaGlsZCkgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIHVwZGF0ZSwgZGVsZXRlLCB0 cnVuY2F0ZScpO1xFCiAJCQkveG0sCiAJCWxpa2UgPT4geyAlZnVsbF9ydW5zLCBzZWN0aW9uX3Bv c3RfZGF0YSA9PiAxLCB9LAogCX0sCmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwvZGVzY3JpYmUu YyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCmluZGV4IDdkMTIzMWMwNTU4Li45NGYyNWVmNWQw NyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMKKysrIGIvc3JjL2Jpbi9wc3Fs L2Rlc2NyaWJlLmMKQEAgLTMyMDYsNyArMzIwNiw3IEBAIGRlc2NyaWJlT25lVGFibGVEZXRhaWxz KGNvbnN0IGNoYXIgKnNjaGVtYW5hbWUsCiAJCQkJewogCQkJCQkvKgogCQkJCQkgKiBTa2lwIGVu dHJpZXMgd2hlcmUgdGhpcyByZWxhdGlvbiBhcHBlYXJzIGluIHRoZQotCQkJCQkgKiBwdWJsaWNh dGlvbidzIEVYQ0VQVCBUQUJMRSBsaXN0LgorCQkJCQkgKiBwdWJsaWNhdGlvbidzIEVYQ0VQVCBs aXN0LgogCQkJCQkgKi8KIAkJCQkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKIAkJCQkJCQkJCSAg IiBBTkQgTk9UIHByLnByZXhjZXB0XG4iCmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwvdGFiLWNv bXBsZXRlLmluLmMgYi9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMKaW5kZXggNTIzZDNm MzlmYzUuLmY1NmU1NTViNThhIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRl LmluLmMKKysrIGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCkBAIC0yMzMzLDEzICsy MzMzLDEzIEBAIG1hdGNoX3ByZXZpb3VzX3dvcmRzKGludCBwYXR0ZXJuX2lkLAogCWVsc2UgaWYg KE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAiQUxMIikp CiAJCUNPTVBMRVRFX1dJVEgoIlNFUVVFTkNFUyIsICJUQUJMRVMiKTsKIAllbHNlIGlmIChNYXRj aGVzKCJBTFRFUiIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiU0VUIiwgIkFMTCIsICJUQUJM RVMiKSkKLQkJQ09NUExFVEVfV0lUSCgiRVhDRVBUIFRBQkxFICgiKTsKKwkJQ09NUExFVEVfV0lU SCgiRVhDRVBUIChUQUJMRSIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJQ0FU SU9OIiwgTWF0Y2hBbnksICJTRVQiLCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiKSkKLQkJQ09N UExFVEVfV0lUSCgiVEFCTEUgKCIpOwotCWVsc2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJ Q0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiLCAiVEFC TEUiKSkKLQkJQ09NUExFVEVfV0lUSCgiKCIpOworCQlDT01QTEVURV9XSVRIKCIoVEFCTEUiKTsK KwllbHNlIGlmIChNYXRjaGVzKCJBTFRFUiIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiU0VU IiwgIkFMTCIsICJUQUJMRVMiLCAiRVhDRVBUIiwgIigiKSkKKwkJQ09NUExFVEVfV0lUSCgiVEFC TEUiKTsKIAkvKiBDb21wbGV0ZSAiQUxURVIgUFVCTElDQVRJT04gPG5hbWU+IEZPUiBUQUJMRSIg d2l0aCAiPHRhYmxlPiwgLi4uIiAqLwotCWVsc2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJ Q0FUSU9OIiwgTWF0Y2hBbnksICJTRVQiLCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiLCAiVEFC TEUiLCAiKCIpKQorCWVsc2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0 Y2hBbnksICJTRVQiLCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiLCAiKCIsICJUQUJMRSIpKQog CQlDT01QTEVURV9XSVRIX1NDSEVNQV9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl90YWJsZXMpOwog CWVsc2UgaWYgKE1hdGNoZXMoIkFMVEVSIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJBRER8 RFJPUHxTRVQiLCAiVEFCTEVTIiwgIklOIiwgIlNDSEVNQSIpKQogCQlDT01QTEVURV9XSVRIX1FV RVJZX1BMVVMoUXVlcnlfZm9yX2xpc3Rfb2Zfc2NoZW1hcwpAQCAtMzczOCwxNiArMzczOCwxNiBA QCBtYXRjaF9wcmV2aW91c193b3JkcyhpbnQgcGF0dGVybl9pZCwKIAllbHNlIGlmIChNYXRjaGVz KCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkZPUiIsICJBTEwiKSkKIAkJQ09N UExFVEVfV0lUSCgiVEFCTEVTIiwgIlNFUVVFTkNFUyIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkNS RUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMiKSkK LQkJQ09NUExFVEVfV0lUSCgiRVhDRVBUIFRBQkxFICgiLCAiV0lUSCAoIik7CisJCUNPTVBMRVRF X1dJVEgoIkVYQ0VQVCAoVEFCTEUiLCAiV0lUSCAoIik7CiAJZWxzZSBpZiAoTWF0Y2hlcygiQ1JF QVRFIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJGT1IiLCAiQUxMIiwgIlRBQkxFUyIsICJF WENFUFQiKSkKLQkJQ09NUExFVEVfV0lUSCgiVEFCTEUgKCIpOwotCWVsc2UgaWYgKE1hdGNoZXMo IkNSRUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMi LCAiRVhDRVBUIiwgIlRBQkxFIikpCi0JCUNPTVBMRVRFX1dJVEgoIigiKTsKLQllbHNlIGlmIChN YXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBNYXRjaEFueSwgIkZPUiIsICJBTEwiLCAi VEFCTEVTIiwgIkVYQ0VQVCIsICJUQUJMRSIsICIoIikpCisJCUNPTVBMRVRFX1dJVEgoIihUQUJM RSIpOworCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQVUJMSUNBVElPTiIsIE1hdGNoQW55 LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMiLCAiRVhDRVBUIiwgIigiKSkKKwkJQ09NUExFVEVfV0lU SCgiVEFCTEUiKTsKKwllbHNlIGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiUFVCTElDQVRJT04iLCBN YXRjaEFueSwgIkZPUiIsICJBTEwiLCAiVEFCTEVTIiwgIkVYQ0VQVCIsICIoIiwgIlRBQkxFIikp CiAJCUNPTVBMRVRFX1dJVEhfU0NIRU1BX1FVRVJZKFF1ZXJ5X2Zvcl9saXN0X29mX3RhYmxlcyk7 Ci0JZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJG T1IiLCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiLCAiVEFCTEUiLCAiKCIsIE1hdGNoQW55Tikg JiYgZW5kc193aXRoKHByZXZfd2QsICcsJykpCisJZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwg IlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJGT1IiLCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQi LCAiKCIsICJUQUJMRSIsIE1hdGNoQW55TikgJiYgZW5kc193aXRoKHByZXZfd2QsICcsJykpCiAJ CUNPTVBMRVRFX1dJVEhfU0NIRU1BX1FVRVJZKFF1ZXJ5X2Zvcl9saXN0X29mX3RhYmxlcyk7Ci0J ZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlBVQkxJQ0FUSU9OIiwgTWF0Y2hBbnksICJGT1Ii LCAiQUxMIiwgIlRBQkxFUyIsICJFWENFUFQiLCAiVEFCTEUiLCAiKCIsIE1hdGNoQW55TikgJiYg IWVuZHNfd2l0aChwcmV2X3dkLCAnLCcpKQorCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQ VUJMSUNBVElPTiIsIE1hdGNoQW55LCAiRk9SIiwgIkFMTCIsICJUQUJMRVMiLCAiRVhDRVBUIiwg IigiLCAiVEFCTEUiLCBNYXRjaEFueU4pICYmICFlbmRzX3dpdGgocHJldl93ZCwgJywnKSkKIAkJ Q09NUExFVEVfV0lUSCgiKSIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJQVUJMSUNB VElPTiIsIE1hdGNoQW55LCAiRk9SIiwgIlRBQkxFUyIpKQogCQlDT01QTEVURV9XSVRIKCJJTiBT Q0hFTUEiKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHVibGljYXRp b24ub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wdWJsaWNhdGlvbi5vdXQKaW5kZXgg YTIyMGY0OGIyODUuLjg3MDM5YTFmZWY0IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3B1YmxpY2F0aW9uLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3B1 YmxpY2F0aW9uLm91dApAQCAtMjE0LDExICsyMTQsMTIgQEAgTm90LW51bGwgY29uc3RyYWludHM6 CiAoMSByb3cpCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQotLS0gRVhDRVBUIFRBQkxFIHRlc3RzIGZvciBub3JtYWwgdGFibGVzCistLSBFWENFUFQgY2xh dXNlIHRlc3RzIGZvciBub3JtYWwgdGFibGVzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gJ0VSUk9SJzsKLS0t IFNwZWNpZnkgdGFibGUgbGlzdCBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSBvZiBhIEZPUiBB TEwgVEFCTEVTIHB1YmxpY2F0aW9uCi1DUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0 YWJsZXNfZXhjZXB0dGFibGUgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3Ri bDEsIHRlc3RwdWJfdGJsMik7CitDUkVBVEUgVEFCTEUgdGVzdHB1Yl90YmwzIChpZCBzZXJpYWwg cHJpbWFyeSBrZXksIGRhdGEgdGV4dCk7CistLSBTcGVjaWZ5IHRhYmxlIGxpc3QgaW4gdGhlIEVY Q0VQVCBjbGF1c2Ugb2YgYSBGT1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbgorQ1JFQVRFIFBVQkxJ Q0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlIEZPUiBBTEwgVEFCTEVTIEVY Q0VQVCAoVEFCTEUgdGVzdHB1Yl90YmwxLCB0ZXN0cHViX3RibDIsIFRBQkxFIHRlc3RwdWJfdGJs Myk7CiBcZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWJf Zm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlCiAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxs IHRhYmxlcyB8IEFsbCBzZXF1ZW5jZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBU cnVuY2F0ZXMgfCBHZW5lcmF0ZWQgY29sdW1ucyB8IFZpYSByb290IHwgRGVzY3JpcHRpb24gCkBA IC0yMjcsOSArMjI4LDEwIEBAIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxl c19leGNlcHR0YWJsZSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUKIEV4Y2VwdCB0YWJsZXM6 CiAgICAgInB1YmxpYy50ZXN0cHViX3RibDEiCiAgICAgInB1YmxpYy50ZXN0cHViX3RibDIiCisg ICAgInB1YmxpYy50ZXN0cHViX3RibDMiCiAKLS0tIFNwZWNpZnkgdGFibGUgaW4gdGhlIEVYQ0VQ VCBUQUJMRSBjbGF1c2Ugb2YgYSBGT1IgQUxMIFRBQkxFUyBwdWJsaWNhdGlvbgotQ1JFQVRFIFBV QkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMSBGT1IgQUxMIFRBQkxF UyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJsMSk7CistLSBTcGVjaWZ5IHRhYmxlIGluIHRoZSBF WENFUFQgY2xhdXNlIG9mIGEgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24KK0NSRUFURSBQVUJM SUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEgRk9SIEFMTCBUQUJMRVMg RVhDRVBUIChUQUJMRSB0ZXN0cHViX3RibDEpOwogXGRScCsgdGVzdHB1Yl9mb3JhbGx0YWJsZXNf ZXhjZXB0dGFibGUxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEKICAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgQWxsIHNlcXVlbmNlcyB8IEluc2Vy dHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IEdlbmVyYXRlZCBjb2x1bW5zIHwg VmlhIHJvb3QgfCBEZXNjcmlwdGlvbiAKQEAgLTIzOSw3ICsyNDEsNyBAQCBFeGNlcHQgdGFibGVz OgogICAgICJwdWJsaWMudGVzdHB1Yl90YmwxIgogCiAtLSBDaGVjayB0aGF0IHRoZSB0YWJsZSBk ZXNjcmlwdGlvbiBzaG93cyB0aGUgcHVibGljYXRpb25zIHdoZXJlIGl0IGlzIGxpc3RlZAotLS0g aW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2UKKy0tIGluIHRoZSBFWENFUFQgY2xhdXNlCiBcZCB0 ZXN0cHViX3RibDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnRl c3RwdWJfdGJsMSIKICBDb2x1bW4gfCAgVHlwZSAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCAg ICAgICAgICAgICAgICAgRGVmYXVsdCAgICAgICAgICAgICAgICAgIApAQCAtMjU0LDEyICsyNTYs MTkgQEAgRXhjZXB0IFB1YmxpY2F0aW9uczoKICAgICAidGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhj ZXB0dGFibGUiCiAgICAgInRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMSIKIAorLS0g ZmFpbCAtIGZpcnN0IHRhYmxlIGluIHRoZSBFWENFUFQgbGlzdCBzaG91bGQgdXNlIFRBQkxFIGtl eXdvcmQKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJs ZTIgRk9SIEFMTCBUQUJMRVMgRVhDRVBUICh0ZXN0cHViX3RibDEsIHRlc3RwdWJfdGJsMik7CitF UlJPUjogIGludmFsaWQgcHVibGljYXRpb24gb2JqZWN0IGxpc3QKK0xJTkUgMTogLi4uX2ZvcmFs bHRhYmxlc19leGNlcHR0YWJsZTIgRk9SIEFMTCBUQUJMRVMgRVhDRVBUICh0ZXN0cHViX3RiLi4u CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgorREVUQUlMOiAgVEFCTEUgbXVzdCBiZSBzcGVjaWZpZWQgYmVmb3JlIGEgc3RhbmRh bG9uZSB0YWJsZS4KK0RST1AgVEFCTEUgdGVzdHB1Yl90YmwzOwogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAtLSBTRVQgQUxMIFRBQkxFUy9TRVFVRU5DRVMK IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLS0gUmVwbGFj ZSB0aGUgZXhpc3RpbmcgRVhDRVBUIFRBQkxFIGxpc3QgKHRlc3RwdWJfdGJsMSkgd2l0aCBhIG5l dwotLS0gRVhDRVBUIFRBQkxFIGxpc3QgY29udGFpbmluZyBvbmx5ICh0ZXN0cHViX3RibDIpLgot QUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUgU0VUIEFM TCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3RibDIpOworLS0gUmVwbGFjZSB0aGUgZXhp c3RpbmcgdGFibGUgbGlzdCBpbiBFWENFUFQgY2xhdXNlICh0ZXN0cHViX3RibDEpIHdpdGggYSBu ZXcKKy0tIHRhYmxlIGxpc3QgY29udGFpbmluZyBvbmx5ICh0ZXN0cHViX3RibDIpLgorQUxURVIg UFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUgU0VUIEFMTCBUQUJM RVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3RibDIpOwogXGRScCsgdGVzdHB1Yl9mb3JhbGx0YWJs ZXNfZXhjZXB0dGFibGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQogICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBBbGwgc2VxdWVuY2VzIHwgSW5z ZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgR2VuZXJhdGVkIGNvbHVtbnMg fCBWaWEgcm9vdCB8IERlc2NyaXB0aW9uIApAQCAtMjY4LDcgKzI3Nyw4IEBAIEFMVEVSIFBVQkxJ Q0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlIFNFVCBBTEwgVEFCTEVTIEVY Q0VQVCBUQUJMRSAoCiBFeGNlcHQgdGFibGVzOgogICAgICJwdWJsaWMudGVzdHB1Yl90YmwyIgog Ci0tLSBDbGVhciB0aGUgRVhDRVBUIFRBQkxFIGxpc3QsIG1ha2luZyB0aGUgcHVibGljYXRpb24g aW5jbHVkZSBhbGwgdGFibGVzLgorLS0gQ2xlYXIgdGhlIHRhYmxlIGxpc3QgaW4gRVhDRVBUIGNs YXVzZSwgbWFraW5nIHRoZSBwdWJsaWNhdGlvbiBpbmNsdWRlIGFsbAorLS0gdGFibGVzLgogQUxU RVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUgU0VUIEFMTCBU QUJMRVM7CiBcZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3Rw dWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlCkBAIC0zMDksNyArMzE5LDcgQEAgQUxURVIgUFVC TElDQVRJT04gdGVzdHB1Yl9mb3JhbGxfdGJsc19zZXFzIFNFVCBBTEwgU0VRVUVOQ0VTOwogKDEg cm93KQogCiAtLSBmYWlsIC0gU0VUIEFMTCBUQUJMRVMvU0VRVUVOQ0VTIGlzIG5vdCBhbGxvd2Vk IGZvciBhICdGT1IgVEFCTEUnIHB1YmxpY2F0aW9uCi1BTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHVi X2ZvcnRhYmxlIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmwxKTsKK0FM VEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIChU QUJMRSB0ZXN0cHViX3RibDEpOwogRVJST1I6ICBwdWJsaWNhdGlvbiAidGVzdHB1Yl9mb3J0YWJs ZSIgZG9lcyBub3Qgc3VwcG9ydCBBTEwgVEFCTEVTIG9wZXJhdGlvbnMKIERFVEFJTDogIFRoaXMg b3BlcmF0aW9uIHJlcXVpcmVzIHRoZSBwdWJsaWNhdGlvbiB0byBiZSBkZWZpbmVkIGFzIEZPUiBB TEwgVEFCTEVTL1NFUVVFTkNFUyBvciB0byBiZSBlbXB0eS4KIEFMVEVSIFBVQkxJQ0FUSU9OIHRl c3RwdWJfZm9ydGFibGUgU0VUIEFMTCBUQUJMRVM7CkBAIC0zMTksNyArMzI5LDcgQEAgQUxURVIg UFVCTElDQVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBTRVQgQUxMIFNFUVVFTkNFUzsKIEVSUk9SOiAg cHVibGljYXRpb24gInRlc3RwdWJfZm9ydGFibGUiIGRvZXMgbm90IHN1cHBvcnQgQUxMIFNFUVVF TkNFUyBvcGVyYXRpb25zCiBERVRBSUw6ICBUaGlzIG9wZXJhdGlvbiByZXF1aXJlcyB0aGUgcHVi bGljYXRpb24gdG8gYmUgZGVmaW5lZCBhcyBGT1IgQUxMIFRBQkxFUy9TRVFVRU5DRVMgb3IgdG8g YmUgZW1wdHkuCiAtLSBmYWlsIC0gU0VUIEFMTCBUQUJMRVMvU0VRVUVOQ0VTIGlzIG5vdCBhbGxv d2VkIGZvciBhIHNjaGVtYSBwdWJsaWNhdGlvbgotQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9m b3JzY2hlbWEgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIChwdWJfdGVzdC50ZXN0cHViX25v cGspOworQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JzY2hlbWEgU0VUIEFMTCBUQUJMRVMg RVhDRVBUIChUQUJMRSBwdWJfdGVzdC50ZXN0cHViX25vcGspOwogRVJST1I6ICBwdWJsaWNhdGlv biAidGVzdHB1Yl9mb3JzY2hlbWEiIGRvZXMgbm90IHN1cHBvcnQgQUxMIFRBQkxFUyBvcGVyYXRp b25zCiBERVRBSUw6ICBUaGlzIG9wZXJhdGlvbiByZXF1aXJlcyB0aGUgcHVibGljYXRpb24gdG8g YmUgZGVmaW5lZCBhcyBGT1IgQUxMIFRBQkxFUy9TRVFVRU5DRVMgb3IgdG8gYmUgZW1wdHkuCiBB TFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnNjaGVtYSBTRVQgQUxMIFRBQkxFUzsKQEAgLTMz NCw3ICszNDQsNyBAQCBEUk9QIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzLCB0ZXN0 cHViX2ZvcnRhYmxlLCB0ZXN0cHViX2ZvcnNjaGVtYSwgdGVzdAogRFJPUCBQVUJMSUNBVElPTiB0 ZXN0cHViX2ZvcmFsbF90YmxzX3NlcXMsIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxl LCB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTE7CiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC0tIFRlc3RzIGZvciBpbmhlcml0ZWQgdGFibGVz LCBhbmQKLS0tIEVYQ0VQVCBUQUJMRSB0ZXN0cyBmb3IgaW5oZXJpdGVkIHRhYmxlcworLS0gRVhD RVBUIGNsYXVzZSB0ZXN0cyBmb3IgaW5oZXJpdGVkIHRhYmxlcwogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9ICdF UlJPUic7CiBDUkVBVEUgVEFCTEUgdGVzdHB1Yl90YmxfcGFyZW50IChhIGludCk7CkBAIC0zNTgs OCArMzY4LDggQEAgQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI0IEZPUiBUQUJMRSBPTkxZIHRl c3RwdWJfdGJsX3BhcmVudDsKIFRhYmxlczoKICAgICAicHVibGljLnRlc3RwdWJfdGJsX3BhcmVu dCIKIAotLS0gTGlzdCB0aGUgcGFyZW50IHRhYmxlIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNl ICh3aXRob3V0IE9OTFkgb3IgJyonKQotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IEZPUiBB TEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmxfcGFyZW50KTsKKy0tIExpc3QgdGhl IHBhcmVudCB0YWJsZSBpbiB0aGUgRVhDRVBUIGNsYXVzZSAod2l0aG91dCBPTkxZIG9yICcqJykK K0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxF IHRlc3RwdWJfdGJsX3BhcmVudCk7CiBcZFJwKyB0ZXN0cHViNQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRl c3RwdWI1CiAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEFsbCBzZXF1 ZW5jZXMgfCBJbnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBHZW5lcmF0 ZWQgY29sdW1ucyB8IFZpYSByb290IHwgRGVzY3JpcHRpb24gCkBAIC0zNjksOCArMzc5LDggQEAg RXhjZXB0IHRhYmxlczoKICAgICAicHVibGljLnRlc3RwdWJfdGJsX2NoaWxkIgogICAgICJwdWJs aWMudGVzdHB1Yl90YmxfcGFyZW50IgogCi0tLSBFWENFUFQgd2l0aCAnKic6IGxpc3QgdGhlIHRh YmxlIGFuZCBhbGwgaXRzIGRlc2NlbmRhbnRzIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlCi1D UkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjYgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0 ZXN0cHViX3RibF9wYXJlbnQgKik7CistLSBFWENFUFQgd2l0aCAnKic6IGxpc3QgdGhlIHRhYmxl IGFuZCBhbGwgaXRzIGRlc2NlbmRhbnRzIGluIHRoZSBFWENFUFQgY2xhdXNlCitDUkVBVEUgUFVC TElDQVRJT04gdGVzdHB1YjYgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3Ri bF9wYXJlbnQgKik7CiBcZFJwKyB0ZXN0cHViNgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1YmxpY2F0aW9uIHRlc3RwdWI2CiAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgQWxsIHRhYmxlcyB8IEFsbCBzZXF1ZW5jZXMgfCBJ bnNlcnRzIHwgVXBkYXRlcyB8IERlbGV0ZXMgfCBUcnVuY2F0ZXMgfCBHZW5lcmF0ZWQgY29sdW1u cyB8IFZpYSByb290IHwgRGVzY3JpcHRpb24gCkBAIC0zODAsOCArMzkwLDggQEAgRXhjZXB0IHRh YmxlczoKICAgICAicHVibGljLnRlc3RwdWJfdGJsX2NoaWxkIgogICAgICJwdWJsaWMudGVzdHB1 Yl90YmxfcGFyZW50IgogCi0tLSBFWENFUFQgd2l0aCBPTkxZOiBsaXN0IHRoZSB0YWJsZSBpbiB0 aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSwgYnV0IG5vdCBpdHMgZGVzY2VuZGFudHMKLUNSRUFURSBQ VUJMSUNBVElPTiB0ZXN0cHViNyBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKE9OTFkgdGVz dHB1Yl90YmxfcGFyZW50KTsKKy0tIEVYQ0VQVCB3aXRoIE9OTFk6IGxpc3QgdGhlIHRhYmxlIGlu IHRoZSBFWENFUFQgY2xhdXNlLCBidXQgbm90IGl0cyBkZXNjZW5kYW50cworQ1JFQVRFIFBVQkxJ Q0FUSU9OIHRlc3RwdWI3IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgT05MWSB0ZXN0cHVi X3RibF9wYXJlbnQpOwogXGRScCsgdGVzdHB1YjcKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiB0ZXN0cHViNwog ICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEFsbCB0YWJsZXMgfCBBbGwgc2VxdWVuY2VzIHwg SW5zZXJ0cyB8IFVwZGF0ZXMgfCBEZWxldGVzIHwgVHJ1bmNhdGVzIHwgR2VuZXJhdGVkIGNvbHVt bnMgfCBWaWEgcm9vdCB8IERlc2NyaXB0aW9uIApAQCAtMzk0LDEyICs0MDQsMTIgQEAgUkVTRVQg Y2xpZW50X21pbl9tZXNzYWdlczsKIERST1AgVEFCTEUgdGVzdHB1Yl90YmxfcGFyZW50LCB0ZXN0 cHViX3RibF9jaGlsZDsKIERST1AgUFVCTElDQVRJT04gdGVzdHB1YjMsIHRlc3RwdWI0LCB0ZXN0 cHViNSwgdGVzdHB1YjYsIHRlc3RwdWI3OwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCi0tLSBFWENFUFQgVEFCTEUgdGVzdHMgZm9yIHBhcnRpdGlvbmVkIHRh YmxlcworLS0gRVhDRVBUIGNsYXVzZSB0ZXN0cyBmb3IgcGFydGl0aW9uZWQgdGFibGVzCiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFNFVCBjbGllbnRfbWlu X21lc3NhZ2VzID0gJ0VSUk9SJzsKIENSRUFURSBUQUJMRSB0ZXN0cHViX3Jvb3QoYSBpbnQpIFBB UlRJVElPTiBCWSBSQU5HRShhKTsKIENSRUFURSBUQUJMRSB0ZXN0cHViX3BhcnQxIFBBUlRJVElP TiBPRiB0ZXN0cHViX3Jvb3QgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMTAwKTsKLUNSRUFURSBQ VUJMSUNBVElPTiB0ZXN0cHViOCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJf cm9vdCk7CitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjggRk9SIEFMTCBUQUJMRVMgRVhDRVBU IChUQUJMRSB0ZXN0cHViX3Jvb3QpOwogXGRScCsgdGVzdHB1Yjg7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24g dGVzdHB1YjgKICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBBbGwgdGFibGVzIHwgQWxsIHNl cXVlbmNlcyB8IEluc2VydHMgfCBVcGRhdGVzIHwgRGVsZXRlcyB8IFRydW5jYXRlcyB8IEdlbmVy YXRlZCBjb2x1bW5zIHwgVmlhIHJvb3QgfCBEZXNjcmlwdGlvbiAKQEAgLTQyNywxMiArNDM3LDEy IEBAIEV4Y2VwdCBQdWJsaWNhdGlvbnM6CiAgICAgInRlc3RwdWI4IgogTnVtYmVyIG9mIHBhcnRp dGlvbnM6IDEgKFVzZSBcZCsgdG8gbGlzdCB0aGVtLikKIAotQ1JFQVRFIFBVQkxJQ0FUSU9OIHRl c3RwdWI5IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl9wYXJ0MSk7CitDUkVB VEUgUFVCTElDQVRJT04gdGVzdHB1YjkgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0 cHViX3BhcnQxKTsKIEVSUk9SOiAgY2Fubm90IHVzZSBwdWJsaWNhdGlvbiBFWENFUFQgY2xhdXNl IGZvciByZWxhdGlvbiAidGVzdHB1Yl9wYXJ0MSIKIERFVEFJTDogIFRoaXMgb3BlcmF0aW9uIGlz IG5vdCBzdXBwb3J0ZWQgZm9yIGluZGl2aWR1YWwgcGFydGl0aW9ucy4KIENSRUFURSBUQUJMRSB0 YWJfbWFpbiAoYSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRShhKTsKIC0tIEF0dGFjaGluZyBhIHBh cnRpdGlvbiBpcyBub3QgYWxsb3dlZCBpZiB0aGUgcGFydGl0aW9uZWQgdGFibGUgYXBwZWFycyBp biBhCi0tLSBwdWJsaWNhdGlvbidzIEVYQ0VQVCBUQUJMRSBjbGF1c2UuCistLSBwdWJsaWNhdGlv bidzIEVYQ0VQVCBjbGF1c2UuCiBBTFRFUiBUQUJMRSB0YWJfbWFpbiBBVFRBQ0ggUEFSVElUSU9O IHRlc3RwdWJfcm9vdCBGT1IgVkFMVUVTIEZST00gKDApIFRPICgyMDApOwogRVJST1I6ICBjYW5u b3QgYXR0YWNoIHRhYmxlICJ0ZXN0cHViX3Jvb3QiIGFzIHBhcnRpdGlvbiBiZWNhdXNlIGl0IGlz IHJlZmVyZW5jZWQgaW4gcHVibGljYXRpb24gInRlc3RwdWI4IiBFWENFUFQgY2xhdXNlCiBERVRB SUw6ICBUaGUgcHVibGljYXRpb24gRVhDRVBUIGNsYXVzZSBjYW5ub3QgY29udGFpbiB0YWJsZXMg dGhhdCBhcmUgcGFydGl0aW9ucy4KQEAgLTE2MjMsNyArMTYzMyw3IEBAIFJFU0VUIGNsaWVudF9t aW5fbWVzc2FnZXM7CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViNSBPV05FUiBUTyByZWdyZXNz X3B1YmxpY2F0aW9uX3VzZXIzOwogU0VUIFJPTEUgcmVncmVzc19wdWJsaWNhdGlvbl91c2VyMzsK IC0tIGZhaWwgLSBTRVQgQUxMIFRBQkxFUy9TRVFVRU5DRVMgb24gYSBwdWJsaWNhdGlvbiByZXF1 aXJlcyBzdXBlcnVzZXIgcHJpdmlsZWdlcwotQUxURVIgUFVCTElDQVRJT04gdGVzdHB1YjUgU0VU IEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3RibDEpOyAtLSBmYWlsCitBTFRFUiBQ VUJMSUNBVElPTiB0ZXN0cHViNSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJf dGJsMSk7IC0tIGZhaWwKIEVSUk9SOiAgbXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IEFMTCBUQUJM RVMKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IFNFVCBBTEwgVEFCTEVTOyAtLSBmYWlsCiBF UlJPUjogIG11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBBTEwgVEFCTEVTCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL3NxbC9wdWJsaWNhdGlvbi5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9wdWJsaWNhdGlvbi5zcWwKaW5kZXggMjJlMGEzMGI1YzcuLjA0MmE4ODBiNGNmIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wdWJsaWNhdGlvbi5zcWwKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvcHVibGljYXRpb24uc3FsCkBAIC0xMDYsMjggKzEwNiwzMyBAQCBTRUxFQ1Qg cHVibmFtZSwgcHViYWxsdGFibGVzIEZST00gcGdfcHVibGljYXRpb24gV0hFUkUgcHVibmFtZSA9 ICd0ZXN0cHViX2ZvcmFsbAogXGRScCsgdGVzdHB1Yl9mb3JhbGx0YWJsZXMKIAogLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tLSBFWENFUFQgVEFCTEUgdGVz dHMgZm9yIG5vcm1hbCB0YWJsZXMKKy0tIEVYQ0VQVCBjbGF1c2UgdGVzdHMgZm9yIG5vcm1hbCB0 YWJsZXMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogU0VU IGNsaWVudF9taW5fbWVzc2FnZXMgPSAnRVJST1InOwotLS0gU3BlY2lmeSB0YWJsZSBsaXN0IGlu IHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlIG9mIGEgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24K LUNSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZSBGT1Ig QUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJsMSwgdGVzdHB1Yl90YmwyKTsKK0NS RUFURSBUQUJMRSB0ZXN0cHViX3RibDMgKGlkIHNlcmlhbCBwcmltYXJ5IGtleSwgZGF0YSB0ZXh0 KTsKKy0tIFNwZWNpZnkgdGFibGUgbGlzdCBpbiB0aGUgRVhDRVBUIGNsYXVzZSBvZiBhIEZPUiBB TEwgVEFCTEVTIHB1YmxpY2F0aW9uCitDUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0 YWJsZXNfZXhjZXB0dGFibGUgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0ZXN0cHViX3Ri bDEsIHRlc3RwdWJfdGJsMiwgVEFCTEUgdGVzdHB1Yl90YmwzKTsKIFxkUnArIHRlc3RwdWJfZm9y YWxsdGFibGVzX2V4Y2VwdHRhYmxlCi0tLSBTcGVjaWZ5IHRhYmxlIGluIHRoZSBFWENFUFQgVEFC TEUgY2xhdXNlIG9mIGEgRk9SIEFMTCBUQUJMRVMgcHVibGljYXRpb24KLUNSRUFURSBQVUJMSUNB VElPTiB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZTEgRk9SIEFMTCBUQUJMRVMgRVhD RVBUIFRBQkxFICh0ZXN0cHViX3RibDEpOworLS0gU3BlY2lmeSB0YWJsZSBpbiB0aGUgRVhDRVBU IGNsYXVzZSBvZiBhIEZPUiBBTEwgVEFCTEVTIHB1YmxpY2F0aW9uCitDUkVBVEUgUFVCTElDQVRJ T04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUxIEZPUiBBTEwgVEFCTEVTIEVYQ0VQ VCAoVEFCTEUgdGVzdHB1Yl90YmwxKTsKIFxkUnArIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2Vw dHRhYmxlMQogLS0gQ2hlY2sgdGhhdCB0aGUgdGFibGUgZGVzY3JpcHRpb24gc2hvd3MgdGhlIHB1 YmxpY2F0aW9ucyB3aGVyZSBpdCBpcyBsaXN0ZWQKLS0tIGluIHRoZSBFWENFUFQgVEFCTEUgY2xh dXNlCistLSBpbiB0aGUgRVhDRVBUIGNsYXVzZQogXGQgdGVzdHB1Yl90YmwxCistLSBmYWlsIC0g Zmlyc3QgdGFibGUgaW4gdGhlIEVYQ0VQVCBsaXN0IHNob3VsZCB1c2UgVEFCTEUga2V5d29yZAor Q1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9yYWxsdGFibGVzX2V4Y2VwdHRhYmxlMiBGT1Ig QUxMIFRBQkxFUyBFWENFUFQgKHRlc3RwdWJfdGJsMSwgdGVzdHB1Yl90YmwyKTsKK0RST1AgVEFC TEUgdGVzdHB1Yl90YmwzOwogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KIC0tIFNFVCBBTEwgVEFCTEVTL1NFUVVFTkNFUwogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tLSBSZXBsYWNlIHRoZSBleGlzdGluZyBFWENF UFQgVEFCTEUgbGlzdCAodGVzdHB1Yl90YmwxKSB3aXRoIGEgbmV3Ci0tLSBFWENFUFQgVEFCTEUg bGlzdCBjb250YWluaW5nIG9ubHkgKHRlc3RwdWJfdGJsMikuCi1BTFRFUiBQVUJMSUNBVElPTiB0 ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgVEFC TEUgKHRlc3RwdWJfdGJsMik7CistLSBSZXBsYWNlIHRoZSBleGlzdGluZyB0YWJsZSBsaXN0IGlu IEVYQ0VQVCBjbGF1c2UgKHRlc3RwdWJfdGJsMSkgd2l0aCBhIG5ldworLS0gdGFibGUgbGlzdCBj b250YWluaW5nIG9ubHkgKHRlc3RwdWJfdGJsMikuCitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHVi X2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRl c3RwdWJfdGJsMik7CiBcZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQogCi0t LSBDbGVhciB0aGUgRVhDRVBUIFRBQkxFIGxpc3QsIG1ha2luZyB0aGUgcHVibGljYXRpb24gaW5j bHVkZSBhbGwgdGFibGVzLgorLS0gQ2xlYXIgdGhlIHRhYmxlIGxpc3QgaW4gRVhDRVBUIGNsYXVz ZSwgbWFraW5nIHRoZSBwdWJsaWNhdGlvbiBpbmNsdWRlIGFsbAorLS0gdGFibGVzLgogQUxURVIg UFVCTElDQVRJT04gdGVzdHB1Yl9mb3JhbGx0YWJsZXNfZXhjZXB0dGFibGUgU0VUIEFMTCBUQUJM RVM7CiBcZFJwKyB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNlcHR0YWJsZQogCkBAIC0xNDksMTIg KzE1NCwxMiBAQCBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcmFsbF90YmxzX3NlcXMgU0VU IEFMTCBTRVFVRU5DRVM7CiBcZFJwKyB0ZXN0cHViX2ZvcmFsbF90YmxzX3NlcXMKIAogLS0gZmFp bCAtIFNFVCBBTEwgVEFCTEVTL1NFUVVFTkNFUyBpcyBub3QgYWxsb3dlZCBmb3IgYSAnRk9SIFRB QkxFJyBwdWJsaWNhdGlvbgotQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3J0YWJsZSBTRVQg QUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHRlc3RwdWJfdGJsMSk7CitBTFRFUiBQVUJMSUNBVElP TiB0ZXN0cHViX2ZvcnRhYmxlIFNFVCBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90 YmwxKTsKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWJfZm9ydGFibGUgU0VUIEFMTCBUQUJMRVM7 CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnRhYmxlIFNFVCBBTEwgU0VRVUVOQ0VTOwog CiAtLSBmYWlsIC0gU0VUIEFMTCBUQUJMRVMvU0VRVUVOQ0VTIGlzIG5vdCBhbGxvd2VkIGZvciBh IHNjaGVtYSBwdWJsaWNhdGlvbgotQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JzY2hlbWEg U0VUIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFIChwdWJfdGVzdC50ZXN0cHViX25vcGspOworQUxU RVIgUFVCTElDQVRJT04gdGVzdHB1Yl9mb3JzY2hlbWEgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIChU QUJMRSBwdWJfdGVzdC50ZXN0cHViX25vcGspOwogQUxURVIgUFVCTElDQVRJT04gdGVzdHB1Yl9m b3JzY2hlbWEgU0VUIEFMTCBUQUJMRVM7CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViX2ZvcnNj aGVtYSBTRVQgQUxMIFNFUVVFTkNFUzsKIApAQCAtMTY1LDcgKzE3MCw3IEBAIERST1AgUFVCTElD QVRJT04gdGVzdHB1Yl9mb3JhbGxfdGJsc19zZXFzLCB0ZXN0cHViX2ZvcmFsbHRhYmxlc19leGNl cHR0YWJsZSwgdGVzCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogLS0gVGVzdHMgZm9yIGluaGVyaXRlZCB0YWJsZXMsIGFuZAotLS0gRVhDRVBUIFRBQkxF IHRlc3RzIGZvciBpbmhlcml0ZWQgdGFibGVzCistLSBFWENFUFQgY2xhdXNlIHRlc3RzIGZvciBp bmhlcml0ZWQgdGFibGVzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gJ0VSUk9SJzsKIENSRUFURSBUQUJMRSB0 ZXN0cHViX3RibF9wYXJlbnQgKGEgaW50KTsKQEAgLTE3NCwxNCArMTc5LDE0IEBAIENSRUFURSBQ VUJMSUNBVElPTiB0ZXN0cHViMyBGT1IgVEFCTEUgdGVzdHB1Yl90YmxfcGFyZW50OwogXGRScCsg dGVzdHB1YjMKIENSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNCBGT1IgVEFCTEUgT05MWSB0ZXN0 cHViX3RibF9wYXJlbnQ7CiBcZFJwKyB0ZXN0cHViNAotLS0gTGlzdCB0aGUgcGFyZW50IHRhYmxl IGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlICh3aXRob3V0IE9OTFkgb3IgJyonKQotQ1JFQVRF IFBVQkxJQ0FUSU9OIHRlc3RwdWI1IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1 Yl90YmxfcGFyZW50KTsKKy0tIExpc3QgdGhlIHBhcmVudCB0YWJsZSBpbiB0aGUgRVhDRVBUIGNs YXVzZSAod2l0aG91dCBPTkxZIG9yICcqJykKK0NSRUFURSBQVUJMSUNBVElPTiB0ZXN0cHViNSBG T1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfdGJsX3BhcmVudCk7CiBcZFJwKyB0 ZXN0cHViNQotLS0gRVhDRVBUIHdpdGggJyonOiBsaXN0IHRoZSB0YWJsZSBhbmQgYWxsIGl0cyBk ZXNjZW5kYW50cyBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZQotQ1JFQVRFIFBVQkxJQ0FUSU9O IHRlc3RwdWI2IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAodGVzdHB1Yl90YmxfcGFyZW50 ICopOworLS0gRVhDRVBUIHdpdGggJyonOiBsaXN0IHRoZSB0YWJsZSBhbmQgYWxsIGl0cyBkZXNj ZW5kYW50cyBpbiB0aGUgRVhDRVBUIGNsYXVzZQorQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI2 IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAoVEFCTEUgdGVzdHB1Yl90YmxfcGFyZW50ICopOwogXGRS cCsgdGVzdHB1YjYKLS0tIEVYQ0VQVCB3aXRoIE9OTFk6IGxpc3QgdGhlIHRhYmxlIGluIHRoZSBF WENFUFQgVEFCTEUgY2xhdXNlLCBidXQgbm90IGl0cyBkZXNjZW5kYW50cwotQ1JFQVRFIFBVQkxJ Q0FUSU9OIHRlc3RwdWI3IEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCBUQUJMRSAoT05MWSB0ZXN0cHVi X3RibF9wYXJlbnQpOworLS0gRVhDRVBUIHdpdGggT05MWTogbGlzdCB0aGUgdGFibGUgaW4gdGhl IEVYQ0VQVCBjbGF1c2UsIGJ1dCBub3QgaXRzIGRlc2NlbmRhbnRzCitDUkVBVEUgUFVCTElDQVRJ T04gdGVzdHB1YjcgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSBPTkxZIHRlc3RwdWJfdGJs X3BhcmVudCk7CiBcZFJwKyB0ZXN0cHViNwogCiBSRVNFVCBjbGllbnRfbWluX21lc3NhZ2VzOwpA QCAtMTg5LDIwICsxOTQsMjAgQEAgRFJPUCBUQUJMRSB0ZXN0cHViX3RibF9wYXJlbnQsIHRlc3Rw dWJfdGJsX2NoaWxkOwogRFJPUCBQVUJMSUNBVElPTiB0ZXN0cHViMywgdGVzdHB1YjQsIHRlc3Rw dWI1LCB0ZXN0cHViNiwgdGVzdHB1Yjc7CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQotLS0gRVhDRVBUIFRBQkxFIHRlc3RzIGZvciBwYXJ0aXRpb25lZCB0 YWJsZXMKKy0tIEVYQ0VQVCBjbGF1c2UgdGVzdHMgZm9yIHBhcnRpdGlvbmVkIHRhYmxlcwogLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBTRVQgY2xpZW50X21p bl9tZXNzYWdlcyA9ICdFUlJPUic7CiBDUkVBVEUgVEFCTEUgdGVzdHB1Yl9yb290KGEgaW50KSBQ QVJUSVRJT04gQlkgUkFOR0UoYSk7CiBDUkVBVEUgVEFCTEUgdGVzdHB1Yl9wYXJ0MSBQQVJUSVRJ T04gT0YgdGVzdHB1Yl9yb290IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEwMCk7Ci1DUkVBVEUg UFVCTElDQVRJT04gdGVzdHB1YjggRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHVi X3Jvb3QpOworQ1JFQVRFIFBVQkxJQ0FUSU9OIHRlc3RwdWI4IEZPUiBBTEwgVEFCTEVTIEVYQ0VQ VCAoVEFCTEUgdGVzdHB1Yl9yb290KTsKIFxkUnArIHRlc3RwdWI4OwogXGQgdGVzdHB1Yl9wYXJ0 MQogXGQgdGVzdHB1Yl9yb290Ci1DUkVBVEUgUFVCTElDQVRJT04gdGVzdHB1YjkgRk9SIEFMTCBU QUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3BhcnQxKTsKK0NSRUFURSBQVUJMSUNBVElPTiB0 ZXN0cHViOSBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHRlc3RwdWJfcGFydDEpOwogCiBD UkVBVEUgVEFCTEUgdGFiX21haW4gKGEgaW50KSBQQVJUSVRJT04gQlkgUkFOR0UoYSk7CiAtLSBB dHRhY2hpbmcgYSBwYXJ0aXRpb24gaXMgbm90IGFsbG93ZWQgaWYgdGhlIHBhcnRpdGlvbmVkIHRh YmxlIGFwcGVhcnMgaW4gYQotLS0gcHVibGljYXRpb24ncyBFWENFUFQgVEFCTEUgY2xhdXNlLgor LS0gcHVibGljYXRpb24ncyBFWENFUFQgY2xhdXNlLgogQUxURVIgVEFCTEUgdGFiX21haW4gQVRU QUNIIFBBUlRJVElPTiB0ZXN0cHViX3Jvb3QgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMjAwKTsK IAogUkVTRVQgY2xpZW50X21pbl9tZXNzYWdlczsKQEAgLTEwMzcsNyArMTA0Miw3IEBAIFJFU0VU IGNsaWVudF9taW5fbWVzc2FnZXM7CiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViNSBPV05FUiBU TyByZWdyZXNzX3B1YmxpY2F0aW9uX3VzZXIzOwogU0VUIFJPTEUgcmVncmVzc19wdWJsaWNhdGlv bl91c2VyMzsKIC0tIGZhaWwgLSBTRVQgQUxMIFRBQkxFUy9TRVFVRU5DRVMgb24gYSBwdWJsaWNh dGlvbiByZXF1aXJlcyBzdXBlcnVzZXIgcHJpdmlsZWdlcwotQUxURVIgUFVCTElDQVRJT04gdGVz dHB1YjUgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0ZXN0cHViX3RibDEpOyAtLSBmYWls CitBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViNSBTRVQgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxF IHRlc3RwdWJfdGJsMSk7IC0tIGZhaWwKIEFMVEVSIFBVQkxJQ0FUSU9OIHRlc3RwdWI1IFNFVCBB TEwgVEFCTEVTOyAtLSBmYWlsCiBBTFRFUiBQVUJMSUNBVElPTiB0ZXN0cHViNSBTRVQgQUxMIFNF UVVFTkNFUzsgLS0gZmFpbAogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8w MzdfZXhjZXB0LnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM3X2V4Y2VwdC5wbAppbmRl eCAxM2I5OWVkYTI1OC4uOWUyNTMzYjQzZWUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3N1YnNjcmlw dGlvbi90LzAzN19leGNlcHQucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM3X2V4 Y2VwdC5wbApAQCAtMSw3ICsxLDcgQEAKIAogIyBDb3B5cmlnaHQgKGMpIDIwMjYsIFBvc3RncmVT UUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCiAKLSMgTG9naWNhbCByZXBsaWNhdGlvbiB0ZXN0 cyBmb3IgRVhDRVBUIFRBQkxFIHB1YmxpY2F0aW9ucworIyBMb2dpY2FsIHJlcGxpY2F0aW9uIHRl c3RzIGZvciBwdWJsaWNhdGlvbnMgd2l0aCBFWENFUFQgY2xhdXNlCiB1c2Ugc3RyaWN0OwogdXNl IHdhcm5pbmdzOwogdXNlIFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXI7CkBAIC0yNiwxMiArMjYs MTIgQEAgc3ViIHRlc3RfZXhjZXB0X3Jvb3RfcGFydGl0aW9uCiB7CiAJbXkgKCRwdWJ2aWFyb290 KSA9IEBfOwogCi0JIyBJZiB0aGUgcm9vdCBwYXJ0aXRpb25lZCB0YWJsZSBpcyBpbiB0aGUgRVhD RVBUIFRBQkxFIGNsYXVzZSwgYWxsIGl0cworCSMgSWYgdGhlIHJvb3QgcGFydGl0aW9uZWQgdGFi bGUgaXMgaW4gdGhlIEVYQ0VQVCBjbGF1c2UsIGFsbCBpdHMKIAkjIHBhcnRpdGlvbnMgYXJlIGV4 Y2x1ZGVkIGZyb20gcHVibGljYXRpb24sIHJlZ2FyZGxlc3Mgb2YgdGhlCiAJIyBwdWJsaXNoX3Zp YV9wYXJ0aXRpb25fcm9vdCBzZXR0aW5nLgogCSRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAog CQkncG9zdGdyZXMnLCBxcSgKLQkJQ1JFQVRFIFBVQkxJQ0FUSU9OIHRhcF9wdWJfcGFydCBGT1Ig QUxMIFRBQkxFUyBFWENFUFQgVEFCTEUgKHJvb3QxKSBXSVRIIChwdWJsaXNoX3ZpYV9wYXJ0aXRp b25fcm9vdCA9ICRwdWJ2aWFyb290KTsKKwkJQ1JFQVRFIFBVQkxJQ0FUSU9OIHRhcF9wdWJfcGFy dCBGT1IgQUxMIFRBQkxFUyBFWENFUFQgKFRBQkxFIHJvb3QxKSBXSVRIIChwdWJsaXNoX3ZpYV9w YXJ0aXRpb25fcm9vdCA9ICRwdWJ2aWFyb290KTsKIAkJSU5TRVJUIElOVE8gcm9vdDEgVkFMVUVT ICgxKSwgKDEwMSk7CiAJKSk7CiAJJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsCkBAIC00OCw3ICs0OCw3IEBAIHN1YiB0ZXN0X2V4Y2VwdF9yb290X3BhcnRpdGlvbgogCQki SU5TRVJUIElOVE8gcm9vdDEgVkFMVUVTICgyKSwgKDEwMikiKTsKIAogCSMgVmVyaWZ5IHRoYXQg ZGF0YSBpbnNlcnRlZCBpbnRvIHRoZSBwYXJ0aXRpb25lZCB0YWJsZSBpcyBub3QgcHVibGlzaGVk IHdoZW4KLQkjIGl0IGlzIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlLgorCSMgaXQgaXMgaW4g dGhlIEVYQ0VQVCBjbGF1c2UuCiAJJHJlc3VsdCA9ICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCiAJCSJTRUxFQ1QgY291bnQoKikgPSAwIEZST00gcGdfbG9naWNhbF9zbG90 X2dldF9iaW5hcnlfY2hhbmdlcygndGVzdF9zbG90JywgTlVMTCwgTlVMTCwgJ3Byb3RvX3ZlcnNp b24nLCAnMScsICdwdWJsaWNhdGlvbl9uYW1lcycsICd0YXBfcHViX3BhcnQnKSIKIAkpOwpAQCAt NjcsNyArNjcsNyBAQCBzdWIgdGVzdF9leGNlcHRfcm9vdF9wYXJ0aXRpb24KIH0KIAogIyA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotIyBFWENFUFQgVEFCTEUg dGVzdCBjYXNlcyBmb3Igbm9uLXBhcnRpdGlvbmVkIHRhYmxlcyBhbmQgaW5oZXJpdGVkIHRhYmxl cy4KKyMgRVhDRVBUIGNsYXVzZSB0ZXN0IGNhc2VzIGZvciBub24tcGFydGl0aW9uZWQgdGFibGVz IGFuZCBpbmhlcml0ZWQgdGFibGVzLgogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQogCiAjIENyZWF0ZSBzY2hlbWFzIGFuZCB0YWJsZXMgb24gcHVibGlzaGVy CkBAIC05Miw5ICs5Miw5IEBAICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgKIAogIyBFeGNs dWRlIHRhYjEgKG5vbi1pbmhlcml0YW5jZSBjYXNlKSwgYW5kIGFsc28gZXhjbHVkZSBwYXJlbnQg YW5kIE9OTFkgcGFyZW50MQogIyB0byB2ZXJpZnkgZXhjbHVzaW9uIGJlaGF2aW9yIGZvciBpbmhl cml0ZWQgdGFibGVzLCBpbmNsdWRpbmcgdGhlIGVmZmVjdCBvZgotIyBPTkxZIGluIHRoZSBFWENF UFQgVEFCTEUgY2xhdXNlLgorIyBPTkxZIGluIHRoZSBFWENFUFQgY2xhdXNlLgogJG5vZGVfcHVi bGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKLQkiQ1JFQVRFIFBVQkxJQ0FUSU9OIHRhYl9w dWIgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0YWIxLCBwYXJlbnQsIG9ubHkgcGFyZW50 MSkiCisJIkNSRUFURSBQVUJMSUNBVElPTiB0YWJfcHViIEZPUiBBTEwgVEFCTEVTIEVYQ0VQVCAo VEFCTEUgdGFiMSwgcGFyZW50LCBvbmx5IHBhcmVudDEpIgogKTsKIAogIyBDcmVhdGUgYSBsb2dp Y2FsIHJlcGxpY2F0aW9uIHNsb3QgdG8gaGVscCB3aXRoIGxhdGVyIHRlc3RzLgpAQCAtMTA4LDM4 ICsxMDgsMzcgQEAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAjIFdh aXQgZm9yIGluaXRpYWwgdGFibGUgc3luYyB0byBmaW5pc2gKICRub2RlX3N1YnNjcmliZXItPndh aXRfZm9yX3N1YnNjcmlwdGlvbl9zeW5jKCRub2RlX3B1Ymxpc2hlciwgJ3RhYl9zdWInKTsKIAot IyBDaGVjayB0aGUgdGFibGUgZGF0YSBkb2VzIG5vdCBzeW5jIGZvciB0aGUgdGFibGVzIHNwZWNp ZmllZCBpbiBFWENFUFQgVEFCTEUKLSMgY2xhdXNlLgorIyBDaGVjayB0aGUgdGFibGUgZGF0YSBk b2VzIG5vdCBzeW5jIGZvciB0aGUgdGFibGVzIHNwZWNpZmllZCBpbiBFWENFUFQgY2xhdXNlLgog JHJlc3VsdCA9CiAgICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VM RUNUIGNvdW50KCopIEZST00gdGFiMSIpOwogaXMoJHJlc3VsdCwgcXEoMCksCi0JJ2NoZWNrIHRo ZXJlIGlzIG5vIGluaXRpYWwgZGF0YSBjb3BpZWQgZm9yIHRoZSB0YWJsZXMgc3BlY2lmaWVkIGlu IHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlJworCSdjaGVjayB0aGVyZSBpcyBubyBpbml0aWFsIGRh dGEgY29waWVkIGZvciB0aGUgdGFibGVzIHNwZWNpZmllZCBpbiB0aGUgRVhDRVBUIGNsYXVzZScK ICk7CiAKLSMgSW5zZXJ0IHNvbWUgZGF0YSBpbnRvIHRoZSB0YWJsZSBsaXN0ZWQgaW4gdGhlIEVY Q0VQVCBUQUJMRSBjbGF1c2UKKyMgSW5zZXJ0IHNvbWUgZGF0YSBpbnRvIHRoZSB0YWJsZSBsaXN0 ZWQgaW4gdGhlIEVYQ0VQVCBjbGF1c2UKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAogCSdw b3N0Z3JlcycsIHFxKAogCUlOU0VSVCBJTlRPIHRhYjEgVkFMVUVTKGdlbmVyYXRlX3Nlcmllcygx MSwyMCkpOwogCUlOU0VSVCBJTlRPIGNoaWxkIFZBTFVFUyhnZW5lcmF0ZV9zZXJpZXMoMTEsMjAp LCBnZW5lcmF0ZV9zZXJpZXMoMTEsMjApKTsKICkpOwogCi0jIFZlcmlmeSB0aGF0IGRhdGEgaW5z ZXJ0ZWQgaW50byBhIHRhYmxlIGxpc3RlZCBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSBpcwor IyBWZXJpZnkgdGhhdCBkYXRhIGluc2VydGVkIGludG8gYSB0YWJsZSBsaXN0ZWQgaW4gdGhlIEVY Q0VQVCBjbGF1c2UgaXMKICMgbm90IHB1Ymxpc2hlZC4KICRyZXN1bHQgPSAkbm9kZV9wdWJsaXNo ZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJTRUxFQ1QgY291bnQoKikgPSAwIEZST00gcGdf bG9naWNhbF9zbG90X2dldF9iaW5hcnlfY2hhbmdlcygndGVzdF9zbG90JywgTlVMTCwgTlVMTCwg J3Byb3RvX3ZlcnNpb24nLCAnMScsICdwdWJsaWNhdGlvbl9uYW1lcycsICd0YWJfcHViJykiCiAp OwogaXMoJHJlc3VsdCwgcXEodCksCi0JJ3ZlcmlmeSBubyBjaGFuZ2VzIGZvciB0YWJsZSBsaXN0 ZWQgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2UgYXJlIHByZXNlbnQgaW4gdGhlIHJlcGxpY2F0 aW9uIHNsb3QnCisJJ3ZlcmlmeSBubyBjaGFuZ2VzIGZvciB0YWJsZSBsaXN0ZWQgaW4gdGhlIEVY Q0VQVCBjbGF1c2UgYXJlIHByZXNlbnQgaW4gdGhlIHJlcGxpY2F0aW9uIHNsb3QnCiApOwogCiAj IFRoaXMgc2hvdWxkIGJlIHB1Ymxpc2hlZCBiZWNhdXNlIE9OTFkgcGFyZW50MSB3YXMgc3BlY2lm aWVkIGluIHRoZQotIyBFWENFUFQgVEFCTEUgY2xhdXNlLCBzbyB0aGUgZXhjbHVzaW9uIGFwcGxp ZXMgb25seSB0byB0aGUgcGFyZW50IHRhYmxlIGFuZCBub3QKKyMgRVhDRVBUIGNsYXVzZSwgc28g dGhlIGV4Y2x1c2lvbiBhcHBsaWVzIG9ubHkgdG8gdGhlIHBhcmVudCB0YWJsZSBhbmQgbm90CiAj IHRvIGl0cyBjaGlsZC4KICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJ IklOU0VSVCBJTlRPIGNoaWxkMSBWQUxVRVMoZ2VuZXJhdGVfc2VyaWVzKDExLDIwKSwgZ2VuZXJh dGVfc2VyaWVzKDExLDIwKSkiCiApOwogCi0jIFZlcmlmeSB0aGF0IGRhdGEgaW5zZXJ0ZWQgaW50 byBhIHRhYmxlIGxpc3RlZCBpbiB0aGUgRVhDRVBUIFRBQkxFIGNsYXVzZSBpcworIyBWZXJpZnkg dGhhdCBkYXRhIGluc2VydGVkIGludG8gYSB0YWJsZSBsaXN0ZWQgaW4gdGhlIEVYQ0VQVCBjbGF1 c2UgaXMKICMgbm90IHJlcGxpY2F0ZWQuCiAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNo dXAoJ3RhYl9zdWInKTsKICRyZXN1bHQgPQpAQCAtMTU2LDkgKzE1NSw5IEBAICRub2RlX3B1Ymxp c2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIkNSRUFURSBUQUJMRSB0YWIyIEFTIFNFTEVD VCBnZW5lcmF0ZV9zZXJpZXMoMSwxMCkgQVMgYSIpOwogJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgVEFCTEUgdGFiMiAoYSBpbnQpIik7CiAKLSMgUmVwbGFj ZSB0aGUgRVhDRVBUIFRBQkxFIGxpc3Qgc28gdGhhdCBvbmx5IHRhYjIgaXMgZXhjbHVkZWQuCisj IFJlcGxhY2UgdGhlIHRhYmxlIGxpc3QgaW4gRVhDRVBUIGNsYXVzZSBzbyB0aGF0IG9ubHkgdGFi MiBpcyBleGNsdWRlZC4KICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCi0J IkFMVEVSIFBVQkxJQ0FUSU9OIHRhYl9wdWIgU0VUIEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0 YWIyKSIpOworCSJBTFRFUiBQVUJMSUNBVElPTiB0YWJfcHViIFNFVCBBTEwgVEFCTEVTIEVYQ0VQ VCAoVEFCTEUgdGFiMikiKTsKIAogIyBSZWZyZXNoIHRoZSBzdWJzY3JpcHRpb24gc28gdGhlIHN1 YnNjcmliZXIgcGlja3MgdXAgdGhlIHVwZGF0ZWQKICMgcHVibGljYXRpb24gZGVmaW5pdGlvbiBh bmQgaW5pdGlhdGVzIHRhYmxlIHN5bmNocm9uaXphdGlvbi4KQEAgLTE2OSwxOSArMTY4LDE5IEBA ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogJG5vZGVfc3Vic2NyaWJl ci0+d2FpdF9mb3Jfc3Vic2NyaXB0aW9uX3N5bmMoJG5vZGVfcHVibGlzaGVyLCAndGFiX3N1Yicp OwogCiAjIFZlcmlmeSB0aGF0IGluaXRpYWwgdGFibGUgc3luY2hyb25pemF0aW9uIGRvZXMgbm90 IG9jY3VyIGZvciB0YWJsZXMKLSMgbGlzdGVkIGluIHRoZSBFWENFUFQgVEFCTEUgY2xhdXNlLgor IyBsaXN0ZWQgaW4gdGhlIEVYQ0VQVCBjbGF1c2UuCiAkcmVzdWx0ID0KICAgJG5vZGVfc3Vic2Ny aWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSB0YWIyIik7 CiBpcygkcmVzdWx0LCBxcSgwKSwKLQknY2hlY2sgdGhlcmUgaXMgbm8gaW5pdGlhbCBkYXRhIGNv cGllZCBmb3IgdGhlIHRhYmxlcyBzcGVjaWZpZWQgaW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2Un CisJJ2NoZWNrIHRoZXJlIGlzIG5vIGluaXRpYWwgZGF0YSBjb3BpZWQgZm9yIHRoZSB0YWJsZXMg c3BlY2lmaWVkIGluIHRoZSBFWENFUFQgY2xhdXNlJwogKTsKIAogIyBWZXJpZnkgdGhhdCB0YWJs ZSBzeW5jaHJvbml6YXRpb24gbm93IGhhcHBlbnMgZm9yIHRhYjEuIFRhYmxlIHRhYjEgaXMKLSMg aW5jbHVkZWQgbm93IHNpbmNlIHRoZSBFWENFUFQgVEFCTEUgbGlzdCBpcyBvbmx5ICh0YWIyKS4K KyMgaW5jbHVkZWQgbm93IHNpbmNlIHRoZSB0YWJsZSBsaXN0IG9mIEVYQ0VQVCBjbGF1c2UgaXMg b25seSAodGFiMikuCiAkcmVzdWx0ID0KICAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSB0YWIxIik7CiBpcygkcmVzdWx0LCBxcSgy MCksCi0JJ2NoZWNrIHRoYXQgdGhlIGRhdGEgaXMgY29waWVkIGFzIHRoZSB0YWIxIGlzIHJlbW92 ZWQgZnJvbSBFWENFUFQgVEFCTEUgY2xhdXNlJworCSdjaGVjayB0aGF0IHRoZSBkYXRhIGlzIGNv cGllZCBhcyB0aGUgdGFiMSBpcyByZW1vdmVkIGZyb20gRVhDRVBUIGNsYXVzZScKICk7CiAKICMg Y2xlYW51cApAQCAtMTk5LDcgKzE5OCw3IEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAog KSk7CiAKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSMg RVhDRVBUIFRBQkxFIHRlc3QgY2FzZXMgZm9yIHBhcnRpdGlvbmVkIHRhYmxlcworIyBFWENFUFQg Y2xhdXNlIHRlc3QgY2FzZXMgZm9yIHBhcnRpdGlvbmVkIHRhYmxlcwogIyA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogIyBTZXR1cCBwYXJ0aXRpb25lZCB0YWJs ZSBhbmQgcGFydGl0aW9ucyBvbiB0aGUgcHVibGlzaGVyIHRoYXQgbWFwIHRvIG5vcm1hbAogIyB0 YWJsZXMgb24gdGhlIHN1YnNjcmliZXIuCkBAIC0yMjcsMTEgKzIyNiwxMSBAQCB0ZXN0X2V4Y2Vw dF9yb290X3BhcnRpdGlvbigndHJ1ZScpOwogIyBUZXN0IHdoZW4gYSBzdWJzY3JpcHRpb24gaXMg c3Vic2NyaWJpbmcgdG8gbXVsdGlwbGUgcHVibGljYXRpb25zCiAjID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLSMgT0sgd2hlbiBhIHRhYmxlIGlzIGV4Y2x1 ZGVkIGJ5IHB1YjEgRVhDRVBUIFRBQkxFLCBidXQgaXQgaXMgaW5jbHVkZWQgYnkgcHViMgorIyBP SyB3aGVuIGEgdGFibGUgaXMgZXhjbHVkZWQgYnkgcHViMSBFWENFUFQgY2xhdXNlLCBidXQgaXQg aXMgaW5jbHVkZWQgYnkgcHViMgogIyBGT1IgVEFCTEUuCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVf cHNxbCgKIAkncG9zdGdyZXMnLCBxcSgKLQlDUkVBVEUgUFVCTElDQVRJT04gdGFwX3B1YjEgRk9S IEFMTCBUQUJMRVMgRVhDRVBUIFRBQkxFICh0YWIxKTsKKwlDUkVBVEUgUFVCTElDQVRJT04gdGFw X3B1YjEgRk9SIEFMTCBUQUJMRVMgRVhDRVBUIChUQUJMRSB0YWIxKTsKIAlDUkVBVEUgUFVCTElD QVRJT04gdGFwX3B1YjIgRk9SIFRBQkxFIHRhYjE7CiAJSU5TRVJUIElOVE8gdGFiMSBWQUxVRVMo MSk7CiApKTsKQEAgLTI0Nyw3ICsyNDYsNyBAQCAkcmVzdWx0ID0KICAgJG5vZGVfcHVibGlzaGVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCAqIEZST00gdGFiMSBPUkRFUiBCWSBhIik7 CiBpcyggJHJlc3VsdCwgcXEoMQogMiksCi0JImNoZWNrIHJlcGxpY2F0aW9uIG9mIGEgdGFibGUg aW4gdGhlIEVYQ0VQVCBUQUJMRSBjbGF1c2Ugb2Ygb25lIHB1YmxpY2F0aW9uIGJ1dCBpbmNsdWRl ZCBieSBhbm90aGVyIgorCSJjaGVjayByZXBsaWNhdGlvbiBvZiBhIHRhYmxlIGluIHRoZSBFWENF UFQgY2xhdXNlIG9mIG9uZSBwdWJsaWNhdGlvbiBidXQgaW5jbHVkZWQgYnkgYW5vdGhlciIKICk7 CiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKIAkncG9zdGdyZXMnLCBxcSgKQEAgLTI1Niw3 ICsyNTUsNyBAQCAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKICkpOwogJG5vZGVfc3Vic2Ny aWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsIHFxKFRSVU5DQVRFIHRhYjEpKTsKIAotIyBPSyB3 aGVuIGEgdGFibGUgaXMgZXhjbHVkZWQgYnkgcHViMSBFWENFUFQgVEFCTEUsIGJ1dCBpdCBpcyBp bmNsdWRlZCBieSBwdWIyCisjIE9LIHdoZW4gYSB0YWJsZSBpcyBleGNsdWRlZCBieSBwdWIxIEVY Q0VQVCBjbGF1c2UsIGJ1dCBpdCBpcyBpbmNsdWRlZCBieSBwdWIyCiAjIEZPUiBBTEwgVEFCTEVT LgogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCiAJJ3Bvc3RncmVzJywgcXEoCkBAIC0yNzUs NyArMjc0LDcgQEAgJHJlc3VsdCA9CiAgICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsICJTRUxFQ1QgKiBGUk9NIHRhYjEgT1JERVIgQlkgYSIpOwogaXMoICRyZXN1bHQsIHFx KDEKIDIpLAotCSJjaGVjayByZXBsaWNhdGlvbiBvZiBhIHRhYmxlIGluIHRoZSBFWENFUFQgVEFC TEUgY2xhdXNlIG9mIG9uZSBwdWJsaWNhdGlvbiBidXQgaW5jbHVkZWQgYnkgYW5vdGhlciIKKwki Y2hlY2sgcmVwbGljYXRpb24gb2YgYSB0YWJsZSBpbiB0aGUgRVhDRVBUIGNsYXVzZSBvZiBvbmUg cHVibGljYXRpb24gYnV0IGluY2x1ZGVkIGJ5IGFub3RoZXIiCiApOwogCiAkbm9kZV9zdWJzY3Jp YmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJ0RST1AgU1VCU0NSSVBUSU9OIHRhcF9zdWInKTsK LS0gCjIuMzQuMQoK --00000000000035677b064e07a4b6--