From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 32071 invoked from network); 3 Oct 2021 21:56:07 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 3 Oct 2021 21:56:07 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1633298167; b=j0IHxaucOjGdBt11n3iQIkFGZAiSi1+74yCHvRvYZ2qNSWMUFqCvNo+gx3H651ZkBNXZrg/Gj3 +6RYYOPoM6dQ03ctCKL96l25MO3kGjdQisNqLG7+MLWOrZL7iiFPKJ4JEfIGTQZVtebg1B/WD1 7X6SsO9SxG/8VWbFKGhiOXvJYIH1j9RUH49jukgz2k+t8SI11KhPn2gnxBanhl4o8aAOKVSxz1 b1/kSqoOZmC04qBhR3rFO1hxc1DQnNPXhtKL8QTAevR0qkxvWZ1rTSmzBJjnUx5XSgVka6CJeL if8DbvY+vADJk7KDIlwjeYTDttwufHH9Vjrr1NA5bWmQ3g==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-yb1-f169.google.com) smtp.remote-ip=209.85.219.169; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1633298167; bh=ZxwlnYptkGrOYUDT0M55MkQoPVapEckYCLps6dIHEGw=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=Mij4g2s/sJ5Wphf1KzhbUhHZw14E6MiGOSS6tc2dZ/aDU1VyZQjYuCL3BpXWi4m8Wyd9GRnOJp 3N7dFYtC/mqXhHiYTHve+Xwj9sbkmFiPfqqRdUYdrFCg43VHKOiy2koSj7wDbJdJ/jM++rTp9l +fzTUz2/HzKIvCXFmiPoUuNvrG6KNmLXAOMwkXj6kWIY5z2fdA96Q81EJ5U41TmQaqLnE7CIMs ZNiOJk79/PO2utBA9pXIjq7P93OM5xk/eCGUjqfWrypkP47MFl8DV1lTNx1Qo6vCKV5t6hl0X1 sf1G/+tM3RbqvXUjI6QaMyEwRZh1GCQAVfo0vAwLcjFiOA==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:To:Subject:Message-ID: Date:From:In-Reply-To:References:MIME-Version:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=hbG+Z/qeL434sd4T3eV+jlu3xWjPWkwglc6r4SHWCAU=; b=HJ+CxaZHjzhSHeJf6o6hcC+P0A 5X8wgn9BoZdLvLb6LQz/gaBrDpopzsFdm/V+eevRWjW596jzOiqbcuNeoOOVXPgkVUH0USWK9EeKR kLR1Z5fonYB81XIwHJWBqabFsbJLVYe6wmcrkN6YAS8TrXWg+1Zd/c5w1CVMPAIG9W6TIoK39dlUb sBhJyZsS9W1RygT7N1pnqgXCpL1+L1nbnWhEI/MdiU9ej9LZy+8h7lWm4ttpegXDo45E0CUIIMpdt OE3H7hPYTgrx/IPZJFPsIvfOxZ7t5AM1mfraAVWzMCJZrHjpk+7WBxx86TVxfHfq3Fi4E/DgvLvHa VpanjSfg==; Received: from authenticated user by zero.zsh.org with local id 1mX9Sp-0003nN-M0; Sun, 03 Oct 2021 21:56:07 +0000 Authentication-Results: zsh.org; iprev=pass (mail-yb1-f169.google.com) smtp.remote-ip=209.85.219.169; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-yb1-f169.google.com ([209.85.219.169]:42518) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1mX9SZ-0003Tf-6s; Sun, 03 Oct 2021 21:55:52 +0000 Received: by mail-yb1-f169.google.com with SMTP id u32so33244629ybd.9 for ; Sun, 03 Oct 2021 14:55:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=hbG+Z/qeL434sd4T3eV+jlu3xWjPWkwglc6r4SHWCAU=; b=JQ9F3se6lSHiE5dqPa8LsyYbHY3zoep99fSiA2kgqKNl9nglRYMtokfROfSwmJtKJZ EHhlk6BODtvIAruzQP+uWTAOVaf4Ijsxr0lJR/IueljWNIPOvovlr9y/tWsvKVZ7vY37 eJAZWFJo/dxvuUK9PFUUQupDbXH7ij3e/l3h/rNSEroxazmRK0AN3bkmbg+A+Ls0xhj/ Wo5GUxI9E5+TdLZDkmvTVz/UaRJ8LtPblM7CyDlRTKfdlcWY2/uGqiJahfHlQ0vzJKVS B+FSP5GCqiYTzXNMNZZ4JaLW0Lvi//t+pdNseV10h16mM1BgnHHUCzbcs4B1f8k+T6rd Xm4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=hbG+Z/qeL434sd4T3eV+jlu3xWjPWkwglc6r4SHWCAU=; b=MVTAMnP4sThZxCMjY68s5nJg1HdVHN1TNu4o4ZjadZbSjEyVuMrSqLYbEvEM2e3pUt Ys/MIzRlah3mjrfSXJU3gERHgN+Azme6R/25yNIwXAqKya5xClcs9vRHi4cuuru4leL3 1JHeFOoB3m+z8Ql9pB5wR6zFGacP8JYaS4GHIqcmJL5lLwKDEftQJyGQFTqRhJsETtYM WNmP6O/2W06RU9Mwxe5ZwRRcLtk6pwVKMmKfW2UKeQZiUlC3ss3sToZUw9qFv4KeWhAg Yn4vH7+AxEEz3Qkkii1GkWypzSqZCSySxnxg2cML2aokJYWDGXdUon2Pb9iEiknocoHm xvyg== X-Gm-Message-State: AOAM531bWWFPmJ8XG0rcWtTac7bWXU0iklDbI94nahLHe6BhTUOuw+Jo MRRWExC35MxK1JP2pAAZLDoZLAH1DC9u9GjfOIJGE7bX9SKYrQ== X-Google-Smtp-Source: ABdhPJyg+q8P0j6D6LF3y6oObnHd/yWtipoL/5FZPSgUDKRKkJsOVZshsdYDU0nLcvt+QgVJgbrk3aLuW2ap0IuB3wY= X-Received: by 2002:a25:bd08:: with SMTP id f8mr10947436ybk.89.1633298150102; Sun, 03 Oct 2021 14:55:50 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Bart Schaefer Date: Sun, 3 Oct 2021 14:55:39 -0700 Message-ID: Subject: Re: [BUG] zsh/param/private scoping error To: Zsh hackers list Content-Type: multipart/mixed; boundary="0000000000000ce26a05cd79dc3b" X-Seq: 49456 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: --0000000000000ce26a05cd79dc3b Content-Type: text/plain; charset="UTF-8" On Wed, Sep 1, 2021 at 10:35 AM Bart Schaefer wrote: > > Something else has changed since the implementation of private, I > think, because this is not what I expected: > > top () { private foo=top; mid } > mid () { typeset -g foo=middle; bot } > bot () { print $foo } > functions -t top The attached patch addresses this, producing the output I expected: +top:0> private foo=top +top:0> mid +mid:0> typeset -g foo=middle +mid:0> bot +bot:0> print middle middle It also improves the error message in the event that a typeset attempts to change the scope or properties of a private parameter. > Even > without private, "typeset -g" only reaches as far upwards as the most > recent local declaration of the name. A documentation patch to better explain this is included. As a bonus, there's also an explanation of why some parameters do not appear in "typeset -p" output. --0000000000000ce26a05cd79dc3b Content-Type: text/plain; charset="US-ASCII"; name="private-scoping.txt" Content-Disposition: attachment; filename="private-scoping.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kubri03l0 ZGlmZiAtLWdpdCBhL0RvYy9ac2gvbW9kX3ByaXZhdGUueW8gYi9Eb2MvWnNoL21vZF9wcml2YXRl LnlvCmluZGV4IDc4YWVlMGFjZi4uNmRhMThmODE0IDEwMDY0NAotLS0gYS9Eb2MvWnNoL21vZF9w cml2YXRlLnlvCisrKyBiL0RvYy9ac2gvbW9kX3ByaXZhdGUueW8KQEAgLTEwLDEyICsxMCwxNiBA QCBpZm56bWFuKCkKIHN0YXJ0aXRlbSgpCiBmaW5kZXgocHJpdmF0ZSkKIGNpbmRleChwcml2YXRl IHBhcmFtZXRlciwgY3JlYXRpbmcpCi1pdGVtKHR0KHByaXZhdGUpIFsge3R0KFBMVVMoKSl8dHQo LSl9dHQoQUhVYWhscHJ0dXgpIF0gXAoraXRlbSh0dChwcml2YXRlKSBbIHt0dChQTFVTKCkpfHR0 KC0pfXR0KEFIVWFobG1ydHV4KSBdIFwKIFsge3R0KFBMVVMoKSl8dHQoLSl9dHQoRUZMUlppKSBb IHZhcihuKSBdIF0gWyB2YXIobmFtZSlbdHQoPSl2YXIodmFsdWUpXSAuLi4gXSkoCiBUaGUgdHQo cHJpdmF0ZSkgYnVpbHRpbiBhY2NlcHRzIGFsbCB0aGUgc2FtZSBvcHRpb25zIGFuZCBhcmd1bWVu dHMgYXMgdHQobG9jYWwpCiAoaWZ6bWFuKHptYW5yZWYoenNoYnVpbHRpbnMpKWlmbnptYW4obm9k ZXJlZihTaGVsbCBCdWlsdGluIENvbW1hbmRzKSkpIGV4Y2VwdAogZm9yIHRoZSBgdHQoLSl0dChU KScgb3B0aW9uLiAgVGllZCBwYXJhbWV0ZXJzIG1heSBub3QgYmUgbWFkZSBwcml2YXRlLgogCitU aGUgYHR0KC0pdHQocCknIG9wdGlvbiBpcyBwcmVzZW50bHkgYSBuby1vcCBiZWNhdXNlIHRoZSBz dGF0ZSBvZgorcHJpdmF0ZSBwYXJhbWV0ZXJzIGNhbm5vdCBiZSByZWxpYWJseSBiZSByZWxvYWRl ZC4gIFRoaXMgYWxzbyBhcHBsaWVzCit0byBwcmludGluZyBwcml2YXRlIHBhcmFtZXRlcnMgd2l0 aCBgdHQodHlwZXNldCAtcCknLgorCiBJZiB1c2VkIGF0IHRoZSB0b3AgbGV2ZWwgKG91dHNpZGUg YSBmdW5jdGlvbiBzY29wZSksIHR0KHByaXZhdGUpIGNyZWF0ZXMgYQogbm9ybWFsIHBhcmFtZXRl ciBpbiB0aGUgc2FtZSBtYW5uZXIgYXMgdHQoZGVjbGFyZSkgb3IgdHQodHlwZXNldCkuICBBCiB3 YXJuaW5nIGFib3V0IHRoaXMgaXMgcHJpbnRlZCBpZiB0dChXQVJOX0NSRUFURV9HTE9CQUwpIGlz IHNldApAQCAtNzUsNyArNzksOCBAQCBpdGVtaXooV2l0aGluIGFueSBvdGhlciBmdW5jdGlvbiBj YWxsZWQgYnkgdGhlIGRlY2xhcmluZyBmdW5jdGlvbiwgdGhlCiBwcml2YXRlIHBhcmFtZXRlciBk b2VzIGVtKE5PVCkgaGlkZSBvdGhlciBwYXJhbWV0ZXJzIG9mIHRoZSBzYW1lIG5hbWUsIHNvCiBm b3IgZXhhbXBsZSBhIGdsb2JhbCBwYXJhbWV0ZXIgb2YgdGhlIHNhbWUgbmFtZSBpcyB2aXNpYmxl IGFuZCBtYXkgYmUKIGFzc2lnbmVkIG9yIHVuc2V0LiAgVGhpcyBpbmNsdWRlcyBjYWxscyB0byBh bm9ueW1vdXMgZnVuY3Rpb25zLCBhbHRob3VnaAotdGhhdCBtYXkgYWxzbyBjaGFuZ2UgaW4gdGhl IGZ1dHVyZS4pCit0aGF0IG1heSBhbHNvIGNoYW5nZSBpbiB0aGUgZnV0dXJlLiAgSG93ZXZlciwg dGhlIHByaXZhdGUgbmFtZSBtYXkgbm90IGJlCitjcmVhdGVkIG91dHNpZGUgdGhlIGxvY2FsIHNj b3BlIHdoZW4gaXQgd2FzIG5vdCBwcmV2aW91c2x5IGRlY2xhcmVkLikKIGl0ZW1peihBbiBleHBv cnRlZCBwcml2YXRlIHJlbWFpbnMgaW4gdGhlIGVudmlyb25tZW50IG9mIGlubmVyIHNjb3BlcyBi dXQKIGFwcGVhcnMgdW5zZXQgZm9yIHRoZSBjdXJyZW50IHNoZWxsIGluIHRob3NlIHNjb3Blcy4g IEdlbmVyYWxseSwgZXhwb3J0aW5nCiBwcml2YXRlIHBhcmFtZXRlcnMgc2hvdWxkIGJlIGF2b2lk ZWQuKQpkaWZmIC0tZ2l0IGEvRG9jL1pzaC9wYXJhbXMueW8gYi9Eb2MvWnNoL3BhcmFtcy55bwpp bmRleCBiNTE0ZWIwNzIuLmE4OGU0NGQ0ZiAxMDA2NDQKLS0tIGEvRG9jL1pzaC9wYXJhbXMueW8K KysrIGIvRG9jL1pzaC9wYXJhbXMueW8KQEAgLTYzMiw2ICs2MzIsMTQgQEAgSW4gdGhlIHBhcmFt ZXRlciBsaXN0cyB0aGF0IGZvbGxvdywgdGhlIG1hcmsgYDxTPicgaW5kaWNhdGVzIHRoYXQgdGhl CiBwYXJhbWV0ZXIgaXMgc3BlY2lhbC4gIGA8Wj4nIGluZGljYXRlcyB0aGF0IHRoZSBwYXJhbWV0 ZXIgZG9lcyBub3QgZXhpc3QKIHdoZW4gdGhlIHNoZWxsIGluaXRpYWxpemVzIGluIHR0KHNoKSBv ciB0dChrc2gpIGVtdWxhdGlvbiBtb2RlLgogCitUaGUgcGFyYW1ldGVycyBgdHQoISknLCBgdHQo IyknLCBgdHQoKiknLCBgdHQoLSknLCBgdHQoPyknLCBgdHQoQCknLAorYHR0KCQpJywgYHR0KEFS R0MpJywgYHR0KEhJU1RDTUQpJywgYHR0KExJTkVOTyknLCBgdHQoUFBJRCknLAorYHR0KHN0YXR1 cyknLCBgdHQoVFRZSURMRSknLCBgdHQoenNoX2V2YWxfY29udGV4dCknLAorYHR0KFpTSF9FVkFM X0NPTlRFWFQpJywgYW5kIGB0dChaU0hfU1VCU0hFTEwpJyBhcmUgcmVhZC1vbmx5IGFuZCB0aHVz CitjYW5ub3QgYmUgcmVzdG9yZWQgYnkgdGhlIHVzZXIsIHNvIHRoZXkgYXJlIG5vdCBvdXRwdXQg YnkKK2B0dCh0eXBlc2V0IC1wKScuICBUaGlzIGFsc28gYXBwbGllcyB0byBtYW55IHJlYWQtb25s eSBwYXJhbWV0ZXJzIGxvYWRlZAorZnJvbSBtb2R1bGVzLgorCiBUaGUgZm9sbG93aW5nIHBhcmFt ZXRlcnMgYXJlIGF1dG9tYXRpY2FsbHkgc2V0IGJ5IHRoZSBzaGVsbDoKIAogc3RhcnRpdGVtKCkK ZGlmZiAtLWdpdCBhL1NyYy9Nb2R1bGVzL3BhcmFtX3ByaXZhdGUuYyBiL1NyYy9Nb2R1bGVzL3Bh cmFtX3ByaXZhdGUuYwppbmRleCAyNDU0NTgxOWQuLmM1MzgzOTE1MiAxMDA2NDQKLS0tIGEvU3Jj L01vZHVsZXMvcGFyYW1fcHJpdmF0ZS5jCisrKyBiL1NyYy9Nb2R1bGVzL3BhcmFtX3ByaXZhdGUu YwpAQCAtMTI1LDcgKzEyNSw3IEBAIG1ha2Vwcml2YXRlKEhhc2hOb2RlIGhuLCBVTlVTRUQoaW50 IGZsYWdzKSkKIAkgICAgYnJlYWs7CiAJfQogCS8qIFBNX0hJREUgc28gbmV3IHBhcmFtZXRlcnMg aW4gZGVlcGVyIHNjb3BlcyBkbyBub3Qgc2hhZG93ICovCi0JcG0tPm5vZGUuZmxhZ3MgfD0gKFBN X0hJREV8UE1fU1BFQ0lBTHxQTV9SRU1PVkFCTEUpOworCXBtLT5ub2RlLmZsYWdzIHw9IChQTV9I SURFfFBNX1NQRUNJQUx8UE1fUkVNT1ZBQkxFfFBNX1JPX0JZX0RFU0lHTik7CiAJcG0tPmxldmVs IC09IDE7CiAgICAgfQogfQpAQCAtMTcxLDcgKzE3MSw3IEBAIGJpbl9wcml2YXRlKGNoYXIgKm5h bSwgY2hhciAqKmFyZ3MsIExpbmtMaXN0IGFzc2lnbnMsIE9wdGlvbnMgb3BzLCBpbnQgZnVuYykK IHsKICAgICBpbnQgZnJvbV90eXBlc2V0ID0gMTsKICAgICBpbnQgb2Zha2UgPSBmYWtlbGV2ZWw7 CS8qIHBhcmFub2lhIGluIGNhc2Ugb2YgcmVjdXJzaXZlIGNhbGwgKi8KLSAgICBpbnQgaGFzYXJn cyA9ICphcmdzICE9IE5VTEwgfHwgKGFzc2lnbnMgJiYgZmlyc3Rub2RlKGFzc2lnbnMpKTsKKyAg ICBpbnQgaGFzYXJncyA9IC8qICphcmdzICE9IE5VTEwgfHwgKi8gKGFzc2lnbnMgJiYgZmlyc3Ru b2RlKGFzc2lnbnMpKTsKICAgICBtYWtlcHJpdmF0ZV9lcnJvciA9IDA7CiAKICAgICBpZiAoIU9Q VF9JU1NFVChvcHMsICdQJykpIHsKQEAgLTE5MCw4ICsxOTAsMTAgQEAgYmluX3ByaXZhdGUoY2hh ciAqbmFtLCBjaGFyICoqYXJncywgTGlua0xpc3QgYXNzaWducywgT3B0aW9ucyBvcHMsIGludCBm dW5jKQogCXJldHVybiBiaW5fdHlwZXNldCgicHJpdmF0ZSIsIGFyZ3MsIGFzc2lnbnMsIG9wcywg ZnVuYyk7CiAgICAgfQogCi0gICAgb3BzLT5pbmRbJ2cnXSA9IDI7CS8qIGZvcmNlIGJpbl90eXBl c2V0KCkgdG8gYmVoYXZlIGFzICJsb2NhbCIgKi8KLSAgICBpZiAoT1BUX0lTU0VUKG9wcywgJ3An KSB8fCAoIWhhc2FyZ3MgJiYgT1BUX0lTU0VUKG9wcywgJysnKSkpIHsKKyAgICBpZiAoIShPUFRf SVNTRVQob3BzLCAnbScpIHx8IE9QVF9JU1NFVChvcHMsICcrJykpKQorCW9wcy0+aW5kWydnJ10g PSAyOwkvKiBmb3JjZSBiaW5fdHlwZXNldCgpIHRvIGJlaGF2ZSBhcyAibG9jYWwiICovCisgICAg aWYgKE9QVF9JU1NFVChvcHMsICdwJykgfHwgT1BUX0lTU0VUKG9wcywgJ20nKSB8fAorCSghaGFz YXJncyAmJiBPUFRfSVNTRVQob3BzLCAnKycpKSkgewogCXJldHVybiBiaW5fdHlwZXNldCgicHJp dmF0ZSIsIGFyZ3MsIGFzc2lnbnMsIG9wcywgZnVuYyk7CiAgICAgfQogCkBAIC01NTksNyArNTYx LDcgQEAgcHJpbnRwcml2YXRlbm9kZShIYXNoTm9kZSBobiwgaW50IHByaW50ZmxhZ3MpCiAKIHN0 YXRpYyBzdHJ1Y3QgYnVpbHRpbiBiaW50YWJbXSA9IHsKICAgICAvKiBDb3BpZWQgZnJvbSBCVUlM VElOKCJsb2NhbCIpLCAiUCIgYWRkZWQgKi8KLSAgICBCVUlMVElOKCJwcml2YXRlIiwgQklORl9Q TFVTT1BUUyB8IEJJTkZfTUFHSUNFUVVBTFMgfCBCSU5GX1BTUEVDSUFMIHwgQklORl9BU1NJR04s IChIYW5kbGVyRnVuYyliaW5fcHJpdmF0ZSwgMCwgLTEsIDAsICJBRTolRjolSEw6JVBSOiVUVVo6 JWFoaTolbHBydHV4IiwgIlAiKQorICAgIEJVSUxUSU4oInByaXZhdGUiLCBCSU5GX1BMVVNPUFRT IHwgQklORl9NQUdJQ0VRVUFMUyB8IEJJTkZfUFNQRUNJQUwgfCBCSU5GX0FTU0lHTiwgKEhhbmRs ZXJGdW5jKWJpbl9wcml2YXRlLCAwLCAtMSwgMCwgIkFFOiVGOiVITDolUFI6JVRVWjolYWhpOiVs bXBydHV4IiwgIlAiKQogfTsKIAogc3RhdGljIHN0cnVjdCBmZWF0dXJlcyBtb2R1bGVfZmVhdHVy ZXMgPSB7CmRpZmYgLS1naXQgYS9TcmMvcGFyYW1zLmMgYi9TcmMvcGFyYW1zLmMKaW5kZXggNzA0 YWFkNTg4Li5iNzAzYTk3Y2UgMTAwNjQ0Ci0tLSBhL1NyYy9wYXJhbXMuYworKysgYi9TcmMvcGFy YW1zLmMKQEAgLTEwMTMsNiArMTAxMywxMSBAQCBjcmVhdGVwYXJhbShjaGFyICpuYW1lLCBpbnQg ZmxhZ3MpCiAJCShvbGRwbS0+bm9kZS5mbGFncyAmIFBNX1NQRUNJQUwpIHx8CiAJCS8qIFBPU0lY QlVJTFRJTlMgaG9ycm9yOiB3ZSBuZWVkIHRvIHJldGFpbiAnZXhwb3J0JyBmbGFncyAqLwogCQko aXNzZXQoUE9TSVhCVUlMVElOUykgJiYgKG9sZHBtLT5ub2RlLmZsYWdzICYgUE1fRVhQT1JURUQp KSkgeworCQlpZiAob2xkcG0tPm5vZGUuZmxhZ3MgJiBQTV9ST19CWV9ERVNJR04pIHsKKwkJICAg IHplcnIoIiVzOiBjYW4ndCBjaGFuZ2UgcGFyYW1ldGVyIGF0dHJpYnV0ZSIsCisJCQkgbmFtZSk7 CisJCSAgICByZXR1cm4gTlVMTDsKKwkJfQogCQlvbGRwbS0+bm9kZS5mbGFncyAmPSB+UE1fVU5T RVQ7CiAJCWlmICgob2xkcG0tPm5vZGUuZmxhZ3MgJiBQTV9TUEVDSUFMKSAmJiBvbGRwbS0+ZW5h bWUpIHsKIAkJICAgIFBhcmFtIGFsdHBtID0KZGlmZiAtLWdpdCBhL1Rlc3QvVjEwcHJpdmF0ZS56 dHN0IGIvVGVzdC9WMTBwcml2YXRlLnp0c3QKaW5kZXggMDNlODI1OWQ1Li41NmZmYmM1YjQgMTAw NjQ0Ci0tLSBhL1Rlc3QvVjEwcHJpdmF0ZS56dHN0CisrKyBiL1Rlc3QvVjEwcHJpdmF0ZS56dHN0 CkBAIC0xMTYsMTQgKzExNiwxNCBAQAogIH0KICBvdXRlciAoKSB7CiAgIGxvY2FsIC1QQSBoYXNo X3Rlc3Q9KGluIGZ1bmN0aW9uKQotICB0eXBlc2V0IC1wIGhhc2hfdGVzdAorICBwcml2YXRlICsg aGFzaF90ZXN0CiAgIGlubmVyCiAgfQogIG91dGVyCiAgcHJpbnQgJHsoa3YpaGFzaF90ZXN0fQog MDpwcml2YXRlIGhpZGVzIHZhbHVlIGZyb20gc3Vycm91bmRpbmcgc2NvcGUgaW4gbmVzdGVkIHNj b3BlCiA+dHlwZXNldCAtYSBoYXNoX3Rlc3Q9KCB0b3AgbGV2ZWwgKQotPnR5cGVzZXQgLUEgaGFz aF90ZXN0PSggW2luXT1mdW5jdGlvbiApCis+aGFzaF90ZXN0PSggW2luXT1mdW5jdGlvbiApCiA+ dHlwZXNldCAtZyAtYSBoYXNoX3Rlc3Q9KCB0b3AgbGV2ZWwgKQogPmFycmF5LWxvY2FsIHRvcCBs ZXZlbAogPnRvcCBsZXZlbApAQCAtMjQ2LDcgKzI0Niw3IEBAIEY6bm90ZSAidHlwZXNldCIgcmF0 aGVyIHRoYW4gInByaXZhdGUiIGluIG91dHB1dCBmcm9tIG91dGVyCiAxOnByaXZhdGVzIGFyZSBu b3QgdmlzaWJsZSBpbiBhbm9ueW1vdXMgZnVuY3Rpb25zLCBwYXJ0IDMKID5YIHRvcCBsZXZlbAog PmFycmF5X3Rlc3Qgbm90IHNldAotPyhhbm9uKTo0OiBhcnJheV90ZXN0OiBhdHRlbXB0IHRvIGFz c2lnbiBwcml2YXRlIGluIG5lc3RlZCBzY29wZQorPyhhbm9uKTo0OiBhcnJheV90ZXN0OiBjYW4n dCBjaGFuZ2UgcGFyYW1ldGVyIGF0dHJpYnV0ZQogRjpmdXR1cmUgcmV2aXNpb24gd2lsbCBjcmVh dGUgYSBnbG9iYWwgd2l0aCB0aGlzIGFzc2lnbm1lbnQKIAogIHR5cGVzZXQgLWEgYXJyYXlfdGVz dAo= --0000000000000ce26a05cd79dc3b--