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: Re: [PATCH] Fixing package-initialize, adding early init file Date: Tue, 30 Jan 2018 11:30:45 -0800 Message-ID: References: <83po9vos4z.fsf@gnu.org> <87shelv2m6.fsf@udel.edu> <83vajgh4xe.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="94eb2c14aac8a092bf05640368cf" X-Trace: blaine.gmane.org 1517340711 29382 195.159.176.226 (30 Jan 2018 19:31:51 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 30 Jan 2018 19:31:51 +0000 (UTC) Cc: emacs-devel To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jan 30 20:31:47 2018 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 1egbd6-0006vm-Q5 for ged-emacs-devel@m.gmane.org; Tue, 30 Jan 2018 20:31:41 +0100 Original-Received: from localhost ([::1]:57812 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1egbf7-0005lP-LG for ged-emacs-devel@m.gmane.org; Tue, 30 Jan 2018 14:33:45 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55578) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1egbeG-0005a7-9A for emacs-devel@gnu.org; Tue, 30 Jan 2018 14:33:34 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1egbcv-000644-By for emacs-devel@gnu.org; Tue, 30 Jan 2018 14:32:52 -0500 Original-Received: from mail-lf0-x22e.google.com ([2a00:1450:4010:c07::22e]:35342) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1egbcu-00061n-6U for emacs-devel@gnu.org; Tue, 30 Jan 2018 14:31:29 -0500 Original-Received: by mail-lf0-x22e.google.com with SMTP id a204so17098705lfa.2 for ; Tue, 30 Jan 2018 11:31:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=fI5hDTyrY2KifOJAryHJIRrZWORLGstjxRn8WK+BahE=; b=kNew4z/oubFvBMvpVpVC2/CwrbJX8X4Ek4nuzux+nbXpcBcGPNS/li/uTn9+GV/eIi moImWJu1JXCNgW4n1IV+5Xqt/Zutg4nAcUApu71lTi2FYbS9YBsMjpEDRiGsiYoB1Kph ROk7AnPUy64NvQIPJIYx/SCUPXLWhuiB/8b1hHAFkIfe7/qj/5Nc8rtv7ZVXEEtXa/b8 6ej6qs2zBq+Kxn4e3JXH5VJLI8ao+hyneTop4mDBl/U7Um8y8DOAM1SVyotM85QzBmpJ FoD9clGZnF7n9B6LZ8o8jaHZmWkjwBAbca2PeVBveFxEXfx+BNlB0aog20acN4Sch3oK Nnhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=fI5hDTyrY2KifOJAryHJIRrZWORLGstjxRn8WK+BahE=; b=JXBFJKneENbs21qkDDDzhnCTPIqa/XL9UbxGULuasAyN3bHcgEGJbNBE5dcqkfd3Yk aELLEElcVQ0qqrimdAImGe3Gm6aTWk4l3p9vhGmDUuS0ns58+5s9jB2IjWgqEJNkqBBX sjt6Q6vpAWGIhA282f2uhugzzqPBIeeCZzGbS6tqxgBCz8e0q3FOCiGIz+AVE6ssVyDU wuUji1fnlJW4N2In1PNfCxbMP0QUgv9RSqIza1eOXRLhia2hbuBN+lyb2KQLnA2IASOm OBsJYO/cDjwufDBkHjttxlbvAewIz/UmjQSN+1iNCL0th+l0jdBEScZ/i4lRuwJDsrmD kK6A== X-Gm-Message-State: AKwxytf9RUfoi2KraxX006LuvalOIDUtFtkL+9jIHtEtdbCNFJjYEm0H OHJ78b9w/3EUTKZ3QcviiJuML4XpiaIQ59MXlEHw8MMw X-Google-Smtp-Source: AH8x227Gpsa0Pq/4OqLO6Jrv8tjlLr/Isfe2nzGSvqSbzzhUjZIyh2+pbl0Som2A9cQ81HhgZefzIYP0p4lfL1wTxkw= X-Received: by 10.25.90.81 with SMTP id o78mr15972504lfb.123.1517340686579; Tue, 30 Jan 2018 11:31:26 -0800 (PST) Original-Received: by 10.25.16.101 with HTTP; Tue, 30 Jan 2018 11:30:45 -0800 (PST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4010:c07::22e 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:222318 Archived-At: --94eb2c14aac8a092bf05640368cf Content-Type: multipart/alternative; boundary="94eb2c14aac8a092bb05640368cd" --94eb2c14aac8a092bb05640368cd Content-Type: text/plain; charset="UTF-8" > Do you have write access or do you need someone to push this for you? The latter. > > * lisp/startup.el (early-init-file): New variable, for the filename of > > the early init file after it has been loaded. > > "New variable" is enough, the rest is described in the code already. > > > (load-user-init-file): New function, used to eliminate duplicate code > > in loading the early and regular init files. > > Same here. Fixed. -- Radon --94eb2c14aac8a092bb05640368cd Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
&= gt;=C2=A0Do you have write access o= r do you need someone to push this for you?

T= he latter.
=

&= gt; > * lisp/startup.el (early-init-file): New variable, for the filenam= e of
> > the early init file after it has been loaded.
>
=
> "New variable" is en= ough, the rest is described in the code already.
>
>= > (load-user-init-file): New function, used to eliminate duplicate code=
> > in loading the early and regular init files.
>
> Same here.

Fixed.

-- Radon
--94eb2c14aac8a092bb05640368cd-- --94eb2c14aac8a092bf05640368cf 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_jd21expv0 RnJvbSBkZmU1ZWJkMDA3YzJmZGFiOGI2ZTdkNzI4OTFlZjNhY2YzZjMxZGY2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWRvbiBSb3Nib3JvdWdoIDxyYWRvbi5uZW9uQGdtYWlsLmNv bT4KRGF0ZTogU3VuLCAxNyBEZWMgMjAxNyAxNzozMToxNyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hd IEFkZCBlYXJseSBpbml0IGZpbGUsIHN0b3AgcGFja2FnZS1pbml0aWFsaXplIGluc2VydGlvbgoK KiBsaXNwL3N0YXJ0dXAuZWwgKGVhcmx5LWluaXQtZmlsZSk6IE5ldyB2YXJpYWJsZS4KKGxvYWQt dXNlci1pbml0LWZpbGUpOiBOZXcgZnVuY3Rpb24uCihjb21tYW5kLWxpbmUpOiBMb2FkIHRoZSBl YXJseSBpbml0IGZpbGUgdXNpbmcgYGxvYWQtdXNlci1pbml0LWZpbGUnLgpNb3ZlIHRoZSBjaGVj ayBmb3IgYW4gaW52YWxpZCB1c2VybmFtZSB0byBqdXN0IGJlZm9yZSB0aGF0LCBhbmQgbW92ZQp0 aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHBhY2thZ2Ugc3lzdGVtIHRvIGp1c3QgYWZ0ZXIuICBM b2FkIHRoZQpyZWd1bGFyIGluaXQgZmlsZSB1c2luZyBgbG9hZC11c2VyLWluaXQtZmlsZScuCgoq IHNyYy9scmVhZC5jIChWdXNlcl9pbml0X2ZpbGUpOiBOb3RlIGNoYW5nZSBpbiBzZW1hbnRpY3Mg ZHVlIHRvIGl0cwp1c2FnZSB3aGlsZSBsb2FkaW5nIHRoZSBlYXJseSBpbml0IGZpbGUuCgoqIGxp c3AvZW1hY3MtbGlzcC9wYWNrYWdlLmVsIChwYWNrYWdlLS1lbnN1cmUtaW5pdC1maWxlKTogUmVt b3ZlCmRlZmluaXRpb24sIHVzYWdlLCBhbmQgZG9jdW1lbnRhdGlvbi4KKHBhY2thZ2UtLWluaXQt ZmlsZS1lbnN1cmVkKTogUmVtb3ZlIGRlZmluaXRpb24gYW5kIHVzYWdlLgoKKiBkb2MvbGlzcHJl Zi9vcy50ZXhpOiBEb2N1bWVudCBlYXJseSBpbml0IGZpbGUuCgoqIGRvYy9saXNwcmVmL3BhY2th Z2UudGV4aTogRG9jdW1lbnQgY2hhbmdlcyB0byB3aGVuCnBhY2thZ2UtaW5pdGlhbGl6ZSBpcyBj YWxsZWQsIGFuZCBhZHZpc2UgYWdhaW5zdCBjYWxsaW5nIGl0IGluIHRoZQppbml0IGZpbGUuCgoq IGRvYy9lbWFjcy9wYWNrYWdlLnRleGk6IERvY3VtZW50IGNoYW5nZXMgdG8gd2hlbiBwYWNrYWdl LWluaXRpYWxpemUKaXMgY2FsbGVkLgoKKiBkb2MvbWlzYy9vcmcudGV4aTogRG9uJ3QgcmVjb21t ZW5kIHRvIGNhbGwgcGFja2FnZS1pbml0aWFsaXplIGluIHRoZQppbml0IGZpbGUuCgpEaXNjdXNz aW9uIG9uIGVtYWNzLWRldmVsIGxlYWRpbmcgdXAgdG8gdGhpcyBjaGFuZ2UgKGFwcHJveGltYXRl bHkgMTUwCm1lc3NhZ2VzKToKCi0gaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9l bWFjcy1kZXZlbC8yMDE3LTA4L21zZzAwMTU0Lmh0bWwKLSBodHRwczovL2xpc3RzLmdudS5vcmcv YXJjaGl2ZS9odG1sL2VtYWNzLWRldmVsLzIwMTctMDgvbXNnMDA0MzMuaHRtbAotIGh0dHBzOi8v bGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvZW1hY3MtZGV2ZWwvMjAxNy0wOS9tc2cwMDAyMy5o dG1sCi0gaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9lbWFjcy1kZXZlbC8yMDE3 LTA5L21zZzAwNTk5Lmh0bWwKLSBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2Vt YWNzLWRldmVsLzIwMTctMTAvbXNnMDAzMzIuaHRtbAotLS0KIGRvYy9lbWFjcy9wYWNrYWdlLnRl eGkgICAgIHwgIDMxICsrLS0KIGRvYy9saXNwcmVmL29zLnRleGkgICAgICAgIHwgIDE0ICsrCiBk b2MvbGlzcHJlZi9wYWNrYWdlLnRleGkgICB8ICAxNiArLQogZG9jL21pc2Mvb3JnLnRleGkgICAg ICAgICAgfCAgIDQgKy0KIGV0Yy9ORVdTICAgICAgICAgICAgICAgICAgIHwgIDIwICsrKwogbGlz cC9lbWFjcy1saXNwL3BhY2thZ2UuZWwgfCAgNzEgKy0tLS0tLS0tCiBsaXNwL3N0YXJ0dXAuZWwg ICAgICAgICAgICB8IDM3OSArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0KIHNyYy9scmVhZC5jICAgICAgICAgICAgICAgIHwgICAyICstCiA4IGZpbGVzIGNoYW5n ZWQsIDI2NCBpbnNlcnRpb25zKCspLCAyNzMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9j L2VtYWNzL3BhY2thZ2UudGV4aSBiL2RvYy9lbWFjcy9wYWNrYWdlLnRleGkKaW5kZXggNWYwNWJj MGY5ZS4uOTYyOWY0MWM4MCAxMDA2NDQKLS0tIGEvZG9jL2VtYWNzL3BhY2thZ2UudGV4aQorKysg Yi9kb2MvZW1hY3MvcGFja2FnZS50ZXhpCkBAIC0yNTAsMzEgKzI1MCwxOCBAQCBQYWNrYWdlIElu c3RhbGxhdGlvbgogd2lkZS1yYW5naW5nIGVmZmVjdHMgb24gdGhlIEVtYWNzIHNlc3Npb24uICBG b3Igc3VjaCBpbmZvcm1hdGlvbiwKIGNvbnN1bHQgdGhlIHBhY2thZ2UncyBoZWxwIGJ1ZmZlci4K IAotICBCeSBkZWZhdWx0LCBFbWFjcyBhbHNvIGF1dG9tYXRpY2FsbHkgbG9hZHMgYWxsIGluc3Rh bGxlZCBwYWNrYWdlcyBpbgotc3Vic2VxdWVudCBFbWFjcyBzZXNzaW9ucy4gIFRoaXMgaGFwcGVu cyBhdCBzdGFydHVwLCBhZnRlciBwcm9jZXNzaW5nCi10aGUgaW5pdCBmaWxlIChAcHhyZWZ7SW5p dCBGaWxlfSkuICBBcyBhbiBleGNlcHRpb24sIEVtYWNzIGRvZXMgbm90Ci1sb2FkIHBhY2thZ2Vz IGF0IHN0YXJ0dXAgaWYgaW52b2tlZCB3aXRoIHRoZSBAc2FtcHstcX0gb3IKLUBzYW1wey0tbm8t aW5pdC1maWxlfSBvcHRpb25zIChAcHhyZWZ7SW5pdGlhbCBPcHRpb25zfSkuCisgIEFmdGVyIGEg cGFja2FnZSBpcyBpbnN0YWxsZWQsIGl0IGlzIGF1dG9tYXRpY2FsbHkgbG9hZGVkIGJ5IEVtYWNz IGluCithbGwgc3Vic2VxdWVudCBzZXNzaW9ucy4gIFRoaXMgaGFwcGVucyBhdCBzdGFydHVwLCBi ZWZvcmUgcHJvY2Vzc2luZwordGhlIGluaXQgZmlsZSBidXQgYWZ0ZXIgcHJvY2Vzc2luZyB0aGUg ZWFybHkgaW5pdCBmaWxlIChAcHhyZWZ7RWFybHkKK0luaXQgRmlsZSwsLCBlbGlzcCwgVGhlIEVt YWNzIExpc3AgUmVmZXJlbmNlIE1hbnVhbH0pLiAgQXMgYW4KK2V4Y2VwdGlvbiwgRW1hY3MgZG9l cyBub3QgbG9hZCBwYWNrYWdlcyBhdCBzdGFydHVwIGlmIGludm9rZWQgd2l0aCB0aGUKK0BzYW1w ey1xfSBvciBAc2FtcHstLW5vLWluaXQtZmlsZX0gb3B0aW9ucyAoQHhyZWZ7SW5pdGlhbCBPcHRp b25zfSkuCiAKIEB2aW5kZXggcGFja2FnZS1lbmFibGUtYXQtc3RhcnR1cAogICBUbyBkaXNhYmxl IGF1dG9tYXRpYyBwYWNrYWdlIGxvYWRpbmcsIGNoYW5nZSB0aGUgdmFyaWFibGUKLUBjb2Rle3Bh Y2thZ2UtZW5hYmxlLWF0LXN0YXJ0dXB9IHRvIEBjb2Rle25pbH0uCi0KLUBmaW5kZXggcGFja2Fn ZS1pbml0aWFsaXplCi0gIFRoZSByZWFzb24gYXV0b21hdGljIHBhY2thZ2UgbG9hZGluZyBvY2N1 cnMgYWZ0ZXIgbG9hZGluZyB0aGUgaW5pdAotZmlsZSBpcyB0aGF0IHVzZXIgb3B0aW9ucyBvbmx5 IHJlY2VpdmUgdGhlaXIgY3VzdG9taXplZCB2YWx1ZXMgYWZ0ZXIKLWxvYWRpbmcgdGhlIGluaXQg ZmlsZSwgaW5jbHVkaW5nIHVzZXIgb3B0aW9ucyB3aGljaCBhZmZlY3QgdGhlCi1wYWNrYWdpbmcg c3lzdGVtLiAgSW4gc29tZSBjaXJjdW1zdGFuY2VzLCB5b3UgbWF5IHdhbnQgdG8gbG9hZAotcGFj a2FnZXMgZXhwbGljaXRseSBpbiB5b3VyIGluaXQgZmlsZSAodXN1YWxseSBiZWNhdXNlIHNvbWUg b3RoZXIgY29kZQotaW4geW91ciBpbml0IGZpbGUgZGVwZW5kcyBvbiBhIHBhY2thZ2UpLiAgSW4g dGhhdCBjYXNlLCB5b3VyIGluaXQgZmlsZQotc2hvdWxkIGNhbGwgdGhlIGZ1bmN0aW9uIEBjb2Rl e3BhY2thZ2UtaW5pdGlhbGl6ZX0uICBJdCBpcyB1cCB0byB5b3UKLXRvIGVuc3VyZSB0aGF0IHJl bGV2YW50IHVzZXIgb3B0aW9ucywgc3VjaCBhcyBAY29kZXtwYWNrYWdlLWxvYWQtbGlzdH0KLShz ZWUgYmVsb3cpLCBhcmUgc2V0IHVwIHByaW9yIHRvIHRoZSBAY29kZXtwYWNrYWdlLWluaXRpYWxp emV9IGNhbGwuCi1UaGlzIHdpbGwgYXV0b21hdGljYWxseSBzZXQgQGNvZGV7cGFja2FnZS1lbmFi bGUtYXQtc3RhcnR1cH0gdG8gQGNvZGV7bmlsfSwgdG8KLWF2b2lkIGxvYWRpbmcgdGhlIHBhY2th Z2VzIGFnYWluIGFmdGVyIHByb2Nlc3NpbmcgdGhlIGluaXQgZmlsZS4KLUFsdGVybmF0aXZlbHks IHlvdSBtYXkgY2hvb3NlIHRvIGNvbXBsZXRlbHkgaW5oaWJpdCBwYWNrYWdlIGxvYWRpbmcgYXQK LXN0YXJ0dXAsIGFuZCBpbnZva2UgdGhlIGNvbW1hbmQgQGtiZHtNLXggcGFja2FnZS1pbml0aWFs aXplfSB0byBsb2FkCi15b3VyIHBhY2thZ2VzIG1hbnVhbGx5LgorQGNvZGV7cGFja2FnZS1lbmFi bGUtYXQtc3RhcnR1cH0gdG8gQGNvZGV7bmlsfS4gIFlvdSBtdXN0IGRvIHRoaXMgaW4KK3RoZSBl YXJseSBpbml0IGZpbGUsIGFzIHRoZSB2YXJpYWJsZSBpcyByZWFkIGJlZm9yZSBsb2FkaW5nIHRo ZQorcmVndWxhciBpbml0IGZpbGUuICBDdXJyZW50bHkgaXQgY2Fubm90IGJlIGRvbmUgdmlhIEN1 c3RvbWl6ZS4KIAogQHZpbmRleCBwYWNrYWdlLWxvYWQtbGlzdAogICBGb3IgZmluZXIgY29udHJv bCBvdmVyIHBhY2thZ2UgbG9hZGluZywgeW91IGNhbiB1c2UgdGhlIHZhcmlhYmxlCmRpZmYgLS1n aXQgYS9kb2MvbGlzcHJlZi9vcy50ZXhpIGIvZG9jL2xpc3ByZWYvb3MudGV4aQppbmRleCA5MzUy YTkyOWE3Li5jNzZjNGQ4MGI2IDEwMDY0NAotLS0gYS9kb2MvbGlzcHJlZi9vcy50ZXhpCisrKyBi L2RvYy9saXNwcmVmL29zLnRleGkKQEAgLTM2MSw2ICszNjEsNyBAQCBJbml0IEZpbGUKIEBjaW5k ZXggaW5pdCBmaWxlCiBAY2luZGV4IEBmaWxley5lbWFjc30KIEBjaW5kZXggQGZpbGV7aW5pdC5l bH0KK0BjaW5kZXggQGZpbGV7ZWFybHktaW5pdC5lbH0KIAogICBXaGVuIHlvdSBzdGFydCBFbWFj cywgaXQgbm9ybWFsbHkgYXR0ZW1wdHMgdG8gbG9hZCB5b3VyIEBkZm57aW5pdAogZmlsZX0uICBU aGlzIGlzIGVpdGhlciBhIGZpbGUgbmFtZWQgQGZpbGV7LmVtYWNzfSBvciBAZmlsZXsuZW1hY3Mu ZWx9CkBAIC0zODQsNiArMzg1LDE5IEBAIEluaXQgRmlsZQogZmlsZS4gIElmIHRob3NlIGVudmly b25tZW50IHZhcmlhYmxlcyBhcmUgYWJzZW50LCB0aG91Z2gsIEVtYWNzIHVzZXMKIHlvdXIgdXNl ci1pZCB0byBmaW5kIHlvdXIgaG9tZSBkaXJlY3RvcnkuCiAKK0BjaW5kZXggZWFybHkgaW5pdCBm aWxlCisgIEVtYWNzIGFsc28gYXR0ZW1wdHMgdG8gbG9hZCBhIHNlY29uZCBpbml0IGZpbGUsIGNh bGxlZCB0aGUKKyAgQGRmbntlYXJseSBpbml0IGZpbGV9LCBpZiBpdCBleGlzdHMuICBUaGlzIGlz IGEgZmlsZSBuYW1lZAorICBAZmlsZXtlYXJseS1pbml0LmVsfSBpbiBhIHN1YmRpcmVjdG9yeSBu YW1lZCBAZmlsZXsuZW1hY3MuZH0gaW4geW91cgorICBob21lIGRpcmVjdG9yeS4gIFRoZSBkaWZm ZXJlbmNlIGlzIHRoYXQgdGhlIGVhcmx5IGluaXQgZmlsZSBpcworICBsb2FkZWQgbXVjaCBlYXJs aWVyIGR1cmluZyB0aGUgc3RhcnR1cCBwcm9jZXNzLCBzbyB5b3UgY2FuIHVzZSBpdCB0bworICBj dXN0b21pemUgc29tZSB0aGluZ3MgdGhhdCBhcmUgaW5pdGlhbGl6ZWQgYmVmb3JlIGxvYWRpbmcg dGhlCisgIHJlZ3VsYXIgaW5pdCBmaWxlLiAgRm9yIGV4YW1wbGUsIHlvdSBjYW4gY3VzdG9taXpl IHRoZSBwcm9jZXNzIG9mCisgIGxvYWRpbmcgaW5zdGFsbGVkIHBhY2thZ2VzLCBieSBzZXR0aW5n IHZhcmlhYmxlcyBzdWNoIGFzCisgIEB2YXJ7cGFja2FnZS1sb2FkLWxpc3R9IG9yCisgIEB2YXJ7 cGFja2FnZS1lbmFibGUtYXQtc3RhcnR1cH0uIEB4cmVme1BhY2thZ2UgSW5zdGFsbGF0aW9uLCws CisgIGVtYWNzLFRoZSBHTlUgRW1hY3MgTWFudWFsfS4KKwogQGNpbmRleCBkZWZhdWx0IGluaXQg ZmlsZQogICBBbiBFbWFjcyBpbnN0YWxsYXRpb24gbWF5IGhhdmUgYSBAZGZue2RlZmF1bHQgaW5p dCBmaWxlfSwgd2hpY2ggaXMgYQogTGlzcCBsaWJyYXJ5IG5hbWVkIEBmaWxle2RlZmF1bHQuZWx9 LiAgRW1hY3MgZmluZHMgdGhpcyBmaWxlIHRocm91Z2gKZGlmZiAtLWdpdCBhL2RvYy9saXNwcmVm L3BhY2thZ2UudGV4aSBiL2RvYy9saXNwcmVmL3BhY2thZ2UudGV4aQppbmRleCAyMWRmZTFjMjcx Li5kNWVlNGNiZDQ3IDEwMDY0NAotLS0gYS9kb2MvbGlzcHJlZi9wYWNrYWdlLnRleGkKKysrIGIv ZG9jL2xpc3ByZWYvcGFja2FnZS50ZXhpCkBAIC0xMDYsMTAgKzEwNiwxMiBAQCBQYWNrYWdpbmcg QmFzaWNzCiAKICAgV2hlbmV2ZXIgRW1hY3Mgc3RhcnRzIHVwLCBpdCBhdXRvbWF0aWNhbGx5IGNh bGxzIHRoZSBmdW5jdGlvbgogQGNvZGV7cGFja2FnZS1pbml0aWFsaXplfSB0byBsb2FkIGluc3Rh bGxlZCBwYWNrYWdlcy4gIFRoaXMgaXMgZG9uZQotYWZ0ZXIgbG9hZGluZyB0aGUgaW5pdCBmaWxl IGFuZCBhYmJyZXYgZmlsZSAoaWYgYW55KSBhbmQgYmVmb3JlCi1ydW5uaW5nIEBjb2Rle2FmdGVy LWluaXQtaG9va30gKEBweHJlZntTdGFydHVwIFN1bW1hcnl9KS4gIEF1dG9tYXRpYwotcGFja2Fn ZSBsb2FkaW5nIGlzIGRpc2FibGVkIGlmIHRoZSB1c2VyIG9wdGlvbgotQGNvZGV7cGFja2FnZS1l bmFibGUtYXQtc3RhcnR1cH0gaXMgQGNvZGV7bmlsfS4KK2FmdGVyIGxvYWRpbmcgdGhlIGVhcmx5 IGluaXQgZmlsZSwgYnV0IGJlZm9yZSBsb2FkaW5nIHRoZSByZWd1bGFyIGluaXQKK2ZpbGUgYW5k IGFiYnJldiBmaWxlIChpZiBhbnkpIGFuZCBiZWZvcmUgcnVubmluZworQGNvZGV7YWZ0ZXItaW5p dC1ob29rfSAoQHB4cmVme1N0YXJ0dXAgU3VtbWFyeX0pLiAgQXV0b21hdGljIHBhY2thZ2UKK2xv YWRpbmcgaXMgZGlzYWJsZWQgaWYgdGhlIHVzZXIgb3B0aW9uCitAY29kZXtwYWNrYWdlLWVuYWJs ZS1hdC1zdGFydHVwfSBpcyBzZXQgdG8gQGNvZGV7bmlsfSBpbiB0aGUgZWFybHkKK2luaXQgZmls ZS4KIAogQGRlZmZuIENvbW1hbmQgcGFja2FnZS1pbml0aWFsaXplICZvcHRpb25hbCBuby1hY3Rp dmF0ZQogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyBFbWFjcycgaW50ZXJuYWwgcmVjb3JkIG9m IHdoaWNoIHBhY2thZ2VzIGFyZQpAQCAtMTIzLDYgKzEyNSwxMiBAQCBQYWNrYWdpbmcgQmFzaWNz CiBUaGUgb3B0aW9uYWwgYXJndW1lbnQgQHZhcntuby1hY3RpdmF0ZX0sIGlmIG5vbi1AY29kZXtu aWx9LCBjYXVzZXMKIEVtYWNzIHRvIHVwZGF0ZSBpdHMgcmVjb3JkIG9mIGluc3RhbGxlZCBwYWNr YWdlcyB3aXRob3V0IGFjdHVhbGx5CiBsb2FkaW5nIHRoZW07IGl0IGlzIGZvciBpbnRlcm5hbCB1 c2Ugb25seS4KKworSW4gbW9zdCBjYXNlcywgeW91IHNob3VsZCBub3QgbmVlZCB0byBjYWxsIEBj b2Rle3BhY2thZ2UtaW5pdGlhbGl6ZX0sCithcyB0aGlzIGlzIGRvbmUgYXV0b21hdGljYWxseSBk dXJpbmcgc3RhcnR1cC4gIFNpbXBseSBtYWtlIHN1cmUgdG8gcHV0CithbnkgY29kZSB0aGF0IHNo b3VsZCBydW4gYmVmb3JlIEBjb2Rle3BhY2thZ2UtaW5pdGlhbGl6ZX0gaW4gdGhlIGVhcmx5Citp bml0IGZpbGUsIGFuZCBhbnkgY29kZSB0aGF0IHNob3VsZCBydW4gYWZ0ZXIgaXQgaW4gdGhlIHBy aW1hcnkgaW5pdAorZmlsZSAoQHhyZWZ7SW5pdCBGaWxlLCwsIGVtYWNzLCBUaGUgR05VIEVtYWNz IE1hbnVhbH0pLgogQGVuZCBkZWZmbgogCiBAbm9kZSBTaW1wbGUgUGFja2FnZXMKZGlmZiAtLWdp dCBhL2RvYy9taXNjL29yZy50ZXhpIGIvZG9jL21pc2Mvb3JnLnRleGkKaW5kZXggYWEzYjAyOWFi Ny4uNjhhYTAxY2ExOCAxMDA2NDQKLS0tIGEvZG9jL21pc2Mvb3JnLnRleGkKKysrIGIvZG9jL21p c2Mvb3JnLnRleGkKQEAgLTg5MCw5ICs4OTAsNyBAQCBJbnN0YWxsYXRpb24KIGJlZW4gdmlzaXRl ZCwgaS5lLiwgd2hlcmUgbm8gT3JnIGJ1aWx0LWluIGZ1bmN0aW9uIGhhdmUgYmVlbiBsb2FkZWQu CiBPdGhlcndpc2UgYXV0b2xvYWQgT3JnIGZ1bmN0aW9ucyB3aWxsIG1lc3MgdXAgdGhlIGluc3Rh bGxhdGlvbi4KIAotVGhlbiwgdG8gbWFrZSBzdXJlIHlvdXIgT3JnIGNvbmZpZ3VyYXRpb24gaXMg dGFrZW4gaW50byBhY2NvdW50LCBpbml0aWFsaXplCi10aGUgcGFja2FnZSBzeXN0ZW0gd2l0aCBA Y29kZXsocGFja2FnZS1pbml0aWFsaXplKX0gaW4geW91ciBFbWFjcyBpbml0IGZpbGUKLWJlZm9y ZSBzZXR0aW5nIGFueSBPcmcgb3B0aW9uLiAgSWYgeW91IHdhbnQgdG8gdXNlIE9yZydzIHBhY2th Z2UgcmVwb3NpdG9yeSwKK0lmIHlvdSB3YW50IHRvIHVzZSBPcmcncyBwYWNrYWdlIHJlcG9zaXRv cnksCiBjaGVjayBvdXQgdGhlIEB1cmVme2h0dHA6Ly9vcmdtb2RlLm9yZy9lbHBhLmh0bWwsIE9y ZyBFTFBBIHBhZ2V9LgogCiBAc3Vic3ViaGVhZGluZyBEb3dubG9hZGluZyBPcmcgYXMgYW4gYXJj aGl2ZQpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCBiMjhmMjg0MTE2Li5h NDQwYzE4N2M0IDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysgYi9ldGMvTkVXUwpAQCAtNDksNiAr NDksMjYgQEAgdG8gcmVkdWNlIGRpZmZlcmVuY2VzIGJldHdlZW4gZGV2ZWxvcGVyIGFuZCBwcm9k dWN0aW9uIGJ1aWxkcy4KIAwKICogU3RhcnR1cCBDaGFuZ2VzIGluIEVtYWNzIDI3LjEKIAorKysr CisqKiBFbWFjcyBjYW4gbm93IGJlIGNvbmZpZ3VyZWQgdXNpbmcgYW4gZWFybHkgaW5pdCBmaWxl LgorVGhlIGZpbGUgaXMgY2FsbGVkICdlYXJseS1pbml0LmVsJywgaW4gJ3VzZXItZW1hY3MtZGly ZWN0b3J5Jy4gIEl0IGlzCitsb2FkZWQgdmVyeSBlYXJseSBpbiB0aGUgc3RhcnR1cCBwcm9jZXNz OiBiZWZvcmUgZ3JhcGhpY2FsIGVsZW1lbnRzCitzdWNoIGFzIHRoZSB0b29sIGJhciBhcmUgaW5p dGlhbGl6ZWQsIGFuZCBiZWZvcmUgdGhlIHBhY2thZ2UgbWFuYWdlcgoraXMgaW5pdGlhbGl6ZWQu CisKKysrKworKiogRW1hY3Mgbm93IGNhbGxzICdwYWNrYWdlLWluaXRpYWxpemUnIGJlZm9yZSBs b2FkaW5nIHRoZSBpbml0IGZpbGUuCitUaGlzIGlzIHBhcnQgb2YgYSBjaGFuZ2UgaW50ZW5kZWQg dG8gZWxpbWluYXRlIHRoZSBiZWhhdmlvciBvZgorcGFja2FnZS5lbCBpbnNlcnRpbmcgYSBjYWxs IHRvICdwYWNrYWdlLWluaXRpYWxpemUnIGludG8gdGhlIGluaXQKK2ZpbGUsIHdoaWNoIHdhcyBw cmV2aW91c2x5IGRvbmUgd2hlbiBFbWFjcyB3YXMgc3RhcnRlZC4gIFlvdSBvbmx5IG5lZWQKK3Rv IG1ha2UgY2hhbmdlcyB0byB5b3VyIGNvbmZpZ3VyYXRpb24gaWYgc29tZSBvZiBpdCBuZWVkcyB0 byBiZSBydW4KK2JlZm9yZSAncGFja2FnZS1pbml0aWFsaXplJyBpcyBjYWxsZWQgKGZvciBleGFt cGxlLCBpZiB5b3Ugc2V0CisncGFja2FnZS1sb2FkLWxpc3QnIG9yICdwYWNrYWdlLXVzZXItZGly JykuICBJbiB0aGF0IGNhc2UsIHBsYWNlIHRoZQorY29uZmlndXJhdGlvbiB0aGF0IG5lZWRzIHRv IGJlIHJ1biBiZWZvcmUgJ3BhY2thZ2UtaW5pdGlhbGl6ZScgaW50bwordGhlIGVhcmx5IGluaXQg ZmlsZS4gIE5vdGUgdGhhdCB2YXJpYWJsZXMgbGlrZSAncGFja2FnZS1hcmNoaXZlcycgY2FuCiti ZSBzZXQgYWZ0ZXIgJ3BhY2thZ2UtaW5pdGlhbGl6ZScsIHNvIHRoZXkgY2FuIHN0aWxsIGJlIGN1 c3RvbWl6ZWQgaW4KK3RoZSByZWd1bGFyIGluaXQgZmlsZS4KKwogDAogKiBDaGFuZ2VzIGluIEVt YWNzIDI3LjEKIApkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL3BhY2thZ2UuZWwgYi9saXNw L2VtYWNzLWxpc3AvcGFja2FnZS5lbAppbmRleCA3MWQxYzQxZWMzLi5hYjAyZDQyNTViIDEwMDY0 NAotLS0gYS9saXNwL2VtYWNzLWxpc3AvcGFja2FnZS5lbAorKysgYi9saXNwL2VtYWNzLWxpc3Av cGFja2FnZS5lbApAQCAtMTQzMSwxNiArMTQzMSwxMSBAQCBwYWNrYWdlLXJlYWQtYWxsLWFyY2hp dmUtY29udGVudHMKIDs7IGF2YWlsYWJsZSBvbiBkaXNrLgogKGRlZnZhciBwYWNrYWdlLS1pbml0 aWFsaXplZCBuaWwpCiAKLShkZWZ2YXIgcGFja2FnZS0taW5pdC1maWxlLWVuc3VyZWQgbmlsCi0g ICJXaGV0aGVyIHdlIGtub3cgdGhlIGluaXQgZmlsZSBoYXMgcGFja2FnZS1pbml0aWFsaXplLiIp Ci0KIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4gcGFja2FnZS1pbml0aWFsaXplICgmb3B0aW9uYWwg bm8tYWN0aXZhdGUpCiAgICJMb2FkIEVtYWNzIExpc3AgcGFja2FnZXMsIGFuZCBhY3RpdmF0ZSB0 aGVtLgogVGhlIHZhcmlhYmxlIGBwYWNrYWdlLWxvYWQtbGlzdCcgY29udHJvbHMgd2hpY2ggcGFj a2FnZXMgdG8gbG9hZC4KIElmIG9wdGlvbmFsIGFyZyBOTy1BQ1RJVkFURSBpcyBub24tbmlsLCBk b24ndCBhY3RpdmF0ZSBwYWNrYWdlcy4KLUlmIGB1c2VyLWluaXQtZmlsZScgZG9lcyBub3QgbWVu dGlvbiBgKHBhY2thZ2UtaW5pdGlhbGl6ZSknLCBhZGQKLWl0IHRvIHRoZSBmaWxlLgogSWYgY2Fs bGVkIGFzIHBhcnQgb2YgbG9hZGluZyBgdXNlci1pbml0LWZpbGUnLCBzZXQKIGBwYWNrYWdlLWVu YWJsZS1hdC1zdGFydHVwJyB0byBuaWwsIHRvIHByZXZlbnQgYWNjaWRlbnRhbGx5CiBsb2FkaW5n IHBhY2thZ2VzIHR3aWNlLgpAQCAtMTQ0OSwxMyArMTQ0NCw3IEBAIHBhY2thZ2UtaW5pdGlhbGl6 ZQogdGFrZW4gY2FyZSBvZiBieSBgcGFja2FnZS1pbml0aWFsaXplJy4iCiAgIChpbnRlcmFjdGl2 ZSkKICAgKHNldHEgcGFja2FnZS1hbGlzdCBuaWwpCi0gIChpZiBhZnRlci1pbml0LXRpbWUKLSAg ICAgIChwYWNrYWdlLS1lbnN1cmUtaW5pdC1maWxlKQotICAgIDs7IElmIGBwYWNrYWdlLWluaXRp YWxpemUnIGlzIGJlZm9yZSB3ZSBmaW5pc2hlZCBsb2FkaW5nIHRoZSBpbml0Ci0gICAgOzsgZmls ZSwgaXQncyBvYnZpb3VzIHdlIGRvbid0IG5lZWQgdG8gZW5zdXJlLWluaXQuCi0gICAgKHNldHEg cGFja2FnZS0taW5pdC1maWxlLWVuc3VyZWQgdAotICAgICAgICAgIDs7IEFuZCBsaWtlbHkgd2Ug ZG9uJ3QgbmVlZCB0byBydW4gaXQgYWdhaW4gYWZ0ZXIgaW5pdC4KLSAgICAgICAgICBwYWNrYWdl LWVuYWJsZS1hdC1zdGFydHVwIG5pbCkpCisgIChzZXRxIHBhY2thZ2UtZW5hYmxlLWF0LXN0YXJ0 dXAgbmlsKQogICAocGFja2FnZS1sb2FkLWFsbC1kZXNjcmlwdG9ycykKICAgKHBhY2thZ2UtcmVh ZC1hbGwtYXJjaGl2ZS1jb250ZW50cykKICAgKHVubGVzcyBuby1hY3RpdmF0ZQpAQCAtMTg3Miw2 NCArMTg2MSw2IEBAIHBhY2thZ2UtZG93bmxvYWQtdHJhbnNhY3Rpb24KIHVzaW5nIGBwYWNrYWdl LWNvbXB1dGUtdHJhbnNhY3Rpb24nLiIKICAgKG1hcGMgIydwYWNrYWdlLWluc3RhbGwtZnJvbS1h cmNoaXZlIHBhY2thZ2VzKSkKIAotKGRlZnVuIHBhY2thZ2UtLWVuc3VyZS1pbml0LWZpbGUgKCkK LSAgIkVuc3VyZSB0aGF0IHRoZSB1c2VyJ3MgaW5pdCBmaWxlIGhhcyBgcGFja2FnZS1pbml0aWFs aXplJy4KLWBwYWNrYWdlLWluaXRpYWxpemUnIGRvZXNuJ3QgaGF2ZSB0byBiZSBjYWxsZWQsIGFz IGxvbmcgYXMgaXQgaXMKLXByZXNlbnQgc29tZXdoZXJlIGluIHRoZSBmaWxlLCBldmVuIGFzIGEg Y29tbWVudC4gIElmIGl0IGlzIG5vdCwKLWFkZCBhIGNhbGwgdG8gaXQgYWxvbmcgd2l0aCBzb21l IGV4cGxhbmF0b3J5IGNvbW1lbnRzLiIKLSAgOzsgRG9uJ3QgbWVzcyB3aXRoIHRoZSBpbml0LWZp bGUgZnJvbSAiZW1hY3MgLVEiLgotICAod2hlbiAoYW5kIChzdHJpbmdwIHVzZXItaW5pdC1maWxl KQotICAgICAgICAgICAgIChub3QgcGFja2FnZS0taW5pdC1maWxlLWVuc3VyZWQpCi0gICAgICAg ICAgICAgKGZpbGUtcmVhZGFibGUtcCB1c2VyLWluaXQtZmlsZSkKLSAgICAgICAgICAgICAoZmls ZS13cml0YWJsZS1wIHVzZXItaW5pdC1maWxlKSkKLSAgICAobGV0KiAoKGJ1ZmZlciAoZmluZC1i dWZmZXItdmlzaXRpbmcgdXNlci1pbml0LWZpbGUpKQotICAgICAgICAgICBidWZmZXItbmFtZQot ICAgICAgICAgICAoY29udGFpbnMtaW5pdAotICAgICAgICAgICAgKGlmIGJ1ZmZlcgotICAgICAg ICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIGJ1ZmZlcgotICAgICAgICAgICAgICAgICAg KHNhdmUtZXhjdXJzaW9uCi0gICAgICAgICAgICAgICAgICAgIChzYXZlLXJlc3RyaWN0aW9uCi0g ICAgICAgICAgICAgICAgICAgICAgKHdpZGVuKQotICAgICAgICAgICAgICAgICAgICAgIChnb3Rv LWNoYXIgKHBvaW50LW1pbikpCi0gICAgICAgICAgICAgICAgICAgICAgKHJlLXNlYXJjaC1mb3J3 YXJkICIocGFja2FnZS1pbml0aWFsaXplXFxfPiIgbmlsICdub2Vycm9yKSkpKQotICAgICAgICAg ICAgICA7OyBEb24ndCB2aXNpdCB0aGUgZmlsZSBpZiB3ZSBkb24ndCBoYXZlIHRvLgotICAgICAg ICAgICAgICAod2l0aC10ZW1wLWJ1ZmZlcgotICAgICAgICAgICAgICAgIChpbnNlcnQtZmlsZS1j b250ZW50cyB1c2VyLWluaXQtZmlsZSkKLSAgICAgICAgICAgICAgICAoZ290by1jaGFyIChwb2lu dC1taW4pKQotICAgICAgICAgICAgICAgIChyZS1zZWFyY2gtZm9yd2FyZCAiKHBhY2thZ2UtaW5p dGlhbGl6ZVxcXz4iIG5pbCAnbm9lcnJvcikpKSkpCi0gICAgICAodW5sZXNzIGNvbnRhaW5zLWlu aXQKLSAgICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgKG9yIGJ1ZmZlcgotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGxldCAoKGRlbGF5LW1vZGUtaG9va3MgdCkKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGUtdmlzaXQtdHJ1ZW5hbWUg dCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGUtbm9zZWxl Y3QgdXNlci1pbml0LWZpbGUpKSkKLSAgICAgICAgICAod2hlbiBidWZmZXIKLSAgICAgICAgICAg IChzZXRxIGJ1ZmZlci1uYW1lIChidWZmZXItZmlsZS1uYW1lKSkKLSAgICAgICAgICAgIChzZXQt dmlzaXRlZC1maWxlLW5hbWUgKGZpbGUtY2hhc2UtbGlua3MgdXNlci1pbml0LWZpbGUpKSkKLSAg ICAgICAgICAoc2F2ZS1leGN1cnNpb24KLSAgICAgICAgICAgIChzYXZlLXJlc3RyaWN0aW9uCi0g ICAgICAgICAgICAgICh3aWRlbikKLSAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWlu KSkKLSAgICAgICAgICAgICAgKHdoaWxlIChhbmQgKGxvb2tpbmctYXQtcCAiW1s6Ymxhbms6XV0q XFwoO1xcfCRcXCkiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChlb2JwKSkpCi0g ICAgICAgICAgICAgICAgKGZvcndhcmQtbGluZSAxKSkKLSAgICAgICAgICAgICAgKGluc2VydAot ICAgICAgICAgICAgICAgIlxuIgotICAgICAgICAgICAgICAgIjs7IEFkZGVkIGJ5IFBhY2thZ2Uu ZWwuICBUaGlzIG11c3QgY29tZSBiZWZvcmUgY29uZmlndXJhdGlvbnMgb2ZcbiIKLSAgICAgICAg ICAgICAgICI7OyBpbnN0YWxsZWQgcGFja2FnZXMuICBEb24ndCBkZWxldGUgdGhpcyBsaW5lLiAg SWYgeW91IGRvbid0IHdhbnQgaXQsXG4iCi0gICAgICAgICAgICAgICAiOzsganVzdCBjb21tZW50 IGl0IG91dCBieSBhZGRpbmcgYSBzZW1pY29sb24gdG8gdGhlIHN0YXJ0IG9mIHRoZSBsaW5lLlxu IgotICAgICAgICAgICAgICAgIjs7IFlvdSBtYXkgZGVsZXRlIHRoZXNlIGV4cGxhbmF0b3J5IGNv bW1lbnRzLlxuIgotICAgICAgICAgICAgICAgIihwYWNrYWdlLWluaXRpYWxpemUpXG4iKQotICAg ICAgICAgICAgICAodW5sZXNzIChsb29raW5nLWF0LXAgIiQiKQotICAgICAgICAgICAgICAgIChp bnNlcnQgIlxuIikpCi0gICAgICAgICAgICAgIChsZXQgKChmaWxlLXByZWNpb3VzLWZsYWcgdCkp Ci0gICAgICAgICAgICAgICAgKHNhdmUtYnVmZmVyKSkKLSAgICAgICAgICAgICAgKGlmIGJ1ZmZl cgotICAgICAgICAgICAgICAgICAgKHByb2duCi0gICAgICAgICAgICAgICAgICAgIChzZXQtdmlz aXRlZC1maWxlLW5hbWUgYnVmZmVyLW5hbWUpCi0gICAgICAgICAgICAgICAgICAgIChzZXQtYnVm ZmVyLW1vZGlmaWVkLXAgbmlsKSkKLSAgICAgICAgICAgICAgICAoa2lsbC1idWZmZXIgKGN1cnJl bnQtYnVmZmVyKSkpKSkpKSkpCi0gIChzZXRxIHBhY2thZ2UtLWluaXQtZmlsZS1lbnN1cmVkIHQp KQotCiA7OzsjIyNhdXRvbG9hZAogKGRlZnVuIHBhY2thZ2UtaW5zdGFsbCAocGtnICZvcHRpb25h bCBkb250LXNlbGVjdCkKICAgIkluc3RhbGwgdGhlIHBhY2thZ2UgUEtHLgpkaWZmIC0tZ2l0IGEv bGlzcC9zdGFydHVwLmVsIGIvbGlzcC9zdGFydHVwLmVsCmluZGV4IDhjMzZjMTllODIuLjY5YmM4 ZmE3ODEgMTAwNjQ0Ci0tLSBhL2xpc3Avc3RhcnR1cC5lbAorKysgYi9saXNwL3N0YXJ0dXAuZWwK QEAgLTMxMiw2ICszMTIsMTIgQEAgaW5oaWJpdC1zdGFydHVwLWhvb2tzCiBDdXJyZW50bHkgdGhp cyBhcHBsaWVzIHRvOiBgZW1hY3Mtc3RhcnR1cC1ob29rJywgYHRlcm0tc2V0dXAtaG9vaycsCiBh bmQgYHdpbmRvdy1zZXR1cC1ob29rJy4iKQogCisoZGVmdmFyIGVhcmx5LWluaXQtZmlsZSBuaWwK KyAgIkZpbGUgbmFtZSwgaW5jbHVkaW5nIGRpcmVjdG9yeSwgb2YgdXNlcidzIGVhcmx5IGluaXQg ZmlsZS4KK1NlZSBgdXNlci1pbml0LWZpbGUnLiAgVGhlIG9ubHkgZGlmZmVyZW5jZSBpcyB0aGF0 CitgZWFybHktaW5pdC1maWxlJyBpcyBub3Qgc2V0IGR1cmluZyB0aGUgY291cnNlIG9mIGV2YWx1 YXRpbmcgdGhlCitlYXJseSBpbml0IGZpbGUuIikKKwogKGRlZnZhciBrZXlib2FyZC10eXBlIG5p bAogICAiVGhlIGJyYW5kIG9mIGtleWJvYXJkIHlvdSBhcmUgdXNpbmcuCiBUaGlzIHZhcmlhYmxl IGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBwcm9wZXIgZnVuY3Rpb24gYW5kIGtleXBhZApAQCAtODcw LDYgKzg3NiwxMDMgQEAgc3RhcnR1cC0tc2V0dXAtcXVvdGUtZGlzcGxheQogICAgICAgICAgICh3 aGVuIHN0YW5kYXJkLWRpc3BsYXktdGFibGUKICAgICAgICAgICAgIChhc2V0IHN0YW5kYXJkLWRp c3BsYXktdGFibGUgY2hhciBuaWwpKSkpKSkpCiAKKyhkZWZ1biBsb2FkLXVzZXItaW5pdC1maWxl CisgICAgKGZpbGVuYW1lLWZ1bmN0aW9uICZvcHRpb25hbCBhbHRlcm5hdGUtZmlsZW5hbWUtZnVu Y3Rpb24gbG9hZC1kZWZhdWx0cykKKyAgIkxvYWQgYSB1c2VyIGluaXQtZmlsZS4KK0ZJTEVOQU1F LUZVTkNUSU9OIGlzIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50cyBhbmQgc2hvdWxkIHJldHVybgor dGhlIG5hbWUgb2YgdGhlIGluaXQtZmlsZSB0byBsb2FkLiAgSWYgdGhpcyBmaWxlIGNhbm5vdCBi ZQorbG9hZGVkLCBhbmQgQUxURVJOQVRFLUZJTEVOQU1FLUZVTkNUSU9OIGlzIG5vbi1uaWwsIHRo ZW4gaXQgaXMKK2NhbGxlZCB3aXRoIG5vIGFyZ3VtZW50cyBhbmQgc2hvdWxkIHJldHVybiB0aGUg bmFtZSBvZiBhbgorYWx0ZXJuYXRlIGluaXQtZmlsZSB0byBsb2FkLiAgSWYgTE9BRC1ERUZBVUxU UyBpcyBub24tbmlsLCB0aGVuCitsb2FkIGRlZmF1bHQuZWwgYWZ0ZXIgdGhlIGluaXQtZmlsZS4K KworVGhpcyBmdW5jdGlvbiBzZXRzIGB1c2VyLWluaXQtZmlsZScgdG8gdGhlIG5hbWUgb2YgdGhl IGxvYWRlZAoraW5pdC1maWxlLCBvciB0byBhIGRlZmF1bHQgdmFsdWUgaWYgbG9hZGluZyBpcyBu b3QgcG9zc2libGUuIgorICAobGV0ICgoZGVidWctb24tZXJyb3ItZnJvbS1pbml0LWZpbGUgbmls KQorICAgICAgICAoZGVidWctb24tZXJyb3Itc2hvdWxkLWJlLXNldCBuaWwpCisgICAgICAgIChk ZWJ1Zy1vbi1lcnJvci1pbml0aWFsCisgICAgICAgICAoaWYgKGVxIGluaXQtZmlsZS1kZWJ1ZyB0 KQorICAgICAgICAgICAgICdzdGFydHVwCisgICAgICAgICAgIGluaXQtZmlsZS1kZWJ1ZykpKQor ICAgIChsZXQgKChkZWJ1Zy1vbi1lcnJvciBkZWJ1Zy1vbi1lcnJvci1pbml0aWFsKQorICAgICAg ICAgIDs7IFdlIGNyZWF0ZSBhbiBhbm9ueW1vdXMgZnVuY3Rpb24gaGVyZSBzbyB0aGF0IHdlIGNh biBjYWxsCisgICAgICAgICAgOzsgaXQgaW4gZGlmZmVyZW50IGNvbnRleHRzIGRlcGVuZGluZyBv biB0aGUgdmFsdWUgb2YKKyAgICAgICAgICA7OyBgZGVidWctb24tZXJyb3InLgorICAgICAgICAg IChyZWFkLWluaXQtZmlsZQorICAgICAgICAgICAobGFtYmRhICgpCisgICAgICAgICAgICAgKHdo ZW4gaW5pdC1maWxlLXVzZXIKKyAgICAgICAgICAgICAgIChsZXQgKChpbml0LWZpbGUtbmFtZSAo ZnVuY2FsbCBmaWxlbmFtZS1mdW5jdGlvbikpKQorCisgICAgICAgICAgICAgICAgIDs7IElmIGB1 c2VyLWluaXQtZmlsZScgaXMgdCwgdGhlbiBgbG9hZCcgd2lsbCBzdG9yZQorICAgICAgICAgICAg ICAgICA7OyB0aGUgbmFtZSBvZiB0aGUgZmlsZSB0aGF0IGl0IGxvYWRzIGludG8KKyAgICAgICAg ICAgICAgICAgOzsgYHVzZXItaW5pdC1maWxlJy4KKyAgICAgICAgICAgICAgICAgKHNldHEgdXNl ci1pbml0LWZpbGUgdCkKKyAgICAgICAgICAgICAgICAgKGxvYWQgaW5pdC1maWxlLW5hbWUgJ25v ZXJyb3IgJ25vbWVzc2FnZSkKKworICAgICAgICAgICAgICAgICAod2hlbiAoYW5kIChlcSB1c2Vy LWluaXQtZmlsZSB0KSBhbHRlcm5hdGUtZmlsZW5hbWUtZnVuY3Rpb24pCisgICAgICAgICAgICAg ICAgICAgKGxvYWQgKGZ1bmNhbGwgYWx0ZXJuYXRlLWZpbGVuYW1lLWZ1bmN0aW9uKQorICAgICAg ICAgICAgICAgICAgICAgICAgICdub2Vycm9yICdub21lc3NhZ2UpKQorCisgICAgICAgICAgICAg ICAgIDs7IElmIHdlIGRpZCBub3QgZmluZCB0aGUgdXNlcidzIGluaXQgZmlsZSwgc2V0CisgICAg ICAgICAgICAgICAgIDs7IHVzZXItaW5pdC1maWxlIGNvbmNsdXNpdmVseS4gIERvbid0IGxldCBp dCBiZQorICAgICAgICAgICAgICAgICA7OyBzZXQgZnJvbSBkZWZhdWx0LmVsLgorICAgICAgICAg ICAgICAgICAod2hlbiAoZXEgdXNlci1pbml0LWZpbGUgdCkKKyAgICAgICAgICAgICAgICAgICAo c2V0cSB1c2VyLWluaXQtZmlsZSBpbml0LWZpbGUtbmFtZSkpKQorCisgICAgICAgICAgICAgICA7 OyBJZiB3ZSBsb2FkZWQgYSBjb21waWxlZCBmaWxlLCBzZXQgYHVzZXItaW5pdC1maWxlJyB0bwor ICAgICAgICAgICAgICAgOzsgdGhlIHNvdXJjZSB2ZXJzaW9uIGlmIHRoYXQgZXhpc3RzLgorICAg ICAgICAgICAgICAgKHdoZW4gKGVxdWFsIChmaWxlLW5hbWUtZXh0ZW5zaW9uIHVzZXItaW5pdC1m aWxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGMiKQorICAgICAgICAgICAgICAg ICAobGV0KiAoKHNvdXJjZSAoZmlsZS1uYW1lLXNhbnMtZXh0ZW5zaW9uIHVzZXItaW5pdC1maWxl KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIChhbHQgKGNvbmNhdCBzb3VyY2UgIi5lbCIpKSkK KyAgICAgICAgICAgICAgICAgICAoc2V0cSBzb3VyY2UgKGNvbmQgKChmaWxlLWV4aXN0cy1wIGFs dCkgYWx0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGZpbGUtZXhp c3RzLXAgc291cmNlKSBzb3VyY2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICh0IG5pbCkpKQorICAgICAgICAgICAgICAgICAgICh3aGVuIHNvdXJjZQorICAgICAgICAg ICAgICAgICAgICAgKHdoZW4gKGZpbGUtbmV3ZXItdGhhbi1maWxlLXAgc291cmNlIHVzZXItaW5p dC1maWxlKQorICAgICAgICAgICAgICAgICAgICAgICAobWVzc2FnZSAiV2FybmluZzogJXMgaXMg bmV3ZXIgdGhhbiAlcyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlIHVz ZXItaW5pdC1maWxlKQorICAgICAgICAgICAgICAgICAgICAgICAoc2l0LWZvciAxKSkKKyAgICAg ICAgICAgICAgICAgICAgIChzZXRxIHVzZXItaW5pdC1maWxlIHNvdXJjZSkpKSkKKworICAgICAg ICAgICAgICAgKHdoZW4gbG9hZC1kZWZhdWx0cworCisgICAgICAgICAgICAgICAgIDs7IFByZXZl bnQgZGVmYXVsdC5lbCBmcm9tIGNoYW5naW5nIHRoZSB2YWx1ZSBvZgorICAgICAgICAgICAgICAg ICA7OyBgaW5oaWJpdC1zdGFydHVwLXNjcmVlbicuCisgICAgICAgICAgICAgICAgIChsZXQgKChp bmhpYml0LXN0YXJ0dXAtc2NyZWVuIG5pbCkpCisgICAgICAgICAgICAgICAgICAgKGxvYWQgImRl ZmF1bHQiICdub2Vycm9yICdub21lc3NhZ2UpKSkpKSkpCisgICAgICA7OyBOb3cgY2FsbCBvdXIg YW5vbnltb3VzIGZ1bmN0aW9uLgorICAgICAgKGlmIGluaXQtZmlsZS1kZWJ1ZworICAgICAgICAg IDs7IERvIHRoaXMgd2l0aG91dCBhIGBjb25kaXRpb24tY2FzZScgaWYgdGhlIHVzZXIgd2FudHMg dG8KKyAgICAgICAgICA7OyBkZWJ1Zy4KKyAgICAgICAgICAoZnVuY2FsbCByZWFkLWluaXQtZmls ZSkKKyAgICAgICAgKGNvbmRpdGlvbi1jYXNlIGVycm9yCisgICAgICAgICAgICAoZnVuY2FsbCBy ZWFkLWluaXQtZmlsZSkKKyAgICAgICAgICAoZXJyb3IKKyAgICAgICAgICAgKGRpc3BsYXktd2Fy bmluZworICAgICAgICAgICAgJ2luaXRpYWxpemF0aW9uCisgICAgICAgICAgICAoZm9ybWF0LW1l c3NhZ2UgIlwKK0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIGxvYWRpbmcgYCVzJzpcblxuJXMlcyVz XG5cblwKK1RvIGVuc3VyZSBub3JtYWwgb3BlcmF0aW9uLCB5b3Ugc2hvdWxkIGludmVzdGlnYXRl IGFuZCByZW1vdmUgdGhlCitjYXVzZSBvZiB0aGUgZXJyb3IgaW4geW91ciBpbml0aWFsaXphdGlv biBmaWxlLiAgU3RhcnQgRW1hY3Mgd2l0aAordGhlIGAtLWRlYnVnLWluaXQnIG9wdGlvbiB0byB2 aWV3IGEgY29tcGxldGUgZXJyb3IgYmFja3RyYWNlLiIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1c2VyLWluaXQtZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnZXQgKGNh ciBlcnJvcikgJ2Vycm9yLW1lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlm IChjZHIgZXJyb3IpICI6ICIgIiIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcGNv bmNhdCAobGFtYmRhIChzKSAocHJpbjEtdG8tc3RyaW5nIHMgdCkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoY2RyIGVycm9yKSAiLCAiKSkKKyAgICAgICAgICAgIDp3 YXJuaW5nKQorICAgICAgICAgICAoc2V0cSBpbml0LWZpbGUtaGFkLWVycm9yIHQpKSkpCisKKyAg ICAgIDs7IElmIHdlIGNhbiB0ZWxsIHRoYXQgdGhlIGluaXQgZmlsZSBhbHRlcmVkIGRlYnVnLW9u LWVycm9yLAorICAgICAgOzsgYXJyYW5nZSB0byBwcmVzZXJ2ZSB0aGUgdmFsdWUgdGhhdCBpdCBz ZXQgdXAuCisgICAgICAob3IgKGVxIGRlYnVnLW9uLWVycm9yIGRlYnVnLW9uLWVycm9yLWluaXRp YWwpCisgICAgICAgICAgKHNldHEgZGVidWctb24tZXJyb3Itc2hvdWxkLWJlLXNldCB0CisgICAg ICAgICAgICAgICAgZGVidWctb24tZXJyb3ItZnJvbS1pbml0LWZpbGUgZGVidWctb24tZXJyb3Ip KSkKKworICAgICh3aGVuIGRlYnVnLW9uLWVycm9yLXNob3VsZC1iZS1zZXQKKyAgICAgIChzZXRx IGRlYnVnLW9uLWVycm9yIGRlYnVnLW9uLWVycm9yLWZyb20taW5pdC1maWxlKSkpKQorCiAoZGVm dW4gY29tbWFuZC1saW5lICgpCiAgICJBIHN1YnJvdXRpbmUgb2YgYG5vcm1hbC10b3AtbGV2ZWwn LgogQW1vbmdzdCBhbm90aGVyIHRoaW5ncywgaXQgcGFyc2VzIHRoZSBjb21tYW5kLWxpbmUgYXJn dW1lbnRzLiIKQEAgLTEwMjEsNiArMTEyNCw2OSBAQCBjb21tYW5kLWxpbmUKICAgICAoYW5kIGNv bW1hbmQtbGluZS1hcmdzCiAgICAgICAgICAoc2V0Y2RyIGNvbW1hbmQtbGluZS1hcmdzIGFyZ3Mp KSkKIAorICA7OyBXYXJuIGZvciBpbnZhbGlkIHVzZXIgbmFtZS4KKyAgKHdoZW4gaW5pdC1maWxl LXVzZXIKKyAgICAoaWYgKHN0cmluZy1tYXRjaCAiW34vOlxuXSIgaW5pdC1maWxlLXVzZXIpCisg ICAgICAgIChkaXNwbGF5LXdhcm5pbmcgJ2luaXRpYWxpemF0aW9uCisgICAgICAgICAgICAgICAg ICAgICAgICAgKGZvcm1hdCAiSW52YWxpZCB1c2VyIG5hbWUgJXMiCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbml0LWZpbGUtdXNlcikKKyAgICAgICAgICAgICAgICAgICAgICAg ICA6ZXJyb3IpCisgICAgICAoaWYgKGZpbGUtZGlyZWN0b3J5LXAgKGV4cGFuZC1maWxlLW5hbWUK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgV2UgZG9uJ3Qgc3VwcG9ydCB+VVNFUiBv biBNUy1XaW5kb3dzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IGFuZCBNUy1ET1Mg ZXhjZXB0IGZvciB0aGUgY3VycmVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyB1 c2VyLCBhbmQgYWx3YXlzIGxvYWQgLmVtYWNzIGZyb20KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOzsgdGhlIGN1cnJlbnQgdXNlcidzIGhvbWUgZGlyZWN0b3J5CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDs7IChzZWUgYmVsb3cpLiAgU28gYWx3YXlzIGNoZWNrICJ+IiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgZXZlbiBpZiBpbnZva2VkIHdpdGggIi11IFVT RVIiLCBvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBpZiAkVVNFUiBvciAkTE9H TkFNRSBhcmUgc2V0IHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IHNvbWV0aGlu ZyBkaWZmZXJlbnQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAobWVtcSBzeXN0 ZW0tdHlwZSAnKHdpbmRvd3MtbnQgbXMtZG9zKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJ+IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25jYXQgIn4iIGlu aXQtZmlsZS11c2VyKSkpKQorICAgICAgICAgIG5pbAorICAgICAgICAoZGlzcGxheS13YXJuaW5n ICdpbml0aWFsaXphdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgIChmb3JtYXQgIlVzZXIg JXMgaGFzIG5vIGhvbWUgZGlyZWN0b3J5IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGlmIChlcXVhbCBpbml0LWZpbGUtdXNlciAiIikKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAodXNlci1yZWFsLWxvZ2luLW5hbWUpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGluaXQtZmlsZS11c2VyKSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICA6ZXJyb3IpKSkpCisKKyAgOzsgTG9hZCB0aGUgZWFybHkgaW5pdCBmaWxlLCBpZiBmb3VuZC4K KyAgKGxvYWQtdXNlci1pbml0LWZpbGUKKyAgIChsYW1iZGEgKCkKKyAgICAgKGV4cGFuZC1maWxl LW5hbWUKKyAgICAgICJlYXJseS1pbml0IgorICAgICAgKGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkK KyAgICAgICAoY29uY2F0ICJ+IiBpbml0LWZpbGUtdXNlciAiLy5lbWFjcy5kIikpKSkpCisgIChz ZXRxIGVhcmx5LWluaXQtZmlsZSB1c2VyLWluaXQtZmlsZSkKKworICA7OyBJZiBhbnkgcGFja2Fn ZSBkaXJlY3RvcnkgZXhpc3RzLCBpbml0aWFsaXplIHRoZSBwYWNrYWdlIHN5c3RlbS4KKyAgKGFu ZCB1c2VyLWluaXQtZmlsZQorICAgICAgIHBhY2thZ2UtZW5hYmxlLWF0LXN0YXJ0dXAKKyAgICAg ICAoY2F0Y2ggJ3BhY2thZ2UtZGlyLWZvdW5kCisJIChsZXQgKGRpcnMpCisJICAgKGlmIChib3Vu ZHAgJ3BhY2thZ2UtZGlyZWN0b3J5LWxpc3QpCisJICAgICAgIChzZXRxIGRpcnMgcGFja2FnZS1k aXJlY3RvcnktbGlzdCkKKwkgICAgIChkb2xpc3QgKGYgbG9hZC1wYXRoKQorCSAgICAgICAoYW5k IChzdHJpbmdwIGYpCisJCSAgICAoZXF1YWwgKGZpbGUtbmFtZS1ub25kaXJlY3RvcnkgZikgInNp dGUtbGlzcCIpCisJCSAgICAocHVzaCAoZXhwYW5kLWZpbGUtbmFtZSAiZWxwYSIgZikgZGlycykp KSkKKwkgICAocHVzaCAoaWYgKGJvdW5kcCAncGFja2FnZS11c2VyLWRpcikKKwkJICAgICBwYWNr YWdlLXVzZXItZGlyCisJCSAgIChsb2NhdGUtdXNlci1lbWFjcy1maWxlICJlbHBhIikpCisJCSBk aXJzKQorCSAgIChkb2xpc3QgKGRpciBkaXJzKQorCSAgICAgKHdoZW4gKGZpbGUtZGlyZWN0b3J5 LXAgZGlyKQorCSAgICAgICAoZG9saXN0IChzdWJkaXIgKGRpcmVjdG9yeS1maWxlcyBkaXIpKQor CQkgKHdoZW4gKGxldCAoKHN1YmRpciAoZXhwYW5kLWZpbGUtbmFtZSBzdWJkaXIgZGlyKSkpCisg ICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoZmlsZS1kaXJlY3RvcnktcCBzdWJkaXIpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZS1leGlzdHMtcAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChleHBhbmQtZmlsZS1uYW1lCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChwYWNrYWdlLS1kZXNjcmlwdGlvbi1maWxlIHN1YmRpcikKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3ViZGlyKSkpKQorCQkgICAodGhyb3cgJ3BhY2thZ2Ut ZGlyLWZvdW5kIHQpKSkpKSkpCisgICAgICAgKHBhY2thZ2UtaW5pdGlhbGl6ZSkpCisKICAgOzsg TWFrZSBzdXJlIHdpbmRvdyBzeXN0ZW0ncyBpbml0IGZpbGUgd2FzIGxvYWRlZCBpbiBsb2FkdXAu ZWwgaWYKICAgOzsgdXNpbmcgYSB3aW5kb3cgc3lzdGVtLgogICA7OyBJbml0aWFsaXplIHRoZSB3 aW5kb3ctc3lzdGVtIG9ubHkgYWZ0ZXIgcHJvY2Vzc2luZyB0aGUgY29tbWFuZC1saW5lCkBAIC0x MTI4LDE1MyArMTI5NCw0NyBAQCBjb21tYW5kLWxpbmUKICAgICA7OyB0aGUgc3RhcnR1cCBzY3Jl ZW4uCiAgICAgKHNldHEgaW5oaWJpdC1zdGFydHVwLXNjcmVlbiBuaWwpCiAKLSAgICA7OyBXYXJu IGZvciBpbnZhbGlkIHVzZXIgbmFtZS4KLSAgICAod2hlbiBpbml0LWZpbGUtdXNlcgotICAgICAg KGlmIChzdHJpbmctbWF0Y2ggIlt+Lzpcbl0iIGluaXQtZmlsZS11c2VyKQotCSAgKGRpc3BsYXkt d2FybmluZyAnaW5pdGlhbGl6YXRpb24KLQkJCSAgIChmb3JtYXQgIkludmFsaWQgdXNlciBuYW1l ICVzIgotCQkJCSAgIGluaXQtZmlsZS11c2VyKQotCQkJICAgOmVycm9yKQotCShpZiAoZmlsZS1k aXJlY3RvcnktcCAoZXhwYW5kLWZpbGUtbmFtZQotCQkJICAgICAgIDs7IFdlIGRvbid0IHN1cHBv cnQgflVTRVIgb24gTVMtV2luZG93cwotCQkJICAgICAgIDs7IGFuZCBNUy1ET1MgZXhjZXB0IGZv ciB0aGUgY3VycmVudAotCQkJICAgICAgIDs7IHVzZXIsIGFuZCBhbHdheXMgbG9hZCAuZW1hY3Mg ZnJvbQotCQkJICAgICAgIDs7IHRoZSBjdXJyZW50IHVzZXIncyBob21lIGRpcmVjdG9yeQotCQkJ ICAgICAgIDs7IChzZWUgYmVsb3cpLiAgU28gYWx3YXlzIGNoZWNrICJ+IiwKLQkJCSAgICAgICA7 OyBldmVuIGlmIGludm9rZWQgd2l0aCAiLXUgVVNFUiIsIG9yCi0JCQkgICAgICAgOzsgaWYgJFVT RVIgb3IgJExPR05BTUUgYXJlIHNldCB0bwotCQkJICAgICAgIDs7IHNvbWV0aGluZyBkaWZmZXJl bnQuCi0JCQkgICAgICAgKGlmIChtZW1xIHN5c3RlbS10eXBlICcod2luZG93cy1udCBtcy1kb3Mp KQotCQkJCSAgICJ+IgotCQkJCSAoY29uY2F0ICJ+IiBpbml0LWZpbGUtdXNlcikpKSkKLQkgICAg bmlsCi0JICAoZGlzcGxheS13YXJuaW5nICdpbml0aWFsaXphdGlvbgotCQkJICAgKGZvcm1hdCAi VXNlciAlcyBoYXMgbm8gaG9tZSBkaXJlY3RvcnkiCi0JCQkJICAgKGlmIChlcXVhbCBpbml0LWZp bGUtdXNlciAiIikKLQkJCQkgICAgICAgKHVzZXItcmVhbC1sb2dpbi1uYW1lKQotCQkJCSAgICAg aW5pdC1maWxlLXVzZXIpKQotCQkJICAgOmVycm9yKSkpKQotCiAgICAgOzsgTG9hZCB0aGF0IHVz ZXIncyBpbml0IGZpbGUsIG9yIHRoZSBkZWZhdWx0IG9uZSwgb3Igbm9uZS4KLSAgICAobGV0IChk ZWJ1Zy1vbi1lcnJvci1mcm9tLWluaXQtZmlsZQotCSAgZGVidWctb24tZXJyb3Itc2hvdWxkLWJl LXNldAotCSAgKGRlYnVnLW9uLWVycm9yLWluaXRpYWwKLQkgICAoaWYgKGVxIGluaXQtZmlsZS1k ZWJ1ZyB0KSAnc3RhcnR1cCBpbml0LWZpbGUtZGVidWcpKSkKLSAgICAgIChsZXQgKChkZWJ1Zy1v bi1lcnJvciBkZWJ1Zy1vbi1lcnJvci1pbml0aWFsKQotCSAgICA7OyBUaGlzIGZ1bmN0aW9uIGFj dHVhbGx5IHJlYWRzIHRoZSBpbml0IGZpbGVzLgotCSAgICAoaW5uZXIKLQkgICAgIChmdW5jdGlv bgotCSAgICAgIChsYW1iZGEgKCkKLQkJKGlmIGluaXQtZmlsZS11c2VyCi0JCSAgICAobGV0ICgo dXNlci1pbml0LWZpbGUtMQotCQkJICAgKGNvbmQKLQkJCSAgICAgKChlcSBzeXN0ZW0tdHlwZSAn bXMtZG9zKQotCQkJICAgICAgKGNvbmNhdCAifiIgaW5pdC1maWxlLXVzZXIgIi9fZW1hY3MiKSkK LQkJCSAgICAgKChub3QgKGVxIHN5c3RlbS10eXBlICd3aW5kb3dzLW50KSkKLQkJCSAgICAgIChj b25jYXQgIn4iIGluaXQtZmlsZS11c2VyICIvLmVtYWNzIikpCi0JCQkgICAgIDs7IEVsc2UgZGVh bCB3aXRoIHRoZSBXaW5kb3dzIHNpdHVhdGlvbgotCQkJICAgICAoKGRpcmVjdG9yeS1maWxlcyAi fiIgbmlsICJeXFwuZW1hY3NcXChcXC5lbGM/XFwpPyQiKQotCQkJICAgICAgOzsgUHJlZmVyIC5l bWFjcyBvbiBXaW5kb3dzLgotCQkJICAgICAgIn4vLmVtYWNzIikKLQkJCSAgICAgKChkaXJlY3Rv cnktZmlsZXMgIn4iIG5pbCAiXl9lbWFjc1xcKFxcLmVsYz9cXCk/JCIpCi0JCQkgICAgICA7OyBB bHNvIHN1cHBvcnQgX2VtYWNzIGZvciBjb21wYXRpYmlsaXR5LCBidXQgd2FybiBhYm91dCBpdC4K LQkJCSAgICAgIChwdXNoIGAoaW5pdGlhbGl6YXRpb24KLQkJCQkgICAgICAsKGZvcm1hdC1tZXNz YWdlCi0JCQkJCSJgX2VtYWNzJyBpbml0IGZpbGUgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBg LmVtYWNzJyIpKQotCQkJCSAgICBkZWxheWVkLXdhcm5pbmdzLWxpc3QpCi0JCQkgICAgICAifi9f ZW1hY3MiKQotCQkJICAgICAodCA7OyBCdXQgZGVmYXVsdCB0byAuZW1hY3MgaWYgX2VtYWNzIGRv ZXMgbm90IGV4aXN0LgotCQkJICAgICAgIn4vLmVtYWNzIikpKSkKLQkJICAgICAgOzsgVGhpcyB0 ZWxscyBgbG9hZCcgdG8gc3RvcmUgdGhlIGZpbGUgbmFtZSBmb3VuZAotCQkgICAgICA7OyBpbnRv IHVzZXItaW5pdC1maWxlLgotCQkgICAgICAoc2V0cSB1c2VyLWluaXQtZmlsZSB0KQotCQkgICAg ICAobG9hZCB1c2VyLWluaXQtZmlsZS0xIHQgdCkKLQotCQkgICAgICAod2hlbiAoZXEgdXNlci1p bml0LWZpbGUgdCkKLQkJCTs7IElmIHdlIGRpZCBub3QgZmluZCB+Ly5lbWFjcywgdHJ5Ci0JCQk7 OyB+Ly5lbWFjcy5kL2luaXQuZWwuCi0JCQkobGV0ICgob3RoZXJmaWxlCi0JCQkgICAgICAgKGV4 cGFuZC1maWxlLW5hbWUKLQkJCQkiaW5pdCIKLQkJCQkoZmlsZS1uYW1lLWFzLWRpcmVjdG9yeQot CQkJCSAoY29uY2F0ICJ+IiBpbml0LWZpbGUtdXNlciAiLy5lbWFjcy5kIikpKSkpCi0JCQkgIChs b2FkIG90aGVyZmlsZSB0IHQpCi0KLQkJCSAgOzsgSWYgd2UgZGlkIG5vdCBmaW5kIHRoZSB1c2Vy J3MgaW5pdCBmaWxlLAotCQkJICA7OyBzZXQgdXNlci1pbml0LWZpbGUgY29uY2x1c2l2ZWx5Lgot CQkJICA7OyBEb24ndCBsZXQgaXQgYmUgc2V0IGZyb20gZGVmYXVsdC5lbC4KLQkJCSAgKHdoZW4g KGVxIHVzZXItaW5pdC1maWxlIHQpCi0JCQkgICAgKHNldHEgdXNlci1pbml0LWZpbGUgdXNlci1p bml0LWZpbGUtMSkpKSkKLQotCQkgICAgICA7OyBJZiB3ZSBsb2FkZWQgYSBjb21waWxlZCBmaWxl LCBzZXQKLQkJICAgICAgOzsgYHVzZXItaW5pdC1maWxlJyB0byB0aGUgc291cmNlIHZlcnNpb24g aWYgdGhhdAotCQkgICAgICA7OyBleGlzdHMuCi0JCSAgICAgICh3aGVuIChhbmQgdXNlci1pbml0 LWZpbGUKLQkJCQkgKGVxdWFsIChmaWxlLW5hbWUtZXh0ZW5zaW9uIHVzZXItaW5pdC1maWxlKQot CQkJCQkiZWxjIikpCi0JCQkobGV0KiAoKHNvdXJjZSAoZmlsZS1uYW1lLXNhbnMtZXh0ZW5zaW9u IHVzZXItaW5pdC1maWxlKSkKLQkJCSAgICAgICAoYWx0IChjb25jYXQgc291cmNlICIuZWwiKSkp Ci0JCQkgIChzZXRxIHNvdXJjZSAoY29uZCAoKGZpbGUtZXhpc3RzLXAgYWx0KSBhbHQpCi0JCQkJ CSAgICAgKChmaWxlLWV4aXN0cy1wIHNvdXJjZSkgc291cmNlKQotCQkJCQkgICAgICh0IG5pbCkp KQotCQkJICAod2hlbiBzb3VyY2UKLQkJCSAgICAod2hlbiAoZmlsZS1uZXdlci10aGFuLWZpbGUt cCBzb3VyY2UgdXNlci1pbml0LWZpbGUpCi0JCQkgICAgICAobWVzc2FnZSAiV2FybmluZzogJXMg aXMgbmV3ZXIgdGhhbiAlcyIKLQkJCQkgICAgICAgc291cmNlIHVzZXItaW5pdC1maWxlKQotCQkJ ICAgICAgKHNpdC1mb3IgMSkpCi0JCQkgICAgKHNldHEgdXNlci1pbml0LWZpbGUgc291cmNlKSkp KQotCi0JCSAgICAgICh1bmxlc3MgaW5oaWJpdC1kZWZhdWx0LWluaXQKLSAgICAgICAgICAgICAg ICAgICAgICAgIChsZXQgKChpbmhpYml0LXN0YXJ0dXAtc2NyZWVuIG5pbCkpCi0gICAgICAgICAg ICAgICAgICAgICAgICAgIDs7IFVzZXJzIGFyZSBzdXBwb3NlZCB0byBiZSB0b2xkIHRoZWlyIHJp Z2h0cy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgKFBsdXMgaG93IHRvIGdldCBoZWxw IGFuZCBob3cgdG8gdW5kby4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDs7IERvbid0IHlv dSBkYXJlIHR1cm4gdGhpcyBvZmYgZm9yIGFueW9uZQotICAgICAgICAgICAgICAgICAgICAgICAg ICA7OyBleGNlcHQgeW91cnNlbGYuCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChsb2FkICJk ZWZhdWx0IiB0IHQpKSkpKSkpKSkKLQkoaWYgaW5pdC1maWxlLWRlYnVnCi0JICAgIDs7IERvIHRo aXMgd2l0aG91dCBhIGNvbmRpdGlvbi1jYXNlIGlmIHRoZSB1c2VyIHdhbnRzIHRvIGRlYnVnLgot CSAgICAoZnVuY2FsbCBpbm5lcikKLQkgIChjb25kaXRpb24tY2FzZSBlcnJvcgotCSAgICAgIChw cm9nbgotCQkoZnVuY2FsbCBpbm5lcikKLQkJKHNldHEgaW5pdC1maWxlLWhhZC1lcnJvciBuaWwp KQotCSAgICAoZXJyb3IKLQkgICAgIChkaXNwbGF5LXdhcm5pbmcKLQkgICAgICAnaW5pdGlhbGl6 YXRpb24KLQkgICAgICAoZm9ybWF0LW1lc3NhZ2UgIlwKLUFuIGVycm9yIG9jY3VycmVkIHdoaWxl IGxvYWRpbmcgYCVzJzpcblxuJXMlcyVzXG5cblwKLVRvIGVuc3VyZSBub3JtYWwgb3BlcmF0aW9u LCB5b3Ugc2hvdWxkIGludmVzdGlnYXRlIGFuZCByZW1vdmUgdGhlCi1jYXVzZSBvZiB0aGUgZXJy b3IgaW4geW91ciBpbml0aWFsaXphdGlvbiBmaWxlLiAgU3RhcnQgRW1hY3Mgd2l0aAotdGhlIGAt LWRlYnVnLWluaXQnIG9wdGlvbiB0byB2aWV3IGEgY29tcGxldGUgZXJyb3IgYmFja3RyYWNlLiIK LQkJICAgICAgdXNlci1pbml0LWZpbGUKLQkJICAgICAgKGdldCAoY2FyIGVycm9yKSAnZXJyb3It bWVzc2FnZSkKLQkJICAgICAgKGlmIChjZHIgZXJyb3IpICI6ICIgIiIpCi0JCSAgICAgIChtYXBj b25jYXQgKGxhbWJkYSAocykgKHByaW4xLXRvLXN0cmluZyBzIHQpKQotCQkJCSAoY2RyIGVycm9y KSAiLCAiKSkKLQkgICAgICA6d2FybmluZykKLQkgICAgIChzZXRxIGluaXQtZmlsZS1oYWQtZXJy b3IgdCkpKSkKLQotICAgICAgKGlmIChhbmQgZGVhY3RpdmF0ZS1tYXJrIHRyYW5zaWVudC1tYXJr LW1vZGUpCi0JICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyICh3aW5kb3ctYnVmZmVyKQotCSAgICAg IChkZWFjdGl2YXRlLW1hcmspKSkKLQotCTs7IElmIHRoZSB1c2VyIGhhcyBhIGZpbGUgb2YgYWJi cmV2cywgcmVhZCBpdCAodW5sZXNzIC1iYXRjaCkuCi0JKHdoZW4gKGFuZCAobm90IG5vbmludGVy YWN0aXZlKQotCQkgICAoZmlsZS1leGlzdHMtcCBhYmJyZXYtZmlsZS1uYW1lKQotCQkgICAoZmls ZS1yZWFkYWJsZS1wIGFiYnJldi1maWxlLW5hbWUpKQotCSAgICAocXVpZXRseS1yZWFkLWFiYnJl di1maWxlIGFiYnJldi1maWxlLW5hbWUpKQotCi0JOzsgSWYgdGhlIGFiYnJldnMgY2FtZSBlbnRp cmVseSBmcm9tIHRoZSBpbml0IGZpbGUgb3IgdGhlCi0JOzsgYWJicmV2cyBmaWxlLCB0aGV5IGRv IG5vdCBuZWVkIHNhdmluZy4KLQkoc2V0cSBhYmJyZXZzLWNoYW5nZWQgbmlsKQotCi0JOzsgSWYg d2UgY2FuIHRlbGwgdGhhdCB0aGUgaW5pdCBmaWxlIGFsdGVyZWQgZGVidWctb24tZXJyb3IsCi0J OzsgYXJyYW5nZSB0byBwcmVzZXJ2ZSB0aGUgdmFsdWUgdGhhdCBpdCBzZXQgdXAuCi0JKG9yIChl cSBkZWJ1Zy1vbi1lcnJvciBkZWJ1Zy1vbi1lcnJvci1pbml0aWFsKQotCSAgICAoc2V0cSBkZWJ1 Zy1vbi1lcnJvci1zaG91bGQtYmUtc2V0IHQKLQkJICBkZWJ1Zy1vbi1lcnJvci1mcm9tLWluaXQt ZmlsZSBkZWJ1Zy1vbi1lcnJvcikpKQotICAgICAgKGlmIGRlYnVnLW9uLWVycm9yLXNob3VsZC1i ZS1zZXQKLQkgIChzZXRxIGRlYnVnLW9uLWVycm9yIGRlYnVnLW9uLWVycm9yLWZyb20taW5pdC1m aWxlKSkpCisgICAgKGxvYWQtdXNlci1pbml0LWZpbGUKKyAgICAgKGxhbWJkYSAoKQorICAgICAg IChjb25kCisgICAgICAgICgoZXEgc3lzdGVtLXR5cGUgJ21zLWRvcykKKyAgICAgICAgIChjb25j YXQgIn4iIGluaXQtZmlsZS11c2VyICIvX2VtYWNzIikpCisgICAgICAgICgobm90IChlcSBzeXN0 ZW0tdHlwZSAnd2luZG93cy1udCkpCisgICAgICAgICAoY29uY2F0ICJ+IiBpbml0LWZpbGUtdXNl ciAiLy5lbWFjcyIpKQorICAgICAgICA7OyBFbHNlIGRlYWwgd2l0aCB0aGUgV2luZG93cyBzaXR1 YXRpb24uCisgICAgICAgICgoZGlyZWN0b3J5LWZpbGVzICJ+IiBuaWwgIl5cXC5lbWFjc1xcKFxc LmVsYz9cXCk/JCIpCisgICAgICAgICA7OyBQcmVmZXIgLmVtYWNzIG9uIFdpbmRvd3MuCisgICAg ICAgICAifi8uZW1hY3MiKQorICAgICAgICAoKGRpcmVjdG9yeS1maWxlcyAifiIgbmlsICJeX2Vt YWNzXFwoXFwuZWxjP1xcKT8kIikKKyAgICAgICAgIDs7IEFsc28gc3VwcG9ydCBfZW1hY3MgZm9y IGNvbXBhdGliaWxpdHksIGJ1dCB3YXJuIGFib3V0IGl0LgorICAgICAgICAgKHB1c2ggYChpbml0 aWFsaXphdGlvbgorICAgICAgICAgICAgICAgICAsKGZvcm1hdC1tZXNzYWdlCisgICAgICAgICAg ICAgICAgICAgImBfZW1hY3MnIGluaXQgZmlsZSBpcyBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIGAu ZW1hY3MnIikpCisgICAgICAgICAgICAgICBkZWxheWVkLXdhcm5pbmdzLWxpc3QpCisgICAgICAg ICAifi9fZW1hY3MiKQorICAgICAgICAodCA7OyBCdXQgZGVmYXVsdCB0byAuZW1hY3MgaWYgX2Vt YWNzIGRvZXMgbm90IGV4aXN0LgorICAgICAgICAgIn4vLmVtYWNzIikpKQorICAgICAobGFtYmRh ICgpCisgICAgICAgKGV4cGFuZC1maWxlLW5hbWUKKyAgICAgICAgImluaXQiCisgICAgICAgIChm aWxlLW5hbWUtYXMtZGlyZWN0b3J5CisgICAgICAgICAoY29uY2F0ICJ+IiBpbml0LWZpbGUtdXNl ciAiLy5lbWFjcy5kIikpKSkKKyAgICAgKG5vdCBpbmhpYml0LWRlZmF1bHQtaW5pdCkpCisKKyAg ICAod2hlbiAoYW5kIGRlYWN0aXZhdGUtbWFyayB0cmFuc2llbnQtbWFyay1tb2RlKQorICAgICAg KHdpdGgtY3VycmVudC1idWZmZXIgKHdpbmRvdy1idWZmZXIpCisgICAgICAgIChkZWFjdGl2YXRl LW1hcmspKSkKKworICAgIDs7IElmIHRoZSB1c2VyIGhhcyBhIGZpbGUgb2YgYWJicmV2cywgcmVh ZCBpdCAodW5sZXNzIC1iYXRjaCkuCisgICAgKHdoZW4gKGFuZCAobm90IG5vbmludGVyYWN0aXZl KQorICAgICAgICAgICAgICAgKGZpbGUtZXhpc3RzLXAgYWJicmV2LWZpbGUtbmFtZSkKKyAgICAg ICAgICAgICAgIChmaWxlLXJlYWRhYmxlLXAgYWJicmV2LWZpbGUtbmFtZSkpCisgICAgICAocXVp ZXRseS1yZWFkLWFiYnJldi1maWxlIGFiYnJldi1maWxlLW5hbWUpKQorCisgICAgOzsgSWYgdGhl IGFiYnJldnMgY2FtZSBlbnRpcmVseSBmcm9tIHRoZSBpbml0IGZpbGUgb3IgdGhlCisgICAgOzsg YWJicmV2cyBmaWxlLCB0aGV5IGRvIG5vdCBuZWVkIHNhdmluZy4KKyAgICAoc2V0cSBhYmJyZXZz LWNoYW5nZWQgbmlsKQogCiAgICAgOzsgRG8gdGhpcyBoZXJlIGluIGNhc2UgdGhlIGluaXQgZmls ZSBzZXRzIG1haWwtaG9zdC1hZGRyZXNzLgogICAgIChhbmQgbWFpbC1ob3N0LWFkZHJlc3MKQEAg LTEyOTYsMzMgKzEzNTYsNiBAQCBjb21tYW5kLWxpbmUKIAkJIChlcSBmYWNlLWlnbm9yZWQtZm9u dHMgb2xkLWZhY2UtaWdub3JlZC1mb250cykpCiAgICAgICAoY2xlYXItZmFjZS1jYWNoZSkpKQog Ci0gIDs7IElmIGFueSBwYWNrYWdlIGRpcmVjdG9yeSBleGlzdHMsIGluaXRpYWxpemUgdGhlIHBh Y2thZ2Ugc3lzdGVtLgotICAoYW5kIHVzZXItaW5pdC1maWxlCi0gICAgICAgcGFja2FnZS1lbmFi bGUtYXQtc3RhcnR1cAotICAgICAgIChjYXRjaCAncGFja2FnZS1kaXItZm91bmQKLQkgKGxldCAo ZGlycykKLQkgICAoaWYgKGJvdW5kcCAncGFja2FnZS1kaXJlY3RvcnktbGlzdCkKLQkgICAgICAg KHNldHEgZGlycyBwYWNrYWdlLWRpcmVjdG9yeS1saXN0KQotCSAgICAgKGRvbGlzdCAoZiBsb2Fk LXBhdGgpCi0JICAgICAgIChhbmQgKHN0cmluZ3AgZikKLQkJICAgIChlcXVhbCAoZmlsZS1uYW1l LW5vbmRpcmVjdG9yeSBmKSAic2l0ZS1saXNwIikKLQkJICAgIChwdXNoIChleHBhbmQtZmlsZS1u YW1lICJlbHBhIiBmKSBkaXJzKSkpKQotCSAgIChwdXNoIChpZiAoYm91bmRwICdwYWNrYWdlLXVz ZXItZGlyKQotCQkgICAgIHBhY2thZ2UtdXNlci1kaXIKLQkJICAgKGxvY2F0ZS11c2VyLWVtYWNz LWZpbGUgImVscGEiKSkKLQkJIGRpcnMpCi0JICAgKGRvbGlzdCAoZGlyIGRpcnMpCi0JICAgICAo d2hlbiAoZmlsZS1kaXJlY3RvcnktcCBkaXIpCi0JICAgICAgIChkb2xpc3QgKHN1YmRpciAoZGly ZWN0b3J5LWZpbGVzIGRpcikpCi0JCSAod2hlbiAobGV0ICgoc3ViZGlyIChleHBhbmQtZmlsZS1u YW1lIHN1YmRpciBkaXIpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIChmaWxlLWRp cmVjdG9yeS1wIHN1YmRpcikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWxlLWV4 aXN0cy1wCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhY2thZ2UtLWRlc2NyaXB0aW9uLWZp bGUgc3ViZGlyKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJkaXIpKSkpCi0J CSAgICh0aHJvdyAncGFja2FnZS1kaXItZm91bmQgdCkpKSkpKSkKLSAgICAgICAocGFja2FnZS1p bml0aWFsaXplKSkKLQogICAoc2V0cSBhZnRlci1pbml0LXRpbWUgKGN1cnJlbnQtdGltZSkpCiAg IDs7IERpc3BsYXkgYW55IGFjY3VtdWxhdGVkIHdhcm5pbmdzIGFmdGVyIGFsbCBmdW5jdGlvbnMg aW4KICAgOzsgYGFmdGVyLWluaXQtaG9vaycgbGlrZSBgZGVza3RvcC1yZWFkJyBoYXZlIGZpbmFs aXplZCBwb3NzaWJsZQpkaWZmIC0tZ2l0IGEvc3JjL2xyZWFkLmMgYi9zcmMvbHJlYWQuYwppbmRl eCAzYjBhMTdjOTBiLi5hYzFiM2RhN2I3IDEwMDY0NAotLS0gYS9zcmMvbHJlYWQuYworKysgYi9z cmMvbHJlYWQuYwpAQCAtNDg4Niw3ICs0ODg2LDcgQEAgZGlyZWN0b3J5LiAgVGhlc2UgZmlsZSBu YW1lcyBhcmUgY29udmVydGVkIHRvIGFic29sdXRlIGF0IHN0YXJ0dXAuICAqLyk7CiBJZiB0aGUg ZmlsZSBsb2FkZWQgaGFkIGV4dGVuc2lvbiBgLmVsYycsIGFuZCB0aGUgY29ycmVzcG9uZGluZyBz b3VyY2UgZmlsZQogZXhpc3RzLCB0aGlzIHZhcmlhYmxlIGNvbnRhaW5zIHRoZSBuYW1lIG9mIHNv dXJjZSBmaWxlLCBzdWl0YWJsZSBmb3IgdXNlCiBieSBmdW5jdGlvbnMgbGlrZSBgY3VzdG9tLXNh dmUtYWxsJyB3aGljaCBlZGl0IHRoZSBpbml0IGZpbGUuCi1XaGlsZSBFbWFjcyBsb2FkcyBhbmQg ZXZhbHVhdGVzIHRoZSBpbml0IGZpbGUsIHZhbHVlIGlzIHRoZSByZWFsIG5hbWUKK1doaWxlIEVt YWNzIGxvYWRzIGFuZCBldmFsdWF0ZXMgYW55IGluaXQgZmlsZSwgdmFsdWUgaXMgdGhlIHJlYWwg bmFtZQogb2YgdGhlIGZpbGUsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBvciBub3QgaXQgaGFzIHRo ZSBgLmVsYycgZXh0ZW5zaW9uLiAgKi8pOwogICBWdXNlcl9pbml0X2ZpbGUgPSBRbmlsOwogCi0t IAoyLjE2LjEKCg== --94eb2c14aac8a092bf05640368cf--