From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Radon Rosborough Newsgroups: gmane.emacs.devel Subject: [PATCH] Fixing package-initialize, adding early init file Date: Mon, 18 Sep 2017 14:57:29 -0700 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="001a114a7e12adbe4e05597dd6d4" X-Trace: blaine.gmane.org 1505771907 2935 195.159.176.226 (18 Sep 2017 21:58:27 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 18 Sep 2017 21:58:27 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Sep 18 23:58:22 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1du43Z-0000SA-Vj for ged-emacs-devel@m.gmane.org; Mon, 18 Sep 2017 23:58:22 +0200 Original-Received: from localhost ([::1]:39085 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1du43h-0002rF-2G for ged-emacs-devel@m.gmane.org; Mon, 18 Sep 2017 17:58:29 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54860) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1du43T-0002oK-Jk for emacs-devel@gnu.org; Mon, 18 Sep 2017 17:58:16 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1du43S-0008C6-Ok for emacs-devel@gnu.org; Mon, 18 Sep 2017 17:58:15 -0400 Original-Received: from mail-lf0-x236.google.com ([2a00:1450:4010:c07::236]:43575) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1du43S-0008B4-6T for emacs-devel@gnu.org; Mon, 18 Sep 2017 17:58:14 -0400 Original-Received: by mail-lf0-x236.google.com with SMTP id c80so1934160lfh.0 for ; Mon, 18 Sep 2017 14:58:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=rS97ygfB1fp6KFQWrPksHKKMcTA/0BehJAgA7fnFY6I=; b=DKmeLFlIhfpHGfPrhYJqhOZKI4UtzN6jwbkZ4xmiqh/dm2bKClQtsQQwPbSIWi/O4w VM/ujCA4PQQWLhqUoGR6VIOBBIsISnnd7GsyzPbesOX5Gm+eHqBNMIZzZf2DI8BOC5on ulj2r+0mTbjt40KMQlSvcb6dW87WPQVcl7QJ7XROTq9gDTbV8vk2Wea3dnLafH5PAlPp Mhc8JXNz9VgM3aiaPA7MoOLfYYOAmL7rfS90bSinAsAYTOHLPBgbGkYh9j5WICMI+jme ELcNNq+JaGGGsUt1X3esv56BaJf+ZhDbFJSzfiS6rWLm1LVvJXG/GM9PjHVc3GnHpwHV jNIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=rS97ygfB1fp6KFQWrPksHKKMcTA/0BehJAgA7fnFY6I=; b=gzNyFW3novSZ/aIr3QBKJc7mzBFqf2Srp4SxpdKuxvGGMjnY8KX9kJXq0XO2U826KQ v1AEhs5/zRjgCvYIzy0PmG/Lz/H5WM16zQo2ZY9i+qa0wx7H03MPrDST3DT9mJWRW1ce 9iPPzApjpjTgES+u3rMRycT+rOvT8Hj4EVDKumm4IWaCBoyBvH8YNVtIZ9Kbqyz4dIyw DRl51/Xb0WPaBhqRla7+yNT1MmB1Xse4STVICNSKWJWReI9s3FEh+boBQVgA6a1Y7Oum ZSYaeUMRi5wbqgP162O51pgOSUYNeWiTxmGf9TQDhPMjULVyWvFcz08ihY2Zv4k9YFKm dGuQ== X-Gm-Message-State: AHPjjUgAWUnMqkiqPdCjMkA5ng7nl7sgy9fjGF0Rr2OC8QeCs9SzVpq5 yc/pGk7rv6I3/09+Oh7EswVvOAVx3IfYOmSJUYEVsJly X-Google-Smtp-Source: ADKCNb5FrVHvlRZg+8Jgccl68UA5fKHay5gUJp6E2Us4iehKUV1Vd1lCiJ7GEryrpaU6mkiIexppJ+029GaCK4r3ZBg= X-Received: by 10.46.5.15 with SMTP id 15mr12385670ljf.157.1505771891039; Mon, 18 Sep 2017 14:58:11 -0700 (PDT) Original-Received: by 10.25.22.76 with HTTP; Mon, 18 Sep 2017 14:57:29 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4010:c07::236 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:218496 Archived-At: --001a114a7e12adbe4e05597dd6d4 Content-Type: text/plain; charset="UTF-8" Hello all, Attached is a preliminary patch for fixing "the package-initialize problem" (see [1] [2] [3]) by adding an early init file. Feedback welcome. In particular, - do we want to try to factor out some common logic in loading the early init file versus the regular init file? - have I broken anything in moving the check for an invalid username earlier in startup.el? what about moving package-initialize earlier? - should `early-init-file' be defined in C? - did I miss any documentation fixes? - have I broken any style guidelines for the repository? Additional question: if we moved forward with this patch, would it make it into Emacs 26.1? Best, Radon Rosborough [1]: https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00154.html [2]: https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00433.html [3]: https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00023.html --001a114a7e12adbe4e05597dd6d4 Content-Type: application/octet-stream; name="0001-Add-early-init-file-stop-package-initialize-insertio.patch" Content-Disposition: attachment; filename="0001-Add-early-init-file-stop-package-initialize-insertio.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j7qpljig0 RnJvbSBkYzhmZjc1MDM3ZjkwOTM4ZjFkM2ViOTY3NmY2NzRhYWQ4NjhjMmRhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWRvbiBSb3Nib3JvdWdoIDxyYWRvbi5uZW9uQGdtYWlsLmNv bT4KRGF0ZTogU3VuLCAxNyBTZXAgMjAxNyAyMjoxNzoxNyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hd IEFkZCBlYXJseSBpbml0IGZpbGUsIHN0b3AgcGFja2FnZS1pbml0aWFsaXplIGluc2VydGlvbgoK KiBzcmMvbHJlYWQuYyAoVmVhcmx5X2luaXRfZmlsZSk6IE5ldyB2YXJpYWJsZSwgZm9yIHRoZSBm aWxlbmFtZSBvZgogIHRoZSBlYXJseSBpbml0IGZpbGUgdGhhdCB3YXMgbG9hZGVkLgoKKiBsaXNw L3N0YXJ0dXAuZWw6IExvYWQgdGhlIGVhcmx5IGluaXQgZmlsZSwgaWYgaXQgaXMgZm91bmQuIE1v dmUgdGhlCiAgY2hlY2sgZm9yIGFuIGludmFsaWQgdXNlcm5hbWUgdG8ganVzdCBiZWZvcmUgdGhh dCwgYW5kIG1vdmUgdGhlCiAgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHBhY2thZ2Ugc3lzdGVtIHRv IGp1c3QgYWZ0ZXIuCgoqIGxpc3AvZW1hY3MtbGlzcC9wYWNrYWdlLmVsIChwYWNrYWdlLS1lbnN1 cmUtaW5pdC1maWxlKTogUmVtb3ZlLiBCdXJuCiAgd2l0aCBmaXJlLiBSZW1vdmUgcmVsYXRlZCBj b2RlIGFuZCBkb2N1bWVudGF0aW9uLgoKKiBkb2MvbGlzcHJlZi9vcy50ZXhpOiBEb2N1bWVudCBl YXJseSBpbml0IGZpbGUuCgoqIGRvYy9saXNwcmVmL3BhY2thZ2UudGV4aTogRG9jdW1lbnQgY2hh bmdlcyB0byB3aGVuCiAgcGFja2FnZS1pbml0aWFsaXplIGlzIGNhbGxlZCwgYW5kIGFkdmlzZSBh Z2FpbnN0IGNhbGxpbmcgaXQgaW4gdGhlCiAgaW5pdCBmaWxlLgoKKiBkb2MvZW1hY3MvcGFja2Fn ZS50ZXhpOiBEb2N1bWVudCBjaGFuZ2VzIHRvIHdoZW4gcGFja2FnZS1pbml0aWFsaXplCiAgaXMg Y2FsbGVkLgoKKiBkb2MvbWlzYy9vcmcudGV4aTogRG9uJ3QgcmVjb21tZW5kIHRvIGNhbGwgcGFj a2FnZS1pbml0aWFsaXplIGluIHRoZQogIGluaXQgZmlsZS4KCiogZXRjL05FV1M6IERvY3VtZW50 IGNoYW5nZXMgdG8gc3RhcnR1cCBhbmQgcGFja2FnZS5lbC4KCkRpc2N1c3Npb24gb24gZW1hY3Mt ZGV2ZWwgbGVhZGluZyB1cCB0byB0aGlzIGNoYW5nZSAoYXBwcm94aW1hdGVseSAxNTAKbWVzc2Fn ZXMpOgoKLSBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2VtYWNzLWRldmVsLzIw MTctMDgvbXNnMDAxNTQuaHRtbAotIGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwv ZW1hY3MtZGV2ZWwvMjAxNy0wOC9tc2cwMDQzMy5odG1sCi0gaHR0cHM6Ly9saXN0cy5nbnUub3Jn L2FyY2hpdmUvaHRtbC9lbWFjcy1kZXZlbC8yMDE3LTA5L21zZzAwMDIzLmh0bWwKLS0tCiBkb2Mv ZW1hY3MvcGFja2FnZS50ZXhpICAgICB8ICAyOCArKy0tLS0tCiBkb2MvbGlzcHJlZi9vcy50ZXhp ICAgICAgICB8ICAxNCArKysrCiBkb2MvbGlzcHJlZi9wYWNrYWdlLnRleGkgICB8ICAxNiArKyst CiBkb2MvbWlzYy9vcmcudGV4aSAgICAgICAgICB8ICAgNCArLQogZXRjL05FV1MgICAgICAgICAg ICAgICAgICAgfCAgMTggKysrKwogbGlzcC9lbWFjcy1saXNwL3BhY2thZ2UuZWwgfCAgNzEgKy0t LS0tLS0tLS0tLS0tLQogbGlzcC9zdGFydHVwLmVsICAgICAgICAgICAgfCAyMDQgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiBzcmMvbHJlYWQuYyAgICAgICAg ICAgICAgICB8ICAgOSArKwogOCBmaWxlcyBjaGFuZ2VkLCAyMTIgaW5zZXJ0aW9ucygrKSwgMTUy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9lbWFjcy9wYWNrYWdlLnRleGkgYi9kb2Mv ZW1hY3MvcGFja2FnZS50ZXhpCmluZGV4IDIxNWY1MGNiNDAuLmJkN2NjY2NlNmMgMTAwNjQ0Ci0t LSBhL2RvYy9lbWFjcy9wYWNrYWdlLnRleGkKKysrIGIvZG9jL2VtYWNzL3BhY2thZ2UudGV4aQpA QCAtMjUzLDMwICsyNTMsMTYgQEAgUGFja2FnZSBJbnN0YWxsYXRpb24KIGNvbnN1bHQgdGhlIHBh Y2thZ2UncyBoZWxwIGJ1ZmZlci4KIAogICBCeSBkZWZhdWx0LCBFbWFjcyBhbHNvIGF1dG9tYXRp Y2FsbHkgbG9hZHMgYWxsIGluc3RhbGxlZCBwYWNrYWdlcyBpbgotc3Vic2VxdWVudCBFbWFjcyBz ZXNzaW9ucy4gIFRoaXMgaGFwcGVucyBhdCBzdGFydHVwLCBhZnRlciBwcm9jZXNzaW5nCi10aGUg aW5pdCBmaWxlIChAcHhyZWZ7SW5pdCBGaWxlfSkuICBBcyBhbiBleGNlcHRpb24sIEVtYWNzIGRv ZXMgbm90Ci1sb2FkIHBhY2thZ2VzIGF0IHN0YXJ0dXAgaWYgaW52b2tlZCB3aXRoIHRoZSBAc2Ft cHstcX0gb3IKLUBzYW1wey0tbm8taW5pdC1maWxlfSBvcHRpb25zIChAcHhyZWZ7SW5pdGlhbCBP cHRpb25zfSkuCitzdWJzZXF1ZW50IEVtYWNzIHNlc3Npb25zLiAgVGhpcyBoYXBwZW5zIGF0IHN0 YXJ0dXAsIGJlZm9yZSBwcm9jZXNzaW5nCit0aGUgaW5pdCBmaWxlIGJ1dCBhZnRlciBwcm9jZXNz aW5nIHRoZSBlYXJseSBpbml0IGZpbGUgKEBweHJlZntFYXJseQorSW5pdCBGaWxlLCwsIGVsaXNw LCBUaGUgRW1hY3MgTGlzcCBSZWZlcmVuY2UgTWFudWFsfSkuICBBcyBhbgorZXhjZXB0aW9uLCBF bWFjcyBkb2VzIG5vdCBsb2FkIHBhY2thZ2VzIGF0IHN0YXJ0dXAgaWYgaW52b2tlZCB3aXRoIHRo ZQorQHNhbXB7LXF9IG9yIEBzYW1wey0tbm8taW5pdC1maWxlfSBvcHRpb25zIChAeHJlZntJbml0 aWFsIE9wdGlvbnN9KS4KIAogQHZpbmRleCBwYWNrYWdlLWVuYWJsZS1hdC1zdGFydHVwCiAgIFRv IGRpc2FibGUgYXV0b21hdGljIHBhY2thZ2UgbG9hZGluZywgY2hhbmdlIHRoZSB2YXJpYWJsZQot QGNvZGV7cGFja2FnZS1lbmFibGUtYXQtc3RhcnR1cH0gdG8gQGNvZGV7bmlsfS4KLQotQGZpbmRl eCBwYWNrYWdlLWluaXRpYWxpemUKLSAgVGhlIHJlYXNvbiBhdXRvbWF0aWMgcGFja2FnZSBsb2Fk aW5nIG9jY3VycyBhZnRlciBsb2FkaW5nIHRoZSBpbml0Ci1maWxlIGlzIHRoYXQgdXNlciBvcHRp b25zIG9ubHkgcmVjZWl2ZSB0aGVpciBjdXN0b21pemVkIHZhbHVlcyBhZnRlcgotbG9hZGluZyB0 aGUgaW5pdCBmaWxlLCBpbmNsdWRpbmcgdXNlciBvcHRpb25zIHdoaWNoIGFmZmVjdCB0aGUKLXBh Y2thZ2luZyBzeXN0ZW0uICBJbiBzb21lIGNpcmN1bXN0YW5jZXMsIHlvdSBtYXkgd2FudCB0byBs b2FkCi1wYWNrYWdlcyBleHBsaWNpdGx5IGluIHlvdXIgaW5pdCBmaWxlICh1c3VhbGx5IGJlY2F1 c2Ugc29tZSBvdGhlciBjb2RlCi1pbiB5b3VyIGluaXQgZmlsZSBkZXBlbmRzIG9uIGEgcGFja2Fn ZSkuICBJbiB0aGF0IGNhc2UsIHlvdXIgaW5pdCBmaWxlCi1zaG91bGQgY2FsbCB0aGUgZnVuY3Rp b24gQGNvZGV7cGFja2FnZS1pbml0aWFsaXplfS4gIEl0IGlzIHVwIHRvIHlvdQotdG8gZW5zdXJl IHRoYXQgcmVsZXZhbnQgdXNlciBvcHRpb25zLCBzdWNoIGFzIEBjb2Rle3BhY2thZ2UtbG9hZC1s aXN0fQotKHNlZSBiZWxvdyksIGFyZSBzZXQgdXAgcHJpb3IgdG8gdGhlIEBjb2Rle3BhY2thZ2Ut aW5pdGlhbGl6ZX0gY2FsbC4KLVRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IHNldCBAY29kZXtwYWNr YWdlLWVuYWJsZS1hdC1zdGFydHVwfSB0byBAY29kZXtuaWx9LCB0bwotYXZvaWQgbG9hZGluZyB0 aGUgcGFja2FnZXMgYWdhaW4gYWZ0ZXIgcHJvY2Vzc2luZyB0aGUgaW5pdCBmaWxlLgotQWx0ZXJu YXRpdmVseSwgeW91IG1heSBjaG9vc2UgdG8gY29tcGxldGVseSBpbmhpYml0IHBhY2thZ2UgbG9h ZGluZyBhdAotc3RhcnR1cCwgYW5kIGludm9rZSB0aGUgY29tbWFuZCBAa2Jke00teCBwYWNrYWdl LWluaXRpYWxpemV9IHRvIGxvYWQKLXlvdXIgcGFja2FnZXMgbWFudWFsbHkuCitAY29kZXtwYWNr YWdlLWVuYWJsZS1hdC1zdGFydHVwfSB0byBAY29kZXtuaWx9LiAgWW91IG11c3QgZG8gdGhpcyBp bgordGhlIGVhcmx5IGluaXQgZmlsZS4gIEN1cnJlbnRseSBpdCBjYW5ub3QgYmUgZG9uZSB2aWEg Q3VzdG9taXplLgogCiBAdmluZGV4IHBhY2thZ2UtbG9hZC1saXN0CiAgIEZvciBmaW5lciBjb250 cm9sIG92ZXIgcGFja2FnZSBsb2FkaW5nLCB5b3UgY2FuIHVzZSB0aGUgdmFyaWFibGUKZGlmZiAt LWdpdCBhL2RvYy9saXNwcmVmL29zLnRleGkgYi9kb2MvbGlzcHJlZi9vcy50ZXhpCmluZGV4IDQ0 MWZkYTVkODIuLjA2MmFhMjgyMjIgMTAwNjQ0Ci0tLSBhL2RvYy9saXNwcmVmL29zLnRleGkKKysr IGIvZG9jL2xpc3ByZWYvb3MudGV4aQpAQCAtMzYxLDYgKzM2MSw3IEBAIEluaXQgRmlsZQogQGNp bmRleCBpbml0IGZpbGUKIEBjaW5kZXggQGZpbGV7LmVtYWNzfQogQGNpbmRleCBAZmlsZXtpbml0 LmVsfQorQGNpbmRleCBAZmlsZXtlYXJseS1pbml0LmVsfQogCiAgIFdoZW4geW91IHN0YXJ0IEVt YWNzLCBpdCBub3JtYWxseSBhdHRlbXB0cyB0byBsb2FkIHlvdXIgQGRmbntpbml0CiBmaWxlfS4g IFRoaXMgaXMgZWl0aGVyIGEgZmlsZSBuYW1lZCBAZmlsZXsuZW1hY3N9IG9yIEBmaWxley5lbWFj cy5lbH0KQEAgLTM4NCw2ICszODUsMTkgQEAgSW5pdCBGaWxlCiBmaWxlLiAgSWYgdGhvc2UgZW52 aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBhYnNlbnQsIHRob3VnaCwgRW1hY3MgdXNlcwogeW91ciB1 c2VyLWlkIHRvIGZpbmQgeW91ciBob21lIGRpcmVjdG9yeS4KIAorQGNpbmRleCBlYXJseSBpbml0 IGZpbGUKKyAgRW1hY3MgYWxzbyBhdHRlbXB0cyB0byBsb2FkIGEgc2Vjb25kIGluaXQgZmlsZSwg Y2FsbGVkIHRoZQorICBAZGZue2Vhcmx5IGluaXQgZmlsZX0sIGlmIGl0IGV4aXN0cy4gIFRoaXMg aXMgYSBmaWxlIG5hbWVkCisgIEBmaWxle2Vhcmx5LWluaXQuZWx9IGluIGEgc3ViZGlyZWN0b3J5 IG5hbWVkIEBmaWxley5lbWFjcy5kfSBpbiB5b3VyCisgIGhvbWUgZGlyZWN0b3J5LiAgVGhlIGRp ZmZlcmVuY2UgaXMgdGhhdCB0aGUgZWFybHkgaW5pdCBmaWxlIGlzCisgIGxvYWRlZCBtdWNoIGVh cmxpZXIgZHVyaW5nIHRoZSBzdGFydHVwIHByb2Nlc3MsIHNvIHlvdSBjYW4gdXNlIGl0IHRvCisg IGN1c3RvbWl6ZSBzb21lIHRoaW5ncyB0aGF0IGFyZSBpbml0aWFsaXplZCBiZWZvcmUgbG9hZGlu ZyB0aGUKKyAgcmVndWxhciBpbml0IGZpbGUuICBGb3IgZXhhbXBsZSwgaGVyZSB5b3UgY2FuIGN1 c3RvbWl6ZSB0aGUgcHJvY2VzcworICBvZiBsb2FkaW5nIGluc3RhbGxlZCBwYWNrYWdlcywgYnkg c2V0dGluZyB2YXJpYWJsZXMgc3VjaCBhcworICBAdmFye3BhY2thZ2UtbG9hZC1saXN0fSBvcgor ICBAdmFye3BhY2thZ2UtZW5hYmxlLWF0LXN0YXJ0dXB9LiBAeHJlZntQYWNrYWdlIEluc3RhbGxh dGlvbiwsLAorICBlbWFjcyxUaGUgR05VIEVtYWNzIE1hbnVhbH0uCisKIEBjaW5kZXggZGVmYXVs dCBpbml0IGZpbGUKICAgQW4gRW1hY3MgaW5zdGFsbGF0aW9uIG1heSBoYXZlIGEgQGRmbntkZWZh dWx0IGluaXQgZmlsZX0sIHdoaWNoIGlzIGEKIExpc3AgbGlicmFyeSBuYW1lZCBAZmlsZXtkZWZh dWx0LmVsfS4gIEVtYWNzIGZpbmRzIHRoaXMgZmlsZSB0aHJvdWdoCmRpZmYgLS1naXQgYS9kb2Mv bGlzcHJlZi9wYWNrYWdlLnRleGkgYi9kb2MvbGlzcHJlZi9wYWNrYWdlLnRleGkKaW5kZXggMTUz ZWU0ODc0MS4uMmU5M2YyOWJkMiAxMDA2NDQKLS0tIGEvZG9jL2xpc3ByZWYvcGFja2FnZS50ZXhp CisrKyBiL2RvYy9saXNwcmVmL3BhY2thZ2UudGV4aQpAQCAtMTA2LDEwICsxMDYsMTIgQEAgUGFj a2FnaW5nIEJhc2ljcwogCiAgIFdoZW5ldmVyIEVtYWNzIHN0YXJ0cyB1cCwgaXQgYXV0b21hdGlj YWxseSBjYWxscyB0aGUgZnVuY3Rpb24KIEBjb2Rle3BhY2thZ2UtaW5pdGlhbGl6ZX0gdG8gbG9h ZCBpbnN0YWxsZWQgcGFja2FnZXMuICBUaGlzIGlzIGRvbmUKLWFmdGVyIGxvYWRpbmcgdGhlIGlu aXQgZmlsZSBhbmQgYWJicmV2IGZpbGUgKGlmIGFueSkgYW5kIGJlZm9yZQotcnVubmluZyBAY29k ZXthZnRlci1pbml0LWhvb2t9IChAcHhyZWZ7U3RhcnR1cCBTdW1tYXJ5fSkuICBBdXRvbWF0aWMK LXBhY2thZ2UgbG9hZGluZyBpcyBkaXNhYmxlZCBpZiB0aGUgdXNlciBvcHRpb24KLUBjb2Rle3Bh Y2thZ2UtZW5hYmxlLWF0LXN0YXJ0dXB9IGlzIEBjb2Rle25pbH0uCithZnRlciBsb2FkaW5nIHRo ZSBlYXJseSBpbml0IGZpbGUsIGJ1dCBiZWZvcmUgbG9hZGluZyB0aGUgZWFybHkgaW5pdAorZmls ZSBhbmQgYWJicmV2IGZpbGUgKGlmIGFueSkgYW5kIGJlZm9yZSBydW5uaW5nCitAY29kZXthZnRl ci1pbml0LWhvb2t9IChAcHhyZWZ7U3RhcnR1cCBTdW1tYXJ5fSkuICBBdXRvbWF0aWMgcGFja2Fn ZQorbG9hZGluZyBpcyBkaXNhYmxlZCBpZiB0aGUgdXNlciBvcHRpb24KK0Bjb2Rle3BhY2thZ2Ut ZW5hYmxlLWF0LXN0YXJ0dXB9IGlzIEBjb2Rle25pbH0uICAoT2YgY291cnNlLCB0aGUKK3NldHRp bmcgb2YgdGhpcyB1c2VyIG9wdGlvbiBtdXN0IGJlIGRvbmUgaW4gdGhlIGVhcmx5IGluaXQgZmls ZS4pCiAKIEBkZWZmbiBDb21tYW5kIHBhY2thZ2UtaW5pdGlhbGl6ZSAmb3B0aW9uYWwgbm8tYWN0 aXZhdGUKIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgRW1hY3MnIGludGVybmFsIHJlY29yZCBv ZiB3aGljaCBwYWNrYWdlcyBhcmUKQEAgLTEyMyw2ICsxMjUsMTIgQEAgUGFja2FnaW5nIEJhc2lj cwogVGhlIG9wdGlvbmFsIGFyZ3VtZW50IEB2YXJ7bm8tYWN0aXZhdGV9LCBpZiBub24tQGNvZGV7 bmlsfSwgY2F1c2VzCiBFbWFjcyB0byB1cGRhdGUgaXRzIHJlY29yZCBvZiBpbnN0YWxsZWQgcGFj a2FnZXMgd2l0aG91dCBhY3R1YWxseQogbG9hZGluZyB0aGVtOyBpdCBpcyBmb3IgaW50ZXJuYWwg dXNlIG9ubHkuCisKK0luIG1vc3QgY2FzZXMsIHlvdSBzaG91bGQgbm90IG5lZWQgdG8gY2FsbCBA Y29kZXtwYWNrYWdlLWluaXRpYWxpemV9LAorYXMgdGhpcyBpcyBkb25lIGF1dG9tYXRpY2FsbHkg ZHVyaW5nIHN0YXJ0dXAuICBTaW1wbHkgbWFrZSBzdXJlIHRvIHB1dAorYW55IGNvZGUgdGhhdCBz aG91bGQgcnVuIGJlZm9yZSBAY29kZXtwYWNrYWdlLWluaXRpYWxpemV9IGluIHRoZSBlYXJseQor aW5pdCBmaWxlLCBhbmQgYW55IGNvZGUgdGhhdCBzaG91bGQgcnVuIGFmdGVyIGluIHRoZSBwcmlt YXJ5IGluaXQKK2ZpbGUgKEB4cmVme0luaXQgRmlsZSwsLCBlbWFjcywgVGhlIEdOVSBFbWFjcyBN YW51YWx9KS4KIEBlbmQgZGVmZm4KIAogQG5vZGUgU2ltcGxlIFBhY2thZ2VzCmRpZmYgLS1naXQg YS9kb2MvbWlzYy9vcmcudGV4aSBiL2RvYy9taXNjL29yZy50ZXhpCmluZGV4IGNhNTc1MDFmM2Qu LmM0ODdkNDNhMTMgMTAwNjQ0Ci0tLSBhL2RvYy9taXNjL29yZy50ZXhpCisrKyBiL2RvYy9taXNj L29yZy50ZXhpCkBAIC04OTEsOSArODkxLDcgQEAgSW5zdGFsbGF0aW9uCiBiZWVuIHZpc2l0ZWQs IGkuZS4sIHdoZXJlIG5vIE9yZyBidWlsdC1pbiBmdW5jdGlvbiBoYXZlIGJlZW4gbG9hZGVkLgog T3RoZXJ3aXNlIGF1dG9sb2FkIE9yZyBmdW5jdGlvbnMgd2lsbCBtZXNzIHVwIHRoZSBpbnN0YWxs YXRpb24uCiAKLVRoZW4sIHRvIG1ha2Ugc3VyZSB5b3VyIE9yZyBjb25maWd1cmF0aW9uIGlzIHRh a2VuIGludG8gYWNjb3VudCwgaW5pdGlhbGl6ZQotdGhlIHBhY2thZ2Ugc3lzdGVtIHdpdGggQGNv ZGV7KHBhY2thZ2UtaW5pdGlhbGl6ZSl9IGluIHlvdXIgRW1hY3MgaW5pdCBmaWxlCi1iZWZvcmUg c2V0dGluZyBhbnkgT3JnIG9wdGlvbi4gIElmIHlvdSB3YW50IHRvIHVzZSBPcmcncyBwYWNrYWdl IHJlcG9zaXRvcnksCitJZiB5b3Ugd2FudCB0byB1c2UgT3JnJ3MgcGFja2FnZSByZXBvc2l0b3J5 LAogY2hlY2sgb3V0IHRoZSBAdXJlZntodHRwOi8vb3JnbW9kZS5vcmcvZWxwYS5odG1sLCBPcmcg RUxQQSBwYWdlfS4KIAogQHN1YnN1YmhlYWRpbmcgRG93bmxvYWRpbmcgT3JnIGFzIGFuIGFyY2hp dmUKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05FV1MKaW5kZXggMzcxY2RmNjg2Yy4uODA2 Nzg1NTFjNyAxMDA2NDQKLS0tIGEvZXRjL05FV1MKKysrIGIvZXRjL05FV1MKQEAgLTI4LDYgKzI4 LDI0IEBAIFdoZW4geW91IGFkZCBhIG5ldyBpdGVtLCB1c2UgdGhlIGFwcHJvcHJpYXRlIG1hcmsg aWYgeW91IGFyZSBzdXJlIGl0IGFwcGxpZXMsCiAMCiAqIFN0YXJ0dXAgQ2hhbmdlcyBpbiBFbWFj cyAyNy4xCiAKKysrKworKiogRW1hY3MgY2FuIG5vdyBiZSBjb25maWd1cmVkIHVzaW5nIGFuIGVh cmx5IGluaXQgZmlsZS4KK1RoZSBmaWxlIGlzIGNhbGxlZCBlYXJseS1pbml0LmVsLCBpbiBgdXNl ci1lbWFjcy1kaXJlY3RvcnknLiAgSXQgaXMKK2xvYWRlZCB2ZXJ5IGVhcmx5IGluIHRoZSBzdGFy dHVwIHByb2Nlc3M6IGluIHBhcnRpY3VsYXIsIGJlZm9yZQorZ3JhcGhpY2FsIGVsZW1lbnRzIHN1 Y2ggYXMgdGhlIHRvb2wgYmFyIGFyZSBpbml0aWFsaXplZCwgYW5kIGJlZm9yZQordGhlIHBhY2th Z2UgbWFuYWdlciBpcyBpbml0aWFsaXplZC4KKworKysrCisqKiBFbWFjcyBub3cgaW5pdGlhbGl6 ZXMgcGFja2FnZS5lbCBiZWZvcmUgbG9hZGluZyB0aGUgaW5pdC1maWxlLgorVGhpcyBpcyBwYXJ0 IG9mIGEgY2hhbmdlIGludGVuZGVkIHRvIGVsaW1pbmF0ZSB0aGUgYmVoYXZpb3Igb2YKK3BhY2th Z2UuZWwgaW5zZXJ0aW5nIGEgY2FsbCB0byAocGFja2FnZS1pbml0aWFsaXplKSBpbnRvIHRoZQor aW5pdC1maWxlLCB3aGljaCB3YXMgcHJldmlvdXNseSBkb25lIHdoZW4gRW1hY3Mgd2FzIHN0YXJ0 ZWQuICBVc2Vycword2hvIGRvIG5vdCBjb25maWd1cmUgcGFja2FnZS5lbCB2YXJpYWJsZXMgc3Vj aCBhcyBgcGFja2FnZS1sb2FkLWxpc3QnCithbmQgYHBhY2thZ2UtdXNlci1kaXInIG5lZWQgbm90 IG1ha2UgYW55IGNvbmZpZ3VyYXRpb24gY2hhbmdlcy4gIFVzZXJzCit3aG8gZG8gY29uZmlndXJl IHN1Y2ggdmFyaWFibGVzIHNob3VsZCBwbGFjZSB0aGUgY29uZmlndXJhdGlvbiBpbnRvCit0aGUg bmV3bHkgaW50cm9kdWNlZCBlYXJseSBpbml0IGZpbGUsIHdoaWNoIGlzIGxvYWRlZCBiZWZvcmUK K3BhY2thZ2UuZWwgaXMgaW5pdGlhbGl6ZWQuCisKIAwKICogQ2hhbmdlcyBpbiBFbWFjcyAyNy4x CiAKZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9wYWNrYWdlLmVsIGIvbGlzcC9lbWFjcy1s aXNwL3BhY2thZ2UuZWwKaW5kZXggOGIxMDFjMTMyMy4uMzA1NDUzYTRiYSAxMDA2NDQKLS0tIGEv bGlzcC9lbWFjcy1saXNwL3BhY2thZ2UuZWwKKysrIGIvbGlzcC9lbWFjcy1saXNwL3BhY2thZ2Uu ZWwKQEAgLTE0MzYsMTYgKzE0MzYsMTEgQEAgcGFja2FnZS1yZWFkLWFsbC1hcmNoaXZlLWNvbnRl bnRzCiA7OyBhdmFpbGFibGUgb24gZGlzay4KIChkZWZ2YXIgcGFja2FnZS0taW5pdGlhbGl6ZWQg bmlsKQogCi0oZGVmdmFyIHBhY2thZ2UtLWluaXQtZmlsZS1lbnN1cmVkIG5pbAotICAiV2hldGhl ciB3ZSBrbm93IHRoZSBpbml0IGZpbGUgaGFzIHBhY2thZ2UtaW5pdGlhbGl6ZS4iKQotCiA7Ozsj IyNhdXRvbG9hZAogKGRlZnVuIHBhY2thZ2UtaW5pdGlhbGl6ZSAoJm9wdGlvbmFsIG5vLWFjdGl2 YXRlKQogICAiTG9hZCBFbWFjcyBMaXNwIHBhY2thZ2VzLCBhbmQgYWN0aXZhdGUgdGhlbS4KIFRo ZSB2YXJpYWJsZSBgcGFja2FnZS1sb2FkLWxpc3QnIGNvbnRyb2xzIHdoaWNoIHBhY2thZ2VzIHRv IGxvYWQuCiBJZiBvcHRpb25hbCBhcmcgTk8tQUNUSVZBVEUgaXMgbm9uLW5pbCwgZG9uJ3QgYWN0 aXZhdGUgcGFja2FnZXMuCi1JZiBgdXNlci1pbml0LWZpbGUnIGRvZXMgbm90IG1lbnRpb24gYChw YWNrYWdlLWluaXRpYWxpemUpJywgYWRkCi1pdCB0byB0aGUgZmlsZS4KIElmIGNhbGxlZCBhcyBw YXJ0IG9mIGxvYWRpbmcgYHVzZXItaW5pdC1maWxlJywgc2V0CiBgcGFja2FnZS1lbmFibGUtYXQt c3RhcnR1cCcgdG8gbmlsLCB0byBwcmV2ZW50IGFjY2lkZW50YWxseQogbG9hZGluZyBwYWNrYWdl cyB0d2ljZS4KQEAgLTE0NTQsMTMgKzE0NDksNyBAQCBwYWNrYWdlLWluaXRpYWxpemUKIHRha2Vu IGNhcmUgb2YgYnkgYHBhY2thZ2UtaW5pdGlhbGl6ZScuIgogICAoaW50ZXJhY3RpdmUpCiAgIChz ZXRxIHBhY2thZ2UtYWxpc3QgbmlsKQotICAoaWYgYWZ0ZXItaW5pdC10aW1lCi0gICAgICAocGFj a2FnZS0tZW5zdXJlLWluaXQtZmlsZSkKLSAgICA7OyBJZiBgcGFja2FnZS1pbml0aWFsaXplJyBp cyBiZWZvcmUgd2UgZmluaXNoZWQgbG9hZGluZyB0aGUgaW5pdAotICAgIDs7IGZpbGUsIGl0J3Mg b2J2aW91cyB3ZSBkb24ndCBuZWVkIHRvIGVuc3VyZS1pbml0LgotICAgIChzZXRxIHBhY2thZ2Ut LWluaXQtZmlsZS1lbnN1cmVkIHQKLSAgICAgICAgICA7OyBBbmQgbGlrZWx5IHdlIGRvbid0IG5l ZWQgdG8gcnVuIGl0IGFnYWluIGFmdGVyIGluaXQuCi0gICAgICAgICAgcGFja2FnZS1lbmFibGUt YXQtc3RhcnR1cCBuaWwpKQorICAoc2V0cSBwYWNrYWdlLWVuYWJsZS1hdC1zdGFydHVwIG5pbCkK ICAgKHBhY2thZ2UtbG9hZC1hbGwtZGVzY3JpcHRvcnMpCiAgIChwYWNrYWdlLXJlYWQtYWxsLWFy Y2hpdmUtY29udGVudHMpCiAgICh1bmxlc3Mgbm8tYWN0aXZhdGUKQEAgLTE4NzcsNjQgKzE4NjYs NiBAQCBwYWNrYWdlLWRvd25sb2FkLXRyYW5zYWN0aW9uCiB1c2luZyBgcGFja2FnZS1jb21wdXRl LXRyYW5zYWN0aW9uJy4iCiAgIChtYXBjICMncGFja2FnZS1pbnN0YWxsLWZyb20tYXJjaGl2ZSBw YWNrYWdlcykpCiAKLShkZWZ1biBwYWNrYWdlLS1lbnN1cmUtaW5pdC1maWxlICgpCi0gICJFbnN1 cmUgdGhhdCB0aGUgdXNlcidzIGluaXQgZmlsZSBoYXMgYHBhY2thZ2UtaW5pdGlhbGl6ZScuCi1g cGFja2FnZS1pbml0aWFsaXplJyBkb2Vzbid0IGhhdmUgdG8gYmUgY2FsbGVkLCBhcyBsb25nIGFz IGl0IGlzCi1wcmVzZW50IHNvbWV3aGVyZSBpbiB0aGUgZmlsZSwgZXZlbiBhcyBhIGNvbW1lbnQu ICBJZiBpdCBpcyBub3QsCi1hZGQgYSBjYWxsIHRvIGl0IGFsb25nIHdpdGggc29tZSBleHBsYW5h dG9yeSBjb21tZW50cy4iCi0gIDs7IERvbid0IG1lc3Mgd2l0aCB0aGUgaW5pdC1maWxlIGZyb20g ImVtYWNzIC1RIi4KLSAgKHdoZW4gKGFuZCAoc3RyaW5ncCB1c2VyLWluaXQtZmlsZSkKLSAgICAg ICAgICAgICAobm90IHBhY2thZ2UtLWluaXQtZmlsZS1lbnN1cmVkKQotICAgICAgICAgICAgIChm aWxlLXJlYWRhYmxlLXAgdXNlci1pbml0LWZpbGUpCi0gICAgICAgICAgICAgKGZpbGUtd3JpdGFi bGUtcCB1c2VyLWluaXQtZmlsZSkpCi0gICAgKGxldCogKChidWZmZXIgKGZpbmQtYnVmZmVyLXZp c2l0aW5nIHVzZXItaW5pdC1maWxlKSkKLSAgICAgICAgICAgYnVmZmVyLW5hbWUKLSAgICAgICAg ICAgKGNvbnRhaW5zLWluaXQKLSAgICAgICAgICAgIChpZiBidWZmZXIKLSAgICAgICAgICAgICAg ICAod2l0aC1jdXJyZW50LWJ1ZmZlciBidWZmZXIKLSAgICAgICAgICAgICAgICAgIChzYXZlLWV4 Y3Vyc2lvbgotICAgICAgICAgICAgICAgICAgICAoc2F2ZS1yZXN0cmljdGlvbgotICAgICAgICAg ICAgICAgICAgICAgICh3aWRlbikKLSAgICAgICAgICAgICAgICAgICAgICAoZ290by1jaGFyIChw b2ludC1taW4pKQotICAgICAgICAgICAgICAgICAgICAgIChyZS1zZWFyY2gtZm9yd2FyZCAiKHBh Y2thZ2UtaW5pdGlhbGl6ZVxcXz4iIG5pbCAnbm9lcnJvcikpKSkKLSAgICAgICAgICAgICAgOzsg RG9uJ3QgdmlzaXQgdGhlIGZpbGUgaWYgd2UgZG9uJ3QgaGF2ZSB0by4KLSAgICAgICAgICAgICAg KHdpdGgtdGVtcC1idWZmZXIKLSAgICAgICAgICAgICAgICAoaW5zZXJ0LWZpbGUtY29udGVudHMg dXNlci1pbml0LWZpbGUpCi0gICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkK LSAgICAgICAgICAgICAgICAocmUtc2VhcmNoLWZvcndhcmQgIihwYWNrYWdlLWluaXRpYWxpemVc XF8+IiBuaWwgJ25vZXJyb3IpKSkpKQotICAgICAgKHVubGVzcyBjb250YWlucy1pbml0Ci0gICAg ICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChvciBidWZmZXIKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChsZXQgKChkZWxheS1tb2RlLWhvb2tzIHQpCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlLXZpc2l0LXRydWVuYW1lIHQpKQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlLW5vc2VsZWN0IHVzZXIt aW5pdC1maWxlKSkpCi0gICAgICAgICAgKHdoZW4gYnVmZmVyCi0gICAgICAgICAgICAoc2V0cSBi dWZmZXItbmFtZSAoYnVmZmVyLWZpbGUtbmFtZSkpCi0gICAgICAgICAgICAoc2V0LXZpc2l0ZWQt ZmlsZS1uYW1lIChmaWxlLWNoYXNlLWxpbmtzIHVzZXItaW5pdC1maWxlKSkpCi0gICAgICAgICAg KHNhdmUtZXhjdXJzaW9uCi0gICAgICAgICAgICAoc2F2ZS1yZXN0cmljdGlvbgotICAgICAgICAg ICAgICAod2lkZW4pCi0gICAgICAgICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCi0gICAg ICAgICAgICAgICh3aGlsZSAoYW5kIChsb29raW5nLWF0LXAgIltbOmJsYW5rOl1dKlxcKDtcXHwk XFwpIikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKG5vdCAoZW9icCkpKQotICAgICAgICAg ICAgICAgIChmb3J3YXJkLWxpbmUgMSkpCi0gICAgICAgICAgICAgIChpbnNlcnQKLSAgICAgICAg ICAgICAgICJcbiIKLSAgICAgICAgICAgICAgICI7OyBBZGRlZCBieSBQYWNrYWdlLmVsLiAgVGhp cyBtdXN0IGNvbWUgYmVmb3JlIGNvbmZpZ3VyYXRpb25zIG9mXG4iCi0gICAgICAgICAgICAgICAi OzsgaW5zdGFsbGVkIHBhY2thZ2VzLiAgRG9uJ3QgZGVsZXRlIHRoaXMgbGluZS4gIElmIHlvdSBk b24ndCB3YW50IGl0LFxuIgotICAgICAgICAgICAgICAgIjs7IGp1c3QgY29tbWVudCBpdCBvdXQg YnkgYWRkaW5nIGEgc2VtaWNvbG9uIHRvIHRoZSBzdGFydCBvZiB0aGUgbGluZS5cbiIKLSAgICAg ICAgICAgICAgICI7OyBZb3UgbWF5IGRlbGV0ZSB0aGVzZSBleHBsYW5hdG9yeSBjb21tZW50cy5c biIKLSAgICAgICAgICAgICAgICIocGFja2FnZS1pbml0aWFsaXplKVxuIikKLSAgICAgICAgICAg ICAgKHVubGVzcyAobG9va2luZy1hdC1wICIkIikKLSAgICAgICAgICAgICAgICAoaW5zZXJ0ICJc biIpKQotICAgICAgICAgICAgICAobGV0ICgoZmlsZS1wcmVjaW91cy1mbGFnIHQpKQotICAgICAg ICAgICAgICAgIChzYXZlLWJ1ZmZlcikpCi0gICAgICAgICAgICAgIChpZiBidWZmZXIKLSAgICAg ICAgICAgICAgICAgIChwcm9nbgotICAgICAgICAgICAgICAgICAgICAoc2V0LXZpc2l0ZWQtZmls ZS1uYW1lIGJ1ZmZlci1uYW1lKQotICAgICAgICAgICAgICAgICAgICAoc2V0LWJ1ZmZlci1tb2Rp ZmllZC1wIG5pbCkpCi0gICAgICAgICAgICAgICAgKGtpbGwtYnVmZmVyIChjdXJyZW50LWJ1ZmZl cikpKSkpKSkpKQotICAoc2V0cSBwYWNrYWdlLS1pbml0LWZpbGUtZW5zdXJlZCB0KSkKLQogOzs7 IyMjYXV0b2xvYWQKIChkZWZ1biBwYWNrYWdlLWluc3RhbGwgKHBrZyAmb3B0aW9uYWwgZG9udC1z ZWxlY3QpCiAgICJJbnN0YWxsIHRoZSBwYWNrYWdlIFBLRy4KZGlmZiAtLWdpdCBhL2xpc3Avc3Rh cnR1cC5lbCBiL2xpc3Avc3RhcnR1cC5lbAppbmRleCA3Y2Y2ZmVlNDI1Li41NmY2ODhlMzM0IDEw MDY0NAotLS0gYS9saXNwL3N0YXJ0dXAuZWwKKysrIGIvbGlzcC9zdGFydHVwLmVsCkBAIC0xMDIx LDYgKzEwMjEsMTU2IEBAIGNvbW1hbmQtbGluZQogICAgIChhbmQgY29tbWFuZC1saW5lLWFyZ3MK ICAgICAgICAgIChzZXRjZHIgY29tbWFuZC1saW5lLWFyZ3MgYXJncykpKQogCisgIDs7IFdhcm4g Zm9yIGludmFsaWQgdXNlciBuYW1lLgorICAod2hlbiBpbml0LWZpbGUtdXNlcgorICAgIChpZiAo c3RyaW5nLW1hdGNoICJbfi86XG5dIiBpbml0LWZpbGUtdXNlcikKKyAgICAgICAgKGRpc3BsYXkt d2FybmluZyAnaW5pdGlhbGl6YXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAoZm9ybWF0 ICJJbnZhbGlkIHVzZXIgbmFtZSAlcyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGluaXQtZmlsZS11c2VyKQorICAgICAgICAgICAgICAgICAgICAgICAgIDplcnJvcikKKyAgICAg IChpZiAoZmlsZS1kaXJlY3RvcnktcCAoZXhwYW5kLWZpbGUtbmFtZQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA7OyBXZSBkb24ndCBzdXBwb3J0IH5VU0VSIG9uIE1TLVdpbmRvd3MKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgYW5kIE1TLURPUyBleGNlcHQgZm9yIHRoZSBj dXJyZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IHVzZXIsIGFuZCBhbHdheXMg bG9hZCAuZW1hY3MgZnJvbQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyB0aGUgY3Vy cmVudCB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg OzsgKHNlZSBiZWxvdykuICBTbyBhbHdheXMgY2hlY2sgIn4iLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA7OyBldmVuIGlmIGludm9rZWQgd2l0aCAiLXUgVVNFUiIsIG9yCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDs7IGlmICRVU0VSIG9yICRMT0dOQU1FIGFyZSBzZXQgdG8K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgc29tZXRoaW5nIGRpZmZlcmVudC4KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChtZW1xIHN5c3RlbS10eXBlICcod2luZG93 cy1udCBtcy1kb3MpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIn4iCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmNhdCAifiIgaW5pdC1maWxlLXVzZXIpKSkp CisgICAgICAgICAgbmlsCisgICAgICAgIChkaXNwbGF5LXdhcm5pbmcgJ2luaXRpYWxpemF0aW9u CisgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1hdCAiVXNlciAlcyBoYXMgbm8gaG9tZSBk aXJlY3RvcnkiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGVxdWFsIGlu aXQtZmlsZS11c2VyICIiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1 c2VyLXJlYWwtbG9naW4tbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aW5pdC1maWxlLXVzZXIpKQorICAgICAgICAgICAgICAgICAgICAgICAgIDplcnJvcikpKSkKKwor ICA7OyBMb2FkIHRoZSBlYXJseSBpbml0IGZpbGUsIGlmIGZvdW5kLgorICAobGV0ICgoZGVidWct b24tZXJyb3ItZnJvbS1pbml0LWZpbGUgbmlsKQorICAgICAgICAoZGVidWctb24tZXJyb3Itc2hv dWxkLWJlLXNldCBuaWwpCisgICAgICAgIChkZWJ1Zy1vbi1lcnJvci1pbml0aWFsIChpZiAoZXEg aW5pdC1maWxlLWRlYnVnIHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn c3RhcnR1cAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXQtZmlsZS1kZWJ1 ZykpCisgICAgICAgIChvcmlnLWVuYWJsZS1tdWx0aWJ5dGUgKGRlZmF1bHQtdmFsdWUgJ2VuYWJs ZS1tdWx0aWJ5dGUtY2hhcmFjdGVycykpKQorICAgIChsZXQgKChkZWJ1Zy1vbi1lcnJvciBkZWJ1 Zy1vbi1lcnJvci1pbml0aWFsKQorICAgICAgICAgIChpbm5lcgorICAgICAgICAgICAobGFtYmRh ICgpCisgICAgICAgICAgICAgOzsgSWYgbm8gdXNlcm5hbWUsIGRvbid0IGxvYWQgdGhlIGluaXQg ZmlsZS4KKyAgICAgICAgICAgICAod2hlbiBpbml0LWZpbGUtdXNlcgorICAgICAgICAgICAgICAg KGxldCAoKGVhcmx5LWluaXQtZmlsZS0xCisgICAgICAgICAgICAgICAgICAgICAgKGV4cGFuZC1m aWxlLW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgImVhcmx5LWluaXQiCisgICAgICAgICAg ICAgICAgICAgICAgIChmaWxlLW5hbWUtYXMtZGlyZWN0b3J5CisgICAgICAgICAgICAgICAgICAg ICAgICAoY29uY2F0ICJ+IiBpbml0LWZpbGUtdXNlciAiLy5lbWFjcy5kIikpKSkpCisgICAgICAg ICAgICAgICAgIDs7IFNldHRpbmcgYHVzZXItaW5pdC1maWxlJyB0byB0IHRlbGxzIGBsb2FkJyB0 bworICAgICAgICAgICAgICAgICA7OyBzdG9yZSB0aGUgbmFtZSBvZiB0aGUgZmlsZSB0aGF0IHdh cyBsb2FkZWQsIGlmCisgICAgICAgICAgICAgICAgIDs7IHBvc3NpYmxlLCBpbnRvIGB1c2VyLWlu aXQtZmlsZScuIFdlJ3JlIG5vdCB1c2luZworICAgICAgICAgICAgICAgICA7OyBgdXNlci1pbml0 LWZpbGUnIHlldCwgc28gd2UgY2FuIHJlLXVzZSBpdCBoZXJlIGZvcgorICAgICAgICAgICAgICAg ICA7OyB0aGUgZWFybHkgaW5pdCBmaWxlLgorICAgICAgICAgICAgICAgICAoc2V0cSB1c2VyLWlu aXQtZmlsZSB0KQorCisgICAgICAgICAgICAgICAgIDs7IEF0dGVtcHQgdG8gbG9hZCB0aGUgZWFy bHkgaW5pdCBmaWxlLiBJZiBpdCBkb2Vzbid0CisgICAgICAgICAgICAgICAgIDs7IGV4aXN0LCBk byBub3RoaW5nLgorICAgICAgICAgICAgICAgICAobG9hZCBlYXJseS1pbml0LWZpbGUtMSB0IHQp CisKKyAgICAgICAgICAgICAgICAgOzsgSWYgdGhlIGluaXQgZmlsZSBjb3VsZCBiZSBsb2FkZWQs IG1vdmUgaXRzCisgICAgICAgICAgICAgICAgIDs7IGRpc2NvdmVyZWQgZmlsZW5hbWUgZnJvbSBg dXNlci1pbml0LWZpbGUnIGludG8KKyAgICAgICAgICAgICAgICAgOzsgYGVhcmx5LWluaXQtZmls ZScsIHdoZXJlIGl0IGJlbG9uZ3MuCisgICAgICAgICAgICAgICAgICh1bmxlc3MgKGVxIHVzZXIt aW5pdC1maWxlIHQpCisgICAgICAgICAgICAgICAgICAgKHNldHEgZWFybHktaW5pdC1maWxlIHVz ZXItaW5pdC1maWxlKQorICAgICAgICAgICAgICAgICAgICh3aGVuIChhbmQgZWFybHktaW5pdC1m aWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXF1YWwgKGZpbGUtbmFtZS1leHRl bnNpb24gZWFybHktaW5pdC1maWxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJlbGMiKSkKKyAgICAgICAgICAgICAgICAgICAgIChsZXQqICgoc291cmNlIChmaWxlLW5h bWUtc2Fucy1leHRlbnNpb24gZWFybHktaW5pdC1maWxlKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoYWx0IChjb25jYXQgc291cmNlICIuZWwiKSkpCisgICAgICAgICAgICAgICAgICAg ICAgIChzZXRxIHNvdXJjZSAoY29uZCAoKGZpbGUtZXhpc3RzLXAgYWx0KSBhbHQpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGZpbGUtZXhpc3RzLXAgc291cmNl KSBzb3VyY2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodCBu aWwpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgKHdoZW4gc291cmNlCisgICAgICAgICAgICAg ICAgICAgICAgICAgKHdoZW4gKGZpbGUtbmV3ZXItdGhhbi1maWxlLXAgc291cmNlIGVhcmx5LWlu aXQtZmlsZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChtZXNzYWdlICJXYXJuaW5nOiAl cyBpcyBuZXdlciB0aGFuICVzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c291cmNlIGVhcmx5LWluaXQtZmlsZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaXQt Zm9yIDEpKQorICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGVhcmx5LWluaXQtZmlsZSBz b3VyY2UpKSkpKSkpKSkpCisgICAgICAoaWYgaW5pdC1maWxlLWRlYnVnCisgICAgICAgICAgKGZ1 bmNhbGwgaW5uZXIpCisgICAgICAgIChjb25kaXRpb24tY2FzZSBlcnJvcgorICAgICAgICAgICAg KHByb2duCisgICAgICAgICAgICAgIChmdW5jYWxsIGlubmVyKQorICAgICAgICAgICAgICAoc2V0 cSBpbml0LWZpbGUtaGFkLWVycm9yIG5pbCkpCisgICAgICAgICAgKGVycm9yCisgICAgICAgICAg IChkaXNwbGF5LXdhcm5pbmcKKyAgICAgICAgICAgICdpbml0aWFsaXphdGlvbgorICAgICAgICAg ICAgKGZvcm1hdC1tZXNzYWdlICJcCitBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBsb2FkaW5nIGAl cyc6XG5cbiVzJXMlc1xuXG5cCitUbyBlbnN1cmUgbm9ybWFsIG9wZXJhdGlvbiwgeW91IHNob3Vs ZCBpbnZlc3RpZ2F0ZSBhbmQgcmVtb3ZlIHRoZQorY2F1c2Ugb2YgdGhlIGVycm9yIGluIHlvdXIg aW5pdGlhbGl6YXRpb24gZmlsZS4gIFN0YXJ0IEVtYWNzIHdpdGgKK3RoZSBgLS1kZWJ1Zy1pbml0 JyBvcHRpb24gdG8gdmlldyBhIGNvbXBsZXRlIGVycm9yIGJhY2t0cmFjZS4iCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOzsgVXNlIGB1c2VyLWluaXQtZmlsZScgaGVyZSBiZWNhdXNlIGlm CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgdGhlcmUgd2FzIGFuIGVycm9yIHdoaWxl IGxvYWRpbmcgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgaW5pdCBmaWxlLCB0 aGVuIGBlYXJseS1pbml0LWZpbGUnIG1heQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7 IG5vdCBoYXZlIGJlZW4gcmVhc3NpZ25lZDsgYnV0CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOzsgYHVzZXItaW5pdC1maWxlJyB3aWxsIHN0aWxsIGJlIHNldCBieQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDs7IGBsb2FkJy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 c2VyLWluaXQtZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnZXQgKGNhciBlcnJv cikgJ2Vycm9yLW1lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChjZHIg ZXJyb3IpICI6ICIgIiIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcGNvbmNhdCAo bGFtYmRhIChzKSAocHJpbjEtdG8tc3RyaW5nIHMgdCkpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoY2RyIGVycm9yKSAiLCAiKSkKKyAgICAgICAgICAgIDp3YXJuaW5n KQorICAgICAgICAgICAoc2V0cSBpbml0LWZpbGUtaGFkLWVycm9yIHQpKSkpCisgICAgICAob3Ig KGVxIGRlYnVnLW9uLWVycm9yIGRlYnVnLW9uLWVycm9yLWluaXRpYWwpCisgICAgICAgICAgKHNl dHEgZGVidWctb24tZXJyb3Itc2hvdWxkLWJlLXNldCB0CisgICAgICAgICAgICAgICAgZGVidWct b24tZXJyb3ItZnJvbS1pbml0LWZpbGUgZGVidWctb24tZXJyb3IpKSkKKyAgICAoaWYgZGVidWct b24tZXJyb3Itc2hvdWxkLWJlLXNldAorCSAgKHNldHEgZGVidWctb24tZXJyb3IgZGVidWctb24t ZXJyb3ItZnJvbS1pbml0LWZpbGUpKQorICAgICAgKHVubGVzcyAob3IgKGRlZmF1bHQtdmFsdWUg J2VuYWJsZS1tdWx0aWJ5dGUtY2hhcmFjdGVycykKKwkJICAoZXEgb3JpZy1lbmFibGUtbXVsdGli eXRlIChkZWZhdWx0LXZhbHVlCisJCQkJCSAgICAgICdlbmFibGUtbXVsdGlieXRlLWNoYXJhY3Rl cnMpKSkKKwk7OyBJbml0IGZpbGUgY2hhbmdlZCB0byB1bmlieXRlLiAgUmVzZXQgZXhpc3Rpbmcg bXVsdGlieXRlCisJOzsgYnVmZmVycyAocHJvYmFibHkgKnNjcmF0Y2gqLCAqTWVzc2FnZXMqLCAq TWluaWJ1Zi0wKikuCisJOzsgQXJndWFibHkgdGhpcyBzaG91bGQgb25seSBiZSBkb25lIGlmIHRo ZXkncmUgZnJlZSBvZgorCTs7IG11bHRpYnl0ZSBjaGFyYWN0ZXJzLgorCShtYXBjIChsYW1iZGEg KGJ1ZmZlcikKKwkJKHdpdGgtY3VycmVudC1idWZmZXIgYnVmZmVyCisJCSAgKGlmIGVuYWJsZS1t dWx0aWJ5dGUtY2hhcmFjdGVycworCQkgICAgICAoc2V0LWJ1ZmZlci1tdWx0aWJ5dGUgbmlsKSkp KQorCSAgICAgIChidWZmZXItbGlzdCkpCisJOzsgQWxzbyByZS1zZXQgdGhlIGxhbmd1YWdlIGVu dmlyb25tZW50IGluIGNhc2UgaXQgd2FzCisJOzsgb3JpZ2luYWxseSBkb25lIGJlZm9yZSB1bmli eXRlIHdhcyBzZXQgYW5kIGlzIHNlbnNpdGl2ZSB0bworCTs7IHVuaWJ5dGUgKGRpc3BsYXkgdGFi bGUsIHRlcm1pbmFsIGNvZGluZyBzeXN0ZW0gJmMpLgorCShzZXQtbGFuZ3VhZ2UtZW52aXJvbm1l bnQgY3VycmVudC1sYW5ndWFnZS1lbnZpcm9ubWVudCkpKQorCisgIDs7IElmIGFueSBwYWNrYWdl IGRpcmVjdG9yeSBleGlzdHMsIGluaXRpYWxpemUgdGhlIHBhY2thZ2Ugc3lzdGVtLgorICAoYW5k IHVzZXItaW5pdC1maWxlCisgICAgICAgcGFja2FnZS1lbmFibGUtYXQtc3RhcnR1cAorICAgICAg IChjYXRjaCAncGFja2FnZS1kaXItZm91bmQKKwkgKGxldCAoZGlycykKKwkgICAoaWYgKGJvdW5k cCAncGFja2FnZS1kaXJlY3RvcnktbGlzdCkKKwkgICAgICAgKHNldHEgZGlycyBwYWNrYWdlLWRp cmVjdG9yeS1saXN0KQorCSAgICAgKGRvbGlzdCAoZiBsb2FkLXBhdGgpCisJICAgICAgIChhbmQg KHN0cmluZ3AgZikKKwkJICAgIChlcXVhbCAoZmlsZS1uYW1lLW5vbmRpcmVjdG9yeSBmKSAic2l0 ZS1saXNwIikKKwkJICAgIChwdXNoIChleHBhbmQtZmlsZS1uYW1lICJlbHBhIiBmKSBkaXJzKSkp KQorCSAgIChwdXNoIChpZiAoYm91bmRwICdwYWNrYWdlLXVzZXItZGlyKQorCQkgICAgIHBhY2th Z2UtdXNlci1kaXIKKwkJICAgKGxvY2F0ZS11c2VyLWVtYWNzLWZpbGUgImVscGEiKSkKKwkJIGRp cnMpCisJICAgKGRvbGlzdCAoZGlyIGRpcnMpCisJICAgICAod2hlbiAoZmlsZS1kaXJlY3Rvcnkt cCBkaXIpCisJICAgICAgIChkb2xpc3QgKHN1YmRpciAoZGlyZWN0b3J5LWZpbGVzIGRpcikpCisJ CSAod2hlbiAobGV0ICgoc3ViZGlyIChleHBhbmQtZmlsZS1uYW1lIHN1YmRpciBkaXIpKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAoYW5kIChmaWxlLWRpcmVjdG9yeS1wIHN1YmRpcikKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWxlLWV4aXN0cy1wCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHBhY2thZ2UtLWRlc2NyaXB0aW9uLWZpbGUgc3ViZGlyKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdWJkaXIpKSkpCisJCSAgICh0aHJvdyAncGFja2FnZS1k aXItZm91bmQgdCkpKSkpKSkKKyAgICAgICAocGFja2FnZS1pbml0aWFsaXplKSkKKwogICA7OyBN YWtlIHN1cmUgd2luZG93IHN5c3RlbSdzIGluaXQgZmlsZSB3YXMgbG9hZGVkIGluIGxvYWR1cC5l bCBpZgogICA7OyB1c2luZyBhIHdpbmRvdyBzeXN0ZW0uCiAgIDs7IEluaXRpYWxpemUgdGhlIHdp bmRvdy1zeXN0ZW0gb25seSBhZnRlciBwcm9jZXNzaW5nIHRoZSBjb21tYW5kLWxpbmUKQEAgLTEx MjcsMzMgKzEyNzcsNiBAQCBjb21tYW5kLWxpbmUKICAgICA7OyB0aGUgc3RhcnR1cCBzY3JlZW4u CiAgICAgKHNldHEgaW5oaWJpdC1zdGFydHVwLXNjcmVlbiBuaWwpCiAKLSAgICA7OyBXYXJuIGZv ciBpbnZhbGlkIHVzZXIgbmFtZS4KLSAgICAod2hlbiBpbml0LWZpbGUtdXNlcgotICAgICAgKGlm IChzdHJpbmctbWF0Y2ggIlt+Lzpcbl0iIGluaXQtZmlsZS11c2VyKQotCSAgKGRpc3BsYXktd2Fy bmluZyAnaW5pdGlhbGl6YXRpb24KLQkJCSAgIChmb3JtYXQgIkludmFsaWQgdXNlciBuYW1lICVz IgotCQkJCSAgIGluaXQtZmlsZS11c2VyKQotCQkJICAgOmVycm9yKQotCShpZiAoZmlsZS1kaXJl Y3RvcnktcCAoZXhwYW5kLWZpbGUtbmFtZQotCQkJICAgICAgIDs7IFdlIGRvbid0IHN1cHBvcnQg flVTRVIgb24gTVMtV2luZG93cwotCQkJICAgICAgIDs7IGFuZCBNUy1ET1MgZXhjZXB0IGZvciB0 aGUgY3VycmVudAotCQkJICAgICAgIDs7IHVzZXIsIGFuZCBhbHdheXMgbG9hZCAuZW1hY3MgZnJv bQotCQkJICAgICAgIDs7IHRoZSBjdXJyZW50IHVzZXIncyBob21lIGRpcmVjdG9yeQotCQkJICAg ICAgIDs7IChzZWUgYmVsb3cpLiAgU28gYWx3YXlzIGNoZWNrICJ+IiwKLQkJCSAgICAgICA7OyBl dmVuIGlmIGludm9rZWQgd2l0aCAiLXUgVVNFUiIsIG9yCi0JCQkgICAgICAgOzsgaWYgJFVTRVIg b3IgJExPR05BTUUgYXJlIHNldCB0bwotCQkJICAgICAgIDs7IHNvbWV0aGluZyBkaWZmZXJlbnQu Ci0JCQkgICAgICAgKGlmIChtZW1xIHN5c3RlbS10eXBlICcod2luZG93cy1udCBtcy1kb3MpKQot CQkJCSAgICJ+IgotCQkJCSAoY29uY2F0ICJ+IiBpbml0LWZpbGUtdXNlcikpKSkKLQkgICAgbmls Ci0JICAoZGlzcGxheS13YXJuaW5nICdpbml0aWFsaXphdGlvbgotCQkJICAgKGZvcm1hdCAiVXNl ciAlcyBoYXMgbm8gaG9tZSBkaXJlY3RvcnkiCi0JCQkJICAgKGlmIChlcXVhbCBpbml0LWZpbGUt dXNlciAiIikKLQkJCQkgICAgICAgKHVzZXItcmVhbC1sb2dpbi1uYW1lKQotCQkJCSAgICAgaW5p dC1maWxlLXVzZXIpKQotCQkJICAgOmVycm9yKSkpKQotCiAgICAgOzsgTG9hZCB0aGF0IHVzZXIn cyBpbml0IGZpbGUsIG9yIHRoZSBkZWZhdWx0IG9uZSwgb3Igbm9uZS4KICAgICAobGV0IChkZWJ1 Zy1vbi1lcnJvci1mcm9tLWluaXQtZmlsZQogCSAgZGVidWctb24tZXJyb3Itc2hvdWxkLWJlLXNl dApAQCAtMTMxMiwzMyArMTQzNSw2IEBAIGNvbW1hbmQtbGluZQogCQkgKGVxIGZhY2UtaWdub3Jl ZC1mb250cyBvbGQtZmFjZS1pZ25vcmVkLWZvbnRzKSkKICAgICAgIChjbGVhci1mYWNlLWNhY2hl KSkpCiAKLSAgOzsgSWYgYW55IHBhY2thZ2UgZGlyZWN0b3J5IGV4aXN0cywgaW5pdGlhbGl6ZSB0 aGUgcGFja2FnZSBzeXN0ZW0uCi0gIChhbmQgdXNlci1pbml0LWZpbGUKLSAgICAgICBwYWNrYWdl LWVuYWJsZS1hdC1zdGFydHVwCi0gICAgICAgKGNhdGNoICdwYWNrYWdlLWRpci1mb3VuZAotCSAo bGV0IChkaXJzKQotCSAgIChpZiAoYm91bmRwICdwYWNrYWdlLWRpcmVjdG9yeS1saXN0KQotCSAg ICAgICAoc2V0cSBkaXJzIHBhY2thZ2UtZGlyZWN0b3J5LWxpc3QpCi0JICAgICAoZG9saXN0IChm IGxvYWQtcGF0aCkKLQkgICAgICAgKGFuZCAoc3RyaW5ncCBmKQotCQkgICAgKGVxdWFsIChmaWxl LW5hbWUtbm9uZGlyZWN0b3J5IGYpICJzaXRlLWxpc3AiKQotCQkgICAgKHB1c2ggKGV4cGFuZC1m aWxlLW5hbWUgImVscGEiIGYpIGRpcnMpKSkpCi0JICAgKHB1c2ggKGlmIChib3VuZHAgJ3BhY2th Z2UtdXNlci1kaXIpCi0JCSAgICAgcGFja2FnZS11c2VyLWRpcgotCQkgICAobG9jYXRlLXVzZXIt ZW1hY3MtZmlsZSAiZWxwYSIpKQotCQkgZGlycykKLQkgICAoZG9saXN0IChkaXIgZGlycykKLQkg ICAgICh3aGVuIChmaWxlLWRpcmVjdG9yeS1wIGRpcikKLQkgICAgICAgKGRvbGlzdCAoc3ViZGly IChkaXJlY3RvcnktZmlsZXMgZGlyKSkKLQkJICh3aGVuIChsZXQgKChzdWJkaXIgKGV4cGFuZC1m aWxlLW5hbWUgc3ViZGlyIGRpcikpKQotICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQgKGZp bGUtZGlyZWN0b3J5LXAgc3ViZGlyKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZp bGUtZXhpc3RzLXAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXhwYW5kLWZpbGUt bmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGFja2FnZS0tZGVzY3JpcHRp b24tZmlsZSBzdWJkaXIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YmRpcikp KSkKLQkJICAgKHRocm93ICdwYWNrYWdlLWRpci1mb3VuZCB0KSkpKSkpKQotICAgICAgIChwYWNr YWdlLWluaXRpYWxpemUpKQotCiAgIChzZXRxIGFmdGVyLWluaXQtdGltZSAoY3VycmVudC10aW1l KSkKICAgOzsgRGlzcGxheSBhbnkgYWNjdW11bGF0ZWQgd2FybmluZ3MgYWZ0ZXIgYWxsIGZ1bmN0 aW9ucyBpbgogICA7OyBgYWZ0ZXItaW5pdC1ob29rJyBsaWtlIGBkZXNrdG9wLXJlYWQnIGhhdmUg ZmluYWxpemVkIHBvc3NpYmxlCmRpZmYgLS1naXQgYS9zcmMvbHJlYWQuYyBiL3NyYy9scmVhZC5j CmluZGV4IDZiYzkzYjE0ODEuLmI0ODIzOTU2ZTcgMTAwNjQ0Ci0tLSBhL3NyYy9scmVhZC5jCisr KyBiL3NyYy9scmVhZC5jCkBAIC00OTEwLDYgKzQ5MTAsMTUgQEAgV2hpbGUgRW1hY3MgbG9hZHMg YW5kIGV2YWx1YXRlcyB0aGUgaW5pdCBmaWxlLCB2YWx1ZSBpcyB0aGUgcmVhbCBuYW1lCiBvZiB0 aGUgZmlsZSwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIG9yIG5vdCBpdCBoYXMgdGhlIGAuZWxjJyBl eHRlbnNpb24uICAqLyk7CiAgIFZ1c2VyX2luaXRfZmlsZSA9IFFuaWw7CiAKKyAgREVGVkFSX0xJ U1AgKCJlYXJseS1pbml0LWZpbGUiLCBWZWFybHlfaW5pdF9maWxlLAorICAgICAgICAgICAgICAg ZG9jOiAvKiBGaWxlIG5hbWUsIGluY2x1ZGluZyBkaXJlY3RvcnksIG9mIHVzZXIncyBlYXJseSBp bml0IGZpbGUuCitJZiB0aGUgZmlsZSBsb2FkZWQgaGFkIGV4dGVuc2lvbiBgLmVsYycsIGFuZCB0 aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgZmlsZQorZXhpc3RzLCB0aGlzIHZhcmlhYmxlIGNvbnRh aW5zIHRoZSBuYW1lIG9mIHNvdXJjZSBmaWxlLCBzdWl0YWJsZSBmb3IgdXNlCitieSBmdW5jdGlv bnMgbGlrZSBgY3VzdG9tLXNhdmUtYWxsJyB3aGljaCBlZGl0IHRoZSBpbml0IGZpbGUuCitXaGls ZSBFbWFjcyBsb2FkcyBhbmQgZXZhbHVhdGVzIHRoZSBpbml0IGZpbGUsIHZhbHVlIGlzIHRoZSBy ZWFsIG5hbWUKK29mIHRoZSBmaWxlLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Igbm90IGl0IGhh cyB0aGUgYC5lbGMnIGV4dGVuc2lvbi4gICovKTsKKyAgVmVhcmx5X2luaXRfZmlsZSA9IFFuaWw7 CisKICAgREVGVkFSX0xJU1AgKCJjdXJyZW50LWxvYWQtbGlzdCIsIFZjdXJyZW50X2xvYWRfbGlz dCwKIAkgICAgICAgZG9jOiAvKiBVc2VkIGZvciBpbnRlcm5hbCBwdXJwb3NlcyBieSBgbG9hZCcu ICAqLyk7CiAgIFZjdXJyZW50X2xvYWRfbGlzdCA9IFFuaWw7Ci0tIAoyLjEzLjMKCg== --001a114a7e12adbe4e05597dd6d4--