From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#55696: 28.1; eshell fails to respect text-scale-increase Date: Mon, 6 Jun 2022 20:04:54 -0700 Message-ID: References: <37af046b-4257-6370-c765-9290eae73fd4@gmail.com> <831qw6dzra.fsf@gnu.org> <0278e759-237b-a32b-4b1f-fbdacf39c8ef@gmail.com> <83pmjpar0x.fsf@gnu.org> <9e8a8b42-2f42-3027-2ec0-97744bb91911@gmail.com> <83sfoja2xp.fsf@gnu.org> <34062848-8fe4-351c-df63-5cc341fefa57@gmail.com> <83sfoj7x6f.fsf@gnu.org> <83ee027yjc.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------30814C59D058BCC1B37783D8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4865"; mail-complaints-to="usenet@ciao.gmane.io" Cc: rudalics@gmx.at, 55696@debbugs.gnu.org, jeff.kowalski@gmail.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jun 07 05:28:04 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nyPsx-00015P-M8 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 07 Jun 2022 05:28:03 +0200 Original-Received: from localhost ([::1]:44730 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nyPsw-0001oC-KD for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 06 Jun 2022 23:28:02 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35616) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nyPXe-0003e4-TQ for bug-gnu-emacs@gnu.org; Mon, 06 Jun 2022 23:06:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:43336) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nyPXd-0002vt-SB for bug-gnu-emacs@gnu.org; Mon, 06 Jun 2022 23:06:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nyPXd-0006xb-K4 for bug-gnu-emacs@gnu.org; Mon, 06 Jun 2022 23:06:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 07 Jun 2022 03:06:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55696 X-GNU-PR-Package: emacs Original-Received: via spool by 55696-submit@debbugs.gnu.org id=B55696.165457110726684 (code B ref 55696); Tue, 07 Jun 2022 03:06:01 +0000 Original-Received: (at 55696) by debbugs.gnu.org; 7 Jun 2022 03:05:07 +0000 Original-Received: from localhost ([127.0.0.1]:37233 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nyPWj-0006wJ-KV for submit@debbugs.gnu.org; Mon, 06 Jun 2022 23:05:06 -0400 Original-Received: from mail-pf1-f180.google.com ([209.85.210.180]:40579) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nyPWg-0006vf-1U for 55696@debbugs.gnu.org; Mon, 06 Jun 2022 23:05:04 -0400 Original-Received: by mail-pf1-f180.google.com with SMTP id z17so14301947pff.7 for <55696@debbugs.gnu.org>; Mon, 06 Jun 2022 20:05:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:mime-version :in-reply-to:content-language; bh=ZGkV7pesG4AzZgsQMVG+Xmih+GmYnOjrFl8ixkxGYKk=; b=gsi8106uwVJKb6v3ETzFWzx00Trn+owqbpJgKg6BflllEAxh5f2ix1ACPLJGZHREMj zGkpzaaglk5/oVQe/xCO2hNfn4kmzxoHWGd0NB/UB0IcUB3jbWr71KLe5UFS2aY0vGSM 3HcFEsrbC+tsgHpxGVUrJfzjyjfzFbWLXmeoiWAYJhmyZ89ayRV9MeuNv92JzLq+1Byt QoJcjxIGRMOT22SHvG3KQk8AyJM+DapvzzkA5tPu8UxiCm+2d5VmVcusHJ4Axxa0CTir 8IWvkRvXQpGMG535JKehJgHKRERx7lY+cjxPBdlCw3pRJM6YtDwcUFf8Jwnald58Ys9D 4CyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :mime-version:in-reply-to:content-language; bh=ZGkV7pesG4AzZgsQMVG+Xmih+GmYnOjrFl8ixkxGYKk=; b=gnKLjc6t33goC5GNl+ZIP0HfvMak+OkvVvCFhFkuIKptVPpjZ8DI7F/GaBj8XiPuKl PNfpoTzt5ytoMoWf0d+3Jg0NE77/W9QWh1zBGAwv5Ko1TQzKp8PIbEyPVwbepJw/kvrI rgVHfuvv2vwn5sHU8bwwAOfQjDJDddJb0QXMYe5MWZlT/OkLqUFQ4nh7Rt4z4HBmWfiU 8aSx9WWWW6AjkWawfomjr4T8VbAKkcIx7rxtikpG2JAQzqMc4d/QiwNSGSn8ZZ6azHWD I6MnEuM5UQtt6oolQb0juskn+sCp8n7O0gNkqbB8IugsmJ2rXHCOzRgs/XF12kJqunG9 GMgw== X-Gm-Message-State: AOAM533A9rWEYwY+zbQ7nNO/PZXlfo/Qa1hBLOytFmPB3La2pEsKEanC JBFHIp8s+4b8bRAAVGEYn+8= X-Google-Smtp-Source: ABdhPJw9aLqsb3k+YCS0wWA4js054Cmra3t166GTu944kSjviFrGgprXu40OxmNfpWREzWQP8NpiuA== X-Received: by 2002:a05:6a00:1741:b0:51b:ca1a:8563 with SMTP id j1-20020a056a00174100b0051bca1a8563mr25197271pfc.58.1654571095975; Mon, 06 Jun 2022 20:04:55 -0700 (PDT) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id d7-20020a631d47000000b003fdd2aa9811sm2344684pgm.60.2022.06.06.20.04.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 06 Jun 2022 20:04:55 -0700 (PDT) In-Reply-To: <83ee027yjc.fsf@gnu.org> Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:233832 Archived-At: This is a multi-part message in MIME format. --------------30814C59D058BCC1B37783D8 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 6/6/2022 5:43 AM, Eli Zaretskii wrote: > We already have the Qremap symbol in our sources, so you could use > that instead of calling 'intern' at run time. Fixed. I didn't realize that the Qfoo names could be used in other source files. Good to know. >> +The optional argument PIXELWISE defines the units to use for the >> +width. If nil, return the largest integer smaller than WINDOW's pixel >> +width in units of the character width of WINDOW's frame. If PIXELWISE >> +is `remap' and the default face is remapped (see >> +`face-remapping-alist'), use the remapped face to determine the >> +character width. For any other value, return the width in pixels. > ^^^^^^^^^^^^^^^^^^^ > "For any other non-nil value...", like in the manual. Fixed (and in the other function, too). Thanks again for the reviews. --------------30814C59D058BCC1B37783D8 Content-Type: text/plain; charset=UTF-8; name="0001-Account-for-remapped-faces-in-COLUMNS-and-LINES-in-E.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Account-for-remapped-faces-in-COLUMNS-and-LINES-in-E.pa"; filename*1="tch" RnJvbSBjN2Q5MWQ2MzQxZDg0ZjU5YjM5ODFhZjRkNDdjYjJmZjc4MDk1YTRmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFRodSwgMiBKdW4gMjAyMiAyMToxMjowNCAtMDcwMApTdWJqZWN0OiBbUEFU Q0hdIEFjY291bnQgZm9yIHJlbWFwcGVkIGZhY2VzIGluICRDT0xVTU5TIGFuZCAkTElORVMg aW4gRXNoZWxsCgoqIHNyYy93aW5kb3cuaCAoYm9keV91bml0KTogTmV3IGVudW0uLi4KKHdp bmRvd19ib2R5X3dpZHRoKTogLi4uIHVzZSBpdC4KCiogc3JjL3dpbmRvdy5jICh3aW5kb3df Ym9keV91bml0X2Zyb21fc3ltYm9sKTogTmV3IGZ1bmN0aW9uLgood2luZG93X2JvZHlfaGVp Z2h0LCB3aW5kb3dfYm9keV93aWR0aCk6IE1ha2UgUElYRUxXSVNFIGEgJ2JvZHlfdW5pdCcu Cih3aW5kb3ctYm9keS1oZWlnaHQsIHdpbmRvdy1ib2R5LXdpZHRoKTogQWNjZXB0ICdyZW1h cCcgZm9yIFBJWEVMV0lTRS4KKHdpbmRvdy1saW5lcy1waXhlbC1kaW1lbnNpb25zLCB3aW5k b3dfY2hhbmdlX3JlY29yZF93aW5kb3dzKQoocnVuX3dpbmRvd19jaGFuZ2VfZnVuY3Rpb25z LCByZXNpemVfZnJhbWVfd2luZG93cywgZ3Jvd19taW5pX3dpbmRvdykKKHNocmlua19taW5p X3dpbmRvdywgc2Nyb2xsLWxlZnQsIHNjcm9sbC1yaWdodCk6IFVwZGF0ZSBjYWxscyB0bwon d2luZG93X2JvZHlfaGVpZ2h0JyBhbmQgJ3dpbmRvd19ib2R5X3dpZHRoJy4KCiogc3JjL2lu ZGVudC5jIChjb21wdXRlX21vdGlvbik6IFVwZGF0ZSBjYWxscyB0byAnd2luZG93X2JvZHlf d2lkdGgnLgoKKiBsaXNwL2VzaGVsbC9lbS1scy5lbCAoZXNoZWxsLWxzLWZpbmQtY29sdW1u LXdpZHRocykKKGVzaGVsbC1scy1maW5kLWNvbHVtbi1sZW5ndGhzKTogVXNlICd3aW5kb3ct Ym9keS13aWR0aCcuCgoqIGxpc3AvZXNoZWxsL2VzaC12YXIuZWwgKGVzaGVsbC12YXJpYWJs ZS1hbGlhc2VzLWxpc3QpOiBVc2UKJ3dpbmRvdy1ib2R5LXdpZHRoJyBhbmQgJ3dpbmRvdy1i b2R5LWhlaWdodCcuCgoqIHRlc3QvbGlzcC9lc2hlbGwvZXNoLXZhci10ZXN0cy5lbCAoZXNo LXZhci10ZXN0L3dpbmRvdy1oZWlnaHQpCihlc2gtdmFyLXRlc3Qvd2luZG93LXdpZHRoKTog UmVuYW1lIHRvLi4uCihlc2gtdmFyLXRlc3QvbGluZXMtdmFyLCBlc2gtdmFyLXRlc3QvY29s dW1ucy12YXIpOiAuLi4gYW5kIHVwZGF0ZQpleHBlY3RlZCB2YWx1ZS4KCiogZG9jL2xpc3By ZWYvd2luZG93cy50ZXhpIChXaW5kb3cgU2l6ZXMpOiBEb2N1bWVudCBuZXcgYmVoYXZpb3Ig b2YKUElYRUxXSVNFIGFyZ3VtZW50IGZvciAnd2luZG93LWJvZHktd2lkdGgnIGFuZCAnd2lu ZG93LWJvZHktaGVpZ2h0Jy4KCiogZXRjL05FV1M6IEFubm91bmNlIHRoaXMgY2hhbmdlIChi dWcjNTU2OTYpLgotLS0KIGRvYy9saXNwcmVmL3dpbmRvd3MudGV4aSAgICAgICAgICB8ICAz OCArKysrKy0tLQogZXRjL05FV1MgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2ICsr CiBsaXNwL2VzaGVsbC9lbS1scy5lbCAgICAgICAgICAgICAgfCAgIDQgKy0KIGxpc3AvZXNo ZWxsL2VzaC12YXIuZWwgICAgICAgICAgICB8ICAgNCArLQogc3JjL2luZGVudC5jICAgICAg ICAgICAgICAgICAgICAgIHwgICA0ICstCiBzcmMvd2luZG93LmMgICAgICAgICAgICAgICAg ICAgICAgfCAxNDcgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiBzcmMvd2luZG93 LmggICAgICAgICAgICAgICAgICAgICAgfCAgIDcgKy0KIHRlc3QvbGlzcC9lc2hlbGwvZXNo LXZhci10ZXN0cy5lbCB8ICAxNiArKy0tCiA4IGZpbGVzIGNoYW5nZWQsIDE1MiBpbnNlcnRp b25zKCspLCA3NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvbGlzcHJlZi93aW5k b3dzLnRleGkgYi9kb2MvbGlzcHJlZi93aW5kb3dzLnRleGkKaW5kZXggMGQyODViMmFkNC4u NzA0ZWQzMDM2NiAxMDA2NDQKLS0tIGEvZG9jL2xpc3ByZWYvd2luZG93cy50ZXhpCisrKyBi L2RvYy9saXNwcmVmL3dpbmRvd3MudGV4aQpAQCAtODI5LDE0ICs4MjksMTggQEAgV2luZG93 IFNpemVzCiBAdmFye3dpbmRvd30uICBJZiBAdmFye3dpbmRvd30gaXMgb21pdHRlZCBvciBA Y29kZXtuaWx9LCBpdCBkZWZhdWx0cyB0bwogdGhlIHNlbGVjdGVkIHdpbmRvdzsgb3RoZXJ3 aXNlIGl0IG11c3QgYmUgYSBsaXZlIHdpbmRvdy4KIAotSWYgdGhlIG9wdGlvbmFsIGFyZ3Vt ZW50IEB2YXJ7cGl4ZWx3aXNlfSBpcyBub24tQGNvZGV7bmlsfSwgdGhpcwotZnVuY3Rpb24g cmV0dXJucyB0aGUgYm9keSBoZWlnaHQgb2YgQHZhcnt3aW5kb3d9IGNvdW50ZWQgaW4gcGl4 ZWxzLgorVGhlIG9wdGlvbmFsIGFyZ3VtZW50IEB2YXJ7cGl4ZWx3aXNlfSBkZWZpbmVzIHRo ZSB1bml0cyB0byB1c2UgZm9yIHRoZQoraGVpZ2h0LiAgSWYgQGNvZGV7bmlsfSwgcmV0dXJu IHRoZSBib2R5IGhlaWdodCBvZiBAdmFye3dpbmRvd30gaW4KK2NoYXJhY3RlcnMsIHJvdW5k ZWQgZG93biB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCBpZiBuZWNlc3NhcnkuICBUaGlzCitt ZWFucyB0aGF0IGlmIGEgbGluZSBhdCB0aGUgYm90dG9tIG9mIHRoZSB0ZXh0IGFyZWEgaXMg b25seSBwYXJ0aWFsbHkKK3Zpc2libGUsIHRoYXQgbGluZSBpcyBub3QgY291bnRlZC4gIEl0 IGFsc28gbWVhbnMgdGhhdCB0aGUgaGVpZ2h0IG9mIGEKK3dpbmRvdydzIGJvZHkgY2FuIG5l dmVyIGV4Y2VlZCBpdHMgdG90YWwgaGVpZ2h0IGFzIHJldHVybmVkIGJ5CitAY29kZXt3aW5k b3ctdG90YWwtaGVpZ2h0fS4KIAotSWYgQHZhcntwaXhlbHdpc2V9IGlzIEBjb2Rle25pbH0s IHRoZSByZXR1cm4gdmFsdWUgaXMgcm91bmRlZCBkb3duIHRvCi10aGUgbmVhcmVzdCBpbnRl Z2VyLCBpZiBuZWNlc3NhcnkuICBUaGlzIG1lYW5zIHRoYXQgaWYgYSBsaW5lIGF0IHRoZQot Ym90dG9tIG9mIHRoZSB0ZXh0IGFyZWEgaXMgb25seSBwYXJ0aWFsbHkgdmlzaWJsZSwgdGhh dCBsaW5lIGlzIG5vdAotY291bnRlZC4gIEl0IGFsc28gbWVhbnMgdGhhdCB0aGUgaGVpZ2h0 IG9mIGEgd2luZG93J3MgYm9keSBjYW4gbmV2ZXIKLWV4Y2VlZCBpdHMgdG90YWwgaGVpZ2h0 IGFzIHJldHVybmVkIGJ5IEBjb2Rle3dpbmRvdy10b3RhbC1oZWlnaHR9LgorSWYgQHZhcntw aXhlbHdpc2V9IGlzIEBjb2Rle3JlbWFwfSBhbmQgdGhlIGRlZmF1bHQgZmFjZSBpcyByZW1h cHBlZAorKEBweHJlZntGYWNlIFJlbWFwcGluZ30pLCB1c2UgdGhlIHJlbWFwcGVkIGZhY2Ug dG8gZGV0ZXJtaW5lIHRoZQorY2hhcmFjdGVyIGhlaWdodC4gIEZvciBhbnkgb3RoZXIgbm9u LUBjb2Rle25pbH0gdmFsdWUsIHJldHVybiB0aGUKK2hlaWdodCBpbiBwaXhlbHMuCiBAZW5k IGRlZnVuCiAKIEBjaW5kZXggd2luZG93IGJvZHkgd2lkdGgKQEAgLTg1NywxNCArODYxLDE4 IEBAIFdpbmRvdyBTaXplcwogQHZhcnt3aW5kb3d9LiAgSWYgQHZhcnt3aW5kb3d9IGlzIG9t aXR0ZWQgb3IgQGNvZGV7bmlsfSwgaXQgZGVmYXVsdHMgdG8KIHRoZSBzZWxlY3RlZCB3aW5k b3c7IG90aGVyd2lzZSBpdCBtdXN0IGJlIGEgbGl2ZSB3aW5kb3cuCiAKLUlmIHRoZSBvcHRp b25hbCBhcmd1bWVudCBAdmFye3BpeGVsd2lzZX0gaXMgbm9uLUBjb2Rle25pbH0sIHRoaXMK LWZ1bmN0aW9uIHJldHVybnMgdGhlIGJvZHkgd2lkdGggb2YgQHZhcnt3aW5kb3d9IGluIHVu aXRzIG9mIHBpeGVscy4KLQotSWYgQHZhcntwaXhlbHdpc2V9IGlzIEBjb2Rle25pbH0sIHRo ZSByZXR1cm4gdmFsdWUgaXMgcm91bmRlZCBkb3duIHRvCi10aGUgbmVhcmVzdCBpbnRlZ2Vy LCBpZiBuZWNlc3NhcnkuICBUaGlzIG1lYW5zIHRoYXQgaWYgYSBjb2x1bW4gb24gdGhlCi1y aWdodCBvZiB0aGUgdGV4dCBhcmVhIGlzIG9ubHkgcGFydGlhbGx5IHZpc2libGUsIHRoYXQg Y29sdW1uIGlzIG5vdAotY291bnRlZC4gIEl0IGFsc28gbWVhbnMgdGhhdCB0aGUgd2lkdGgg b2YgYSB3aW5kb3cncyBib2R5IGNhbiBuZXZlcgotZXhjZWVkIGl0cyB0b3RhbCB3aWR0aCBh cyByZXR1cm5lZCBieSBAY29kZXt3aW5kb3ctdG90YWwtd2lkdGh9LgorVGhlIG9wdGlvbmFs IGFyZ3VtZW50IEB2YXJ7cGl4ZWx3aXNlfSBkZWZpbmVzIHRoZSB1bml0cyB0byB1c2UgZm9y IHRoZQord2lkdGguICBJZiBAY29kZXtuaWx9LCByZXR1cm4gdGhlIGJvZHkgd2lkdGggb2Yg QHZhcnt3aW5kb3d9IGluCitjaGFyYWN0ZXJzLCByb3VuZGVkIGRvd24gdG8gdGhlIG5lYXJl c3QgaW50ZWdlciwgaWYgbmVjZXNzYXJ5LiAgVGhpcworbWVhbnMgdGhhdCBpZiBhIGNvbHVt biBvbiB0aGUgcmlnaHQgb2YgdGhlIHRleHQgYXJlYSBpcyBvbmx5IHBhcnRpYWxseQordmlz aWJsZSwgdGhhdCBjb2x1bW4gaXMgbm90IGNvdW50ZWQuICBJdCBhbHNvIG1lYW5zIHRoYXQg dGhlIHdpZHRoIG9mCithIHdpbmRvdydzIGJvZHkgY2FuIG5ldmVyIGV4Y2VlZCBpdHMgdG90 YWwgd2lkdGggYXMgcmV0dXJuZWQgYnkKK0Bjb2Rle3dpbmRvdy10b3RhbC13aWR0aH0uCisK K0lmIEB2YXJ7cGl4ZWx3aXNlfSBpcyBAY29kZXtyZW1hcH0gYW5kIHRoZSBkZWZhdWx0IGZh Y2UgaXMgcmVtYXBwZWQKKyhAcHhyZWZ7RmFjZSBSZW1hcHBpbmd9KSwgdXNlIHRoZSByZW1h cHBlZCBmYWNlIHRvIGRldGVybWluZSB0aGUKK2NoYXJhY3RlciB3aWR0aC4gIEZvciBhbnkg b3RoZXIgbm9uLUBjb2Rle25pbH0gdmFsdWUsIHJldHVybiB0aGUgd2lkdGgKK2luIHBpeGVs cy4KIEBlbmQgZGVmdW4KIAogQGNpbmRleCB3aW5kb3cgYm9keSBzaXplCmRpZmYgLS1naXQg YS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDM4NzBlOTM3ZGYuLjc5Zjk5ZGQ4MjIgMTAw NjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0yMzk4LDYgKzIzOTgsMTIg QEAgZGltZW5zaW9ucy4KIFNwZWNpZnlpbmcgYSBjb25zIGFzIHRoZSBGUk9NIGFyZ3VtZW50 IGFsbG93cyB0byBzdGFydCBtZWFzdXJpbmcgdGV4dAogZnJvbSBhIHNwZWNpZmllZCBhbW91 bnQgb2YgcGl4ZWxzIGFib3ZlIG9yIGJlbG93IGEgcG9zaXRpb24uCiAKKysrKworKiogJ3dp bmRvdy1ib2R5LXdpZHRoJyBhbmQgJ3dpbmRvdy1ib2R5LWhlaWdodCcgY2FuIHVzZSByZW1h cHBlZCBmYWNlcy4KK1NwZWNpZnlpbmcgJ3JlbWFwJyBhcyB0aGUgUElYRUxXSVNFIGFyZ3Vt ZW50IG5vdyBjaGVja3MgaWYgdGhlIGRlZmF1bHQKK2ZhY2Ugd2FzIHJlbWFwcGVkLCBhbmQg aWYgc28sIHVzZXMgdGhlIHJlbWFwcGVkIGZhY2UgdG8gZGV0ZXJtaW5lIHRoZQorY2hhcmFj dGVyIHdpZHRoL2hlaWdodC4KKwogKysrCiAqKiAnc2V0LXdpbmRvdy12c2Nyb2xsJyBub3cg YWNjZXB0cyBhIG5ldyBhcmd1bWVudCBQUkVTRVJWRS1WU0NST0xMLVAuCiBUaGlzIG1lYW5z IHRoZSB2c2Nyb2xsIHdpbGwgbm90IGJlIHJlc2V0IHdoZW4gc2V0IG9uIGEgd2luZG93IHRo YXQgaXMKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VtLWxzLmVsIGIvbGlzcC9lc2hlbGwv ZW0tbHMuZWwKaW5kZXggODc0NTkxZDI1MC4uYmViYjBkODFiNSAxMDA2NDQKLS0tIGEvbGlz cC9lc2hlbGwvZW0tbHMuZWwKKysrIGIvbGlzcC9lc2hlbGwvZW0tbHMuZWwKQEAgLTgwMCw3 ICs4MDAsNyBAQCBlc2hlbGwtbHMtZmluZC1jb2x1bW4td2lkdGhzCiAgICAgICAgICAgICAg KCsgMiAobGVuZ3RoIChjYXIgZmlsZSkpKSkKIAkgICBmaWxlcykpCiAJIDs7IG11c3QgYWNj b3VudCBmb3IgdGhlIGFkZGVkIHNwYWNlLi4uCi0JIChtYXgtd2lkdGggKCsgKHdpbmRvdy13 aWR0aCkgMikpCisJIChtYXgtd2lkdGggKCsgKHdpbmRvdy1ib2R5LXdpZHRoIG5pbCAncmVt YXApIDIpKQogCSAoYmVzdC13aWR0aCAwKQogCSBjb2wtd2lkdGhzKQogCkBAIC04NDUsNyAr ODQ1LDcgQEAgZXNoZWxsLWxzLWZpbmQtY29sdW1uLWxlbmd0aHMKICAgICAgICAgICAgKGxh bWJkYSAoZmlsZSkKICAgICAgICAgICAgICAoKyAyIChsZW5ndGggKGNhciBmaWxlKSkpKQog CSAgIGZpbGVzKSkKLQkgKG1heC13aWR0aCAoKyAod2luZG93LXdpZHRoKSAyKSkKKwkgKG1h eC13aWR0aCAoKyAod2luZG93LWJvZHktd2lkdGggbmlsICdyZW1hcCkgMikpCiAJIGNvbC13 aWR0aHMKIAkgY29sdykKIApkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLXZhci5lbCBi L2xpc3AvZXNoZWxsL2VzaC12YXIuZWwKaW5kZXggMTg2ZjYzNThiYy4uYTU0YmVlMWE2MSAx MDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLXZhci5lbAorKysgYi9saXNwL2VzaGVsbC9l c2gtdmFyLmVsCkBAIC0xNDksOCArMTQ5LDggQEAgZXNoZWxsLXZhcmlhYmxlLW5hbWUtcmVn ZXhwCiAKIChkZWZjdXN0b20gZXNoZWxsLXZhcmlhYmxlLWFsaWFzZXMtbGlzdAogICBgKDs7 IGZvciBlc2hlbGwuZWwKLSAgICAoIkNPTFVNTlMiICwobGFtYmRhIChfaW5kaWNlcykgKHdp bmRvdy13aWR0aCkpIHQpCi0gICAgKCJMSU5FUyIgLChsYW1iZGEgKF9pbmRpY2VzKSAod2lu ZG93LWhlaWdodCkpIHQpCisgICAgKCJDT0xVTU5TIiAsKGxhbWJkYSAoX2luZGljZXMpICh3 aW5kb3ctYm9keS13aWR0aCBuaWwgJ3JlbWFwKSkgdCkKKyAgICAoIkxJTkVTIiAsKGxhbWJk YSAoX2luZGljZXMpICh3aW5kb3ctYm9keS1oZWlnaHQgbmlsICdyZW1hcCkpIHQpCiAKICAg ICA7OyBmb3IgZXNoZWxsLWNtZC5lbAogICAgICgiXyIgLChsYW1iZGEgKGluZGljZXMpCmRp ZmYgLS1naXQgYS9zcmMvaW5kZW50LmMgYi9zcmMvaW5kZW50LmMKaW5kZXggYWNiYjlkYzk3 Mi4uYmRhN2Q0YzYzZiAxMDA2NDQKLS0tIGEvc3JjL2luZGVudC5jCisrKyBiL3NyYy9pbmRl bnQuYwpAQCAtMTIwNCw3ICsxMjA0LDcgQEAgY29tcHV0ZV9tb3Rpb24gKHB0cmRpZmZfdCBm cm9tLCBwdHJkaWZmX3QgZnJvbWJ5dGUsIEVNQUNTX0lOVCBmcm9tdnBvcywKICAgLyogTmVn YXRpdmUgd2lkdGggbWVhbnMgdXNlIGFsbCBhdmFpbGFibGUgdGV4dCBjb2x1bW5zLiAgKi8K ICAgaWYgKHdpZHRoIDwgMCkKICAgICB7Ci0gICAgICB3aWR0aCA9IHdpbmRvd19ib2R5X3dp ZHRoICh3aW4sIDApOworICAgICAgd2lkdGggPSB3aW5kb3dfYm9keV93aWR0aCAod2luLCBC T0RZX0lOX0NBTk9OSUNBTF9DSEFSUyk7CiAgICAgICAvKiBXZSBtdXN0IG1ha2Ugcm9vbSBm b3IgY29udGludWF0aW9uIG1hcmtzIGlmIHdlIGRvbid0IGhhdmUgZnJpbmdlcy4gICovCiAj aWZkZWYgSEFWRV9XSU5ET1dfU1lTVEVNCiAgICAgICBpZiAoIUZSQU1FX1dJTkRPV19QIChY RlJBTUUgKHdpbi0+ZnJhbWUpKSkKQEAgLTE4MTQsNyArMTgxNCw3IEBAIERFRlVOICgiY29t cHV0ZS1tb3Rpb24iLCBGY29tcHV0ZV9tb3Rpb24sIFNjb21wdXRlX21vdGlvbiwgNywgNywg MCwKIAkJCSA/IHdpbmRvd19pbnRlcm5hbF9oZWlnaHQgKHcpCiAJCQkgOiBYRklYTlVNIChY Q0RSICh0b3BvcykpKSwKIAkJCShOSUxQICh0b3BvcykKLQkJCSA/ICh3aW5kb3dfYm9keV93 aWR0aCAodywgMCkKKwkJCSA/ICh3aW5kb3dfYm9keV93aWR0aCAodywgQk9EWV9JTl9DQU5P TklDQUxfQ0hBUlMpCiAJCQkgICAgLSAoCiAjaWZkZWYgSEFWRV9XSU5ET1dfU1lTVEVNCiAJ CQkgICAgICAgRlJBTUVfV0lORE9XX1AgKFhGUkFNRSAody0+ZnJhbWUpKSA/IDAgOgpkaWZm IC0tZ2l0IGEvc3JjL3dpbmRvdy5jIGIvc3JjL3dpbmRvdy5jCmluZGV4IGViYTEzOTBmZWQu Ljc2NmI2Yjg2OTQgMTAwNjQ0Ci0tLSBhL3NyYy93aW5kb3cuYworKysgYi9zcmMvd2luZG93 LmMKQEAgLTEwMTQsMTEgKzEwMTQsMjAgQEAgREVGVU4gKCJ3aW5kb3ctdG9wLWxpbmUiLCBG d2luZG93X3RvcF9saW5lLCBTd2luZG93X3RvcF9saW5lLCAwLCAxLCAwLAogICByZXR1cm4g bWFrZV9maXhudW0gKGRlY29kZV92YWxpZF93aW5kb3cgKHdpbmRvdyktPnRvcF9saW5lKTsK IH0KIAorc3RhdGljIGVudW0gYm9keV91bml0Cit3aW5kb3dfYm9keV91bml0X2Zyb21fc3lt Ym9sIChMaXNwX09iamVjdCB1bml0KQoreworICByZXR1cm4KKyAgICAodW5pdCA9PSBRcmVt YXAgPyBCT0RZX0lOX1JFTUFQUEVEX0NIQVJTCisgICAgIDogTklMUCAodW5pdCkgPyBCT0RZ X0lOX0NBTk9OSUNBTF9DSEFSUworICAgICA6IEJPRFlfSU5fUElYRUxTKTsKK30KKwogLyog UmV0dXJuIHRoZSBudW1iZXIgb2YgbGluZXMvcGl4ZWxzIG9mIFcncyBib2R5LiAgRG9uJ3Qg Y291bnQgYW55IG1vZGUKICAgIG9yIGhlYWRlciBsaW5lIG9yIGhvcml6b250YWwgZGl2aWRl ciBvZiBXLiAgUm91bmRzIGRvd24gdG8gbmVhcmVzdAogICAgaW50ZWdlciB3aGVuIG5vdCB3 b3JraW5nIHBpeGVsd2lzZS4gKi8KIHN0YXRpYyBpbnQKLXdpbmRvd19ib2R5X2hlaWdodCAo c3RydWN0IHdpbmRvdyAqdywgYm9vbCBwaXhlbHdpc2UpCit3aW5kb3dfYm9keV9oZWlnaHQg KHN0cnVjdCB3aW5kb3cgKncsIGVudW0gYm9keV91bml0IHBpeGVsd2lzZSkKIHsKICAgaW50 IGhlaWdodCA9ICh3LT5waXhlbF9oZWlnaHQKIAkJLSBXSU5ET1dfVEFCX0xJTkVfSEVJR0hU ICh3KQpAQCAtMTAyOSwxMSArMTAzOCwyNyBAQCB3aW5kb3dfYm9keV9oZWlnaHQgKHN0cnVj dCB3aW5kb3cgKncsIGJvb2wgcGl4ZWx3aXNlKQogCQktIFdJTkRPV19NT0RFX0xJTkVfSEVJ R0hUICh3KQogCQktIFdJTkRPV19CT1RUT01fRElWSURFUl9XSURUSCAodykpOwogCisgIGlu dCBkZW5vbSA9IDE7CisgIGlmIChwaXhlbHdpc2UgPT0gQk9EWV9JTl9SRU1BUFBFRF9DSEFS UykKKyAgICB7CisgICAgICBpZiAoIU5JTFAgKFZmYWNlX3JlbWFwcGluZ19hbGlzdCkpCisJ eworCSAgc3RydWN0IGZyYW1lICpmID0gWEZSQU1FIChXSU5ET1dfRlJBTUUgKHcpKTsKKwkg IGludCBmYWNlX2lkID0gbG9va3VwX25hbWVkX2ZhY2UgKE5VTEwsIGYsIFFkZWZhdWx0LCB0 cnVlKTsKKwkgIHN0cnVjdCBmYWNlICpmYWNlID0gRkFDRV9GUk9NX0lEX09SX05VTEwgKGYs IGZhY2VfaWQpOworCSAgaWYgKGZhY2UgJiYgZmFjZS0+Zm9udCAmJiBmYWNlLT5mb250LT5o ZWlnaHQpCisJICAgIGRlbm9tID0gZmFjZS0+Zm9udC0+aGVpZ2h0OworCX0KKyAgICAgIC8q IEZvciBwZXJmb3JtYW5jZSwgdXNlIGNhbm9uaWNhbCBjaGFycyBpZiBubyBmYWNlIHJlbWFw cGluZy4gICovCisgICAgICBlbHNlCisJcGl4ZWx3aXNlID0gQk9EWV9JTl9DQU5PTklDQUxf Q0hBUlM7CisgICAgfQorCisgIGlmIChwaXhlbHdpc2UgPT0gQk9EWV9JTl9DQU5PTklDQUxf Q0hBUlMpCisgICAgZGVub20gPSBGUkFNRV9MSU5FX0hFSUdIVCAoV0lORE9XX1hGUkFNRSAo dykpOworCiAgIC8qIERvbid0IHJldHVybiBhIG5lZ2F0aXZlIHZhbHVlLiAgKi8KLSAgcmV0 dXJuIG1heCAocGl4ZWx3aXNlCi0JICAgICAgPyBoZWlnaHQKLQkgICAgICA6IGhlaWdodCAv IEZSQU1FX0xJTkVfSEVJR0hUIChXSU5ET1dfWEZSQU1FICh3KSksCi0JICAgICAgMCk7Cisg IHJldHVybiBtYXggKGhlaWdodCAvIGRlbm9tLCAwKTsKIH0KIAogLyogUmV0dXJuIHRoZSBu dW1iZXIgb2YgY29sdW1ucy9waXhlbHMgb2YgVydzIGJvZHkuICBEb24ndCBjb3VudCBjb2x1 bW5zCkBAIC0xMDQyLDcgKzEwNjcsNyBAQCB3aW5kb3dfYm9keV9oZWlnaHQgKHN0cnVjdCB3 aW5kb3cgKncsIGJvb2wgcGl4ZWx3aXNlKQogICAgZnJpbmdlcyBlaXRoZXIuICBSb3VuZCBk b3duIHRvIG5lYXJlc3QgaW50ZWdlciB3aGVuIG5vdCB3b3JraW5nCiAgICBwaXhlbHdpc2Uu ICAqLwogaW50Ci13aW5kb3dfYm9keV93aWR0aCAoc3RydWN0IHdpbmRvdyAqdywgYm9vbCBw aXhlbHdpc2UpCit3aW5kb3dfYm9keV93aWR0aCAoc3RydWN0IHdpbmRvdyAqdywgZW51bSBi b2R5X3VuaXQgcGl4ZWx3aXNlKQogewogICBzdHJ1Y3QgZnJhbWUgKmYgPSBYRlJBTUUgKFdJ TkRPV19GUkFNRSAodykpOwogCkBAIC0xMDU5LDI0ICsxMDg0LDQ2IEBAIHdpbmRvd19ib2R5 X3dpZHRoIChzdHJ1Y3Qgd2luZG93ICp3LCBib29sIHBpeGVsd2lzZSkKIAkJICAgPyBXSU5E T1dfRlJJTkdFU19XSURUSCAodykKIAkJICAgOiAwKSk7CiAKKyAgaW50IGRlbm9tID0gMTsK KyAgaWYgKHBpeGVsd2lzZSA9PSBCT0RZX0lOX1JFTUFQUEVEX0NIQVJTKQorICAgIHsKKyAg ICAgIGlmICghTklMUCAoVmZhY2VfcmVtYXBwaW5nX2FsaXN0KSkKKwl7CisJICBpbnQgZmFj ZV9pZCA9IGxvb2t1cF9uYW1lZF9mYWNlIChOVUxMLCBmLCBRZGVmYXVsdCwgdHJ1ZSk7CisJ ICBzdHJ1Y3QgZmFjZSAqZmFjZSA9IEZBQ0VfRlJPTV9JRF9PUl9OVUxMIChmLCBmYWNlX2lk KTsKKwkgIGlmIChmYWNlICYmIGZhY2UtPmZvbnQpCisJICAgIHsKKwkgICAgICBpZiAoZmFj ZS0+Zm9udC0+YXZlcmFnZV93aWR0aCkKKwkJZGVub20gPSBmYWNlLT5mb250LT5hdmVyYWdl X3dpZHRoOworCSAgICAgIGVsc2UgaWYgKGZhY2UtPmZvbnQtPnNwYWNlX3dpZHRoKQorCQlk ZW5vbSA9IGZhY2UtPmZvbnQtPnNwYWNlX3dpZHRoOworCSAgICB9CisJfQorICAgICAgLyog Rm9yIHBlcmZvcm1hbmNlLCB1c2UgY2Fub25pY2FsIGNoYXJzIGlmIG5vIGZhY2UgcmVtYXBw aW5nLiAgKi8KKyAgICAgIGVsc2UKKwlwaXhlbHdpc2UgPSBCT0RZX0lOX0NBTk9OSUNBTF9D SEFSUzsKKyAgICB9CisKKyAgaWYgKHBpeGVsd2lzZSA9PSBCT0RZX0lOX0NBTk9OSUNBTF9D SEFSUykKKyAgICBkZW5vbSA9IEZSQU1FX0NPTFVNTl9XSURUSCAoV0lORE9XX1hGUkFNRSAo dykpOworCiAgIC8qIERvbid0IHJldHVybiBhIG5lZ2F0aXZlIHZhbHVlLiAgKi8KLSAgcmV0 dXJuIG1heCAocGl4ZWx3aXNlCi0JICAgICAgPyB3aWR0aAotCSAgICAgIDogd2lkdGggLyBG UkFNRV9DT0xVTU5fV0lEVEggKFdJTkRPV19YRlJBTUUgKHcpKSwKLQkgICAgICAwKTsKKyAg cmV0dXJuIG1heCAod2lkdGggLyBkZW5vbSwgMCk7CiB9CiAKIERFRlVOICgid2luZG93LWJv ZHktd2lkdGgiLCBGd2luZG93X2JvZHlfd2lkdGgsIFN3aW5kb3dfYm9keV93aWR0aCwgMCwg MiwgMCwKICAgICAgICBkb2M6IC8qIFJldHVybiB0aGUgd2lkdGggb2YgV0lORE9XJ3MgdGV4 dCBhcmVhLgotV0lORE9XIG11c3QgYmUgYSBsaXZlIHdpbmRvdyBhbmQgZGVmYXVsdHMgdG8g dGhlIHNlbGVjdGVkIG9uZS4gIE9wdGlvbmFsCi1hcmd1bWVudCBQSVhFTFdJU0Ugbm9uLW5p bCBtZWFucyByZXR1cm4gdGhlIHdpZHRoIGluIHBpeGVscy4gIFRoZSByZXR1cm4KLXZhbHVl IGRvZXMgbm90IGluY2x1ZGUgYW55IHZlcnRpY2FsIGRpdmlkZXJzLCBmcmluZ2VzIG9yIG1h cmdpbmFsIGFyZWFzLAotb3Igc2Nyb2xsIGJhcnMuCitXSU5ET1cgbXVzdCBiZSBhIGxpdmUg d2luZG93IGFuZCBkZWZhdWx0cyB0byB0aGUgc2VsZWN0ZWQgb25lLiAgVGhlCityZXR1cm4g dmFsdWUgZG9lcyBub3QgaW5jbHVkZSBhbnkgdmVydGljYWwgZGl2aWRlcnMsIGZyaW5nZXMg b3IKK21hcmdpbmFsIGFyZWFzLCBvciBzY3JvbGwgYmFycy4KIAotSWYgUElYRUxXSVNFIGlz IG5pbCwgcmV0dXJuIHRoZSBsYXJnZXN0IGludGVnZXIgc21hbGxlciB0aGFuIFdJTkRPVydz Ci1waXhlbCB3aWR0aCBkaXZpZGVkIGJ5IHRoZSBjaGFyYWN0ZXIgd2lkdGggb2YgV0lORE9X J3MgZnJhbWUuICBUaGlzCi1tZWFucyB0aGF0IGlmIGEgY29sdW1uIGF0IHRoZSByaWdodCBv ZiB0aGUgdGV4dCBhcmVhIGlzIG9ubHkgcGFydGlhbGx5Ci12aXNpYmxlLCB0aGF0IGNvbHVt biBpcyBub3QgY291bnRlZC4KK1RoZSBvcHRpb25hbCBhcmd1bWVudCBQSVhFTFdJU0UgZGVm aW5lcyB0aGUgdW5pdHMgdG8gdXNlIGZvciB0aGUKK3dpZHRoLiAgSWYgbmlsLCByZXR1cm4g dGhlIGxhcmdlc3QgaW50ZWdlciBzbWFsbGVyIHRoYW4gV0lORE9XJ3MgcGl4ZWwKK3dpZHRo IGluIHVuaXRzIG9mIHRoZSBjaGFyYWN0ZXIgd2lkdGggb2YgV0lORE9XJ3MgZnJhbWUuICBJ ZiBQSVhFTFdJU0UKK2lzIGByZW1hcCcgYW5kIHRoZSBkZWZhdWx0IGZhY2UgaXMgcmVtYXBw ZWQgKHNlZQorYGZhY2UtcmVtYXBwaW5nLWFsaXN0JyksIHVzZSB0aGUgcmVtYXBwZWQgZmFj ZSB0byBkZXRlcm1pbmUgdGhlCitjaGFyYWN0ZXIgd2lkdGguICBGb3IgYW55IG90aGVyIG5v bi1uaWwgdmFsdWUsIHJldHVybiB0aGUgd2lkdGggaW4KK3BpeGVscy4KIAogTm90ZSB0aGF0 IHRoZSByZXR1cm5lZCB2YWx1ZSBpbmNsdWRlcyB0aGUgY29sdW1uIHJlc2VydmVkIGZvciB0 aGUKIGNvbnRpbnVhdGlvbiBnbHlwaC4KQEAgLTEwODQsMjUgKzExMzEsMjkgQEAgREVGVU4g KCJ3aW5kb3ctYm9keS13aWR0aCIsIEZ3aW5kb3dfYm9keV93aWR0aCwgU3dpbmRvd19ib2R5 X3dpZHRoLCAwLCAyLCAwLAogQWxzbyBzZWUgYHdpbmRvdy1tYXgtY2hhcnMtcGVyLWxpbmUn LiAgKi8pCiAgIChMaXNwX09iamVjdCB3aW5kb3csIExpc3BfT2JqZWN0IHBpeGVsd2lzZSkK IHsKLSAgcmV0dXJuIG1ha2VfZml4bnVtICh3aW5kb3dfYm9keV93aWR0aCAoZGVjb2RlX2xp dmVfd2luZG93ICh3aW5kb3cpLAotCQkJCQkgIU5JTFAgKHBpeGVsd2lzZSkpKTsKKyAgcmV0 dXJuIChtYWtlX2ZpeG51bQorCSAgKHdpbmRvd19ib2R5X3dpZHRoIChkZWNvZGVfbGl2ZV93 aW5kb3cgKHdpbmRvdyksCisJCQkgICAgICB3aW5kb3dfYm9keV91bml0X2Zyb21fc3ltYm9s IChwaXhlbHdpc2UpKSkpOwogfQogCiBERUZVTiAoIndpbmRvdy1ib2R5LWhlaWdodCIsIEZ3 aW5kb3dfYm9keV9oZWlnaHQsIFN3aW5kb3dfYm9keV9oZWlnaHQsIDAsIDIsIDAsCiAgICAg ICAgZG9jOiAvKiBSZXR1cm4gdGhlIGhlaWdodCBvZiBXSU5ET1cncyB0ZXh0IGFyZWEuCi1X SU5ET1cgbXVzdCBiZSBhIGxpdmUgd2luZG93IGFuZCBkZWZhdWx0cyB0byB0aGUgc2VsZWN0 ZWQgb25lLiAgT3B0aW9uYWwKLWFyZ3VtZW50IFBJWEVMV0lTRSBub24tbmlsIG1lYW5zIHJl dHVybiB0aGUgaGVpZ2h0IG9mIFdJTkRPVydzIHRleHQgYXJlYQotaW4gcGl4ZWxzLiAgVGhl IHJldHVybiB2YWx1ZSBkb2VzIG5vdCBpbmNsdWRlIHRoZSBtb2RlIGxpbmUgb3IgaGVhZGVy Ci1saW5lIG9yIGFueSBob3Jpem9udGFsIGRpdmlkZXIuCi0KLUlmIFBJWEVMV0lTRSBpcyBu aWwsIHJldHVybiB0aGUgbGFyZ2VzdCBpbnRlZ2VyIHNtYWxsZXIgdGhhbiBXSU5ET1cncwot cGl4ZWwgaGVpZ2h0IGRpdmlkZWQgYnkgdGhlIGNoYXJhY3RlciBoZWlnaHQgb2YgV0lORE9X J3MgZnJhbWUuICBUaGlzCi1tZWFucyB0aGF0IGlmIGEgbGluZSBhdCB0aGUgYm90dG9tIG9m IHRoZSB0ZXh0IGFyZWEgaXMgb25seSBwYXJ0aWFsbHkKLXZpc2libGUsIHRoYXQgbGluZSBp cyBub3QgY291bnRlZC4gICovKQorV0lORE9XIG11c3QgYmUgYSBsaXZlIHdpbmRvdyBhbmQg ZGVmYXVsdHMgdG8gdGhlIHNlbGVjdGVkIG9uZS4gIFRoZQorcmV0dXJuIHZhbHVlIGRvZXMg bm90IGluY2x1ZGUgdGhlIG1vZGUgbGluZSBvciBoZWFkZXIgbGluZSBvciBhbnkKK2hvcml6 b250YWwgZGl2aWRlci4KKworVGhlIG9wdGlvbmFsIGFyZ3VtZW50IFBJWEVMV0lTRSBkZWZp bmVzIHRoZSB1bml0cyB0byB1c2UgZm9yIHRoZQoraGVpZ2h0LiAgSWYgbmlsLCByZXR1cm4g dGhlIGxhcmdlc3QgaW50ZWdlciBzbWFsbGVyIHRoYW4gV0lORE9XJ3MKK3BpeGVsIGhlaWdo dCBpbiB1bml0cyBvZiB0aGUgY2hhcmFjdGVyIGhlaWdodCBvZiBXSU5ET1cncyBmcmFtZS4g IElmCitQSVhFTFdJU0UgaXMgYHJlbWFwJyBhbmQgdGhlIGRlZmF1bHQgZmFjZSBpcyByZW1h cHBlZCAoc2VlCitgZmFjZS1yZW1hcHBpbmctYWxpc3QnKSwgdXNlIHRoZSByZW1hcHBlZCBm YWNlIHRvIGRldGVybWluZSB0aGUKK2NoYXJhY3RlciBoZWlnaHQuICBGb3IgYW55IG90aGVy IG5vbi1uaWwgdmFsdWUsIHJldHVybiB0aGUgaGVpZ2h0IGluCitwaXhlbHMuICAqLykKICAg KExpc3BfT2JqZWN0IHdpbmRvdywgTGlzcF9PYmplY3QgcGl4ZWx3aXNlKQogewotICByZXR1 cm4gbWFrZV9maXhudW0gKHdpbmRvd19ib2R5X2hlaWdodCAoZGVjb2RlX2xpdmVfd2luZG93 ICh3aW5kb3cpLAotCQkJCQkgICFOSUxQIChwaXhlbHdpc2UpKSk7CisgIHJldHVybiAobWFr ZV9maXhudW0KKwkgICh3aW5kb3dfYm9keV9oZWlnaHQgKGRlY29kZV9saXZlX3dpbmRvdyAo d2luZG93KSwKKwkJCSAgICAgICB3aW5kb3dfYm9keV91bml0X2Zyb21fc3ltYm9sIChwaXhl bHdpc2UpKSkpOwogfQogCiBERUZVTiAoIndpbmRvdy1vbGQtYm9keS1waXhlbC13aWR0aCIs CkBAIC0yMTI0LDcgKzIxNzUsOCBAQCBERUZVTiAoIndpbmRvdy1saW5lcy1waXhlbC1kaW1l bnNpb25zIiwgRndpbmRvd19saW5lc19waXhlbF9kaW1lbnNpb25zLCBTd2luZG93XwogICBz dHJ1Y3QgZ2x5cGhfcm93ICpyb3csICplbmRfcm93OwogICBpbnQgbWF4X3kgPSBOSUxQIChi b2R5KSA/IFdJTkRPV19QSVhFTF9IRUlHSFQgKHcpIDogd2luZG93X3RleHRfYm90dG9tX3kg KHcpOwogICBMaXNwX09iamVjdCByb3dzID0gUW5pbDsKLSAgaW50IHdpbmRvd193aWR0aCA9 IE5JTFAgKGJvZHkpID8gdy0+cGl4ZWxfd2lkdGggOiB3aW5kb3dfYm9keV93aWR0aCAodywg dHJ1ZSk7CisgIGludCB3aW5kb3dfd2lkdGggPSBOSUxQIChib2R5KQorICAgID8gdy0+cGl4 ZWxfd2lkdGggOiB3aW5kb3dfYm9keV93aWR0aCAodywgQk9EWV9JTl9QSVhFTFMpOwogICBp bnQgdGFiX2xpbmVfaGVpZ2h0ID0gV0lORE9XX1RBQl9MSU5FX0hFSUdIVCAodyk7CiAgIGlu dCBoZWFkZXJfbGluZV9oZWlnaHQgPSBXSU5ET1dfSEVBREVSX0xJTkVfSEVJR0hUICh3KTsK ICAgaW50IHN1YnRyYWN0ID0gTklMUCAoYm9keSkgPyAwIDogKHRhYl9saW5lX2hlaWdodCAr IGhlYWRlcl9saW5lX2hlaWdodCk7CkBAIC0zNjU3LDggKzM3MDksOCBAQCB3aW5kb3dfY2hh bmdlX3JlY29yZF93aW5kb3dzIChMaXNwX09iamVjdCB3aW5kb3csIGludCBzdGFtcCwgcHRy ZGlmZl90IG51bWJlcikKIAkgIHdzZXRfb2xkX2J1ZmZlciAodywgdy0+Y29udGVudHMpOwog CSAgdy0+b2xkX3BpeGVsX3dpZHRoID0gdy0+cGl4ZWxfd2lkdGg7CiAJICB3LT5vbGRfcGl4 ZWxfaGVpZ2h0ID0gdy0+cGl4ZWxfaGVpZ2h0OwotCSAgdy0+b2xkX2JvZHlfcGl4ZWxfd2lk dGggPSB3aW5kb3dfYm9keV93aWR0aCAodywgdHJ1ZSk7Ci0JICB3LT5vbGRfYm9keV9waXhl bF9oZWlnaHQgPSB3aW5kb3dfYm9keV9oZWlnaHQgKHcsIHRydWUpOworCSAgdy0+b2xkX2Jv ZHlfcGl4ZWxfd2lkdGggPSB3aW5kb3dfYm9keV93aWR0aCAodywgQk9EWV9JTl9QSVhFTFMp OworCSAgdy0+b2xkX2JvZHlfcGl4ZWxfaGVpZ2h0ID0gd2luZG93X2JvZHlfaGVpZ2h0ICh3 LCBCT0RZX0lOX1BJWEVMUyk7CiAJfQogCiAgICAgICB3ID0gTklMUCAody0+bmV4dCkgPyAw IDogWFdJTkRPVyAody0+bmV4dCk7CkBAIC0zOTAzLDggKzM5NTUsMTAgQEAgcnVuX3dpbmRv d19jaGFuZ2VfZnVuY3Rpb25zICh2b2lkKQogCSAgICAgJiYgKHdpbmRvd19idWZmZXJfY2hh bmdlCiAJCSB8fCB3LT5waXhlbF93aWR0aCAhPSB3LT5vbGRfcGl4ZWxfd2lkdGgKIAkJIHx8 IHctPnBpeGVsX2hlaWdodCAhPSB3LT5vbGRfcGl4ZWxfaGVpZ2h0Ci0JCSB8fCB3aW5kb3df Ym9keV93aWR0aCAodywgdHJ1ZSkgIT0gdy0+b2xkX2JvZHlfcGl4ZWxfd2lkdGgKLQkJIHx8 IHdpbmRvd19ib2R5X2hlaWdodCAodywgdHJ1ZSkgIT0gdy0+b2xkX2JvZHlfcGl4ZWxfaGVp Z2h0KSk7CisJCSB8fCAod2luZG93X2JvZHlfd2lkdGggKHcsIEJPRFlfSU5fUElYRUxTKQor CQkgICAgICE9IHctPm9sZF9ib2R5X3BpeGVsX3dpZHRoKQorCQkgfHwgKHdpbmRvd19ib2R5 X2hlaWdodCAodywgQk9EWV9JTl9QSVhFTFMpCisJCSAgICAgIT0gdy0+b2xkX2JvZHlfcGl4 ZWxfaGVpZ2h0KSkpOwogCiAJICAvKiBUaGUgZm9sbG93aW5nIHR3byBhcmUgbmVlZGVkIHdo ZW4gcnVubmluZyB0aGUgZGVmYXVsdAogCSAgICAgdmFsdWVzIGZvciB0aGlzIGZyYW1lIGJl bG93LiAgKi8KQEAgLTQ3NjgsNyArNDgyMiw4IEBAIHJlc2l6ZV9mcmFtZV93aW5kb3dzIChz dHJ1Y3QgZnJhbWUgKmYsIGludCBzaXplLCBib29sIGhvcmZsYWcpCiAgIExpc3BfT2JqZWN0 IG1pbmkgPSBmLT5taW5pYnVmZmVyX3dpbmRvdzsKICAgc3RydWN0IHdpbmRvdyAqbSA9IFdJ TkRPV1AgKG1pbmkpID8gWFdJTkRPVyAobWluaSkgOiBOVUxMOwogICBpbnQgbWluaV9oZWln aHQgPSAoKEZSQU1FX0hBU19NSU5JQlVGX1AgKGYpICYmICFGUkFNRV9NSU5JQlVGX09OTFlf UCAoZikpCi0JCSAgICAgPyB1bml0ICsgbS0+cGl4ZWxfaGVpZ2h0IC0gd2luZG93X2JvZHlf aGVpZ2h0IChtLCB0cnVlKQorCQkgICAgID8gKHVuaXQgKyBtLT5waXhlbF9oZWlnaHQKKwkJ CS0gd2luZG93X2JvZHlfaGVpZ2h0IChtLCBCT0RZX0lOX1BJWEVMUykpCiAJCSAgICAgOiAw KTsKIAogICBuZXdfcGl4ZWxfc2l6ZSA9IG1heCAoaG9yZmxhZyA/IHNpemUgOiBzaXplIC0g bWluaV9oZWlnaHQsIHVuaXQpOwpAQCAtNTI1NSw3ICs1MzEwLDcgQEAgcmVzaXplX21pbmlf d2luZG93X2FwcGx5IChzdHJ1Y3Qgd2luZG93ICp3LCBpbnQgZGVsdGEpCiBncm93X21pbmlf d2luZG93IChzdHJ1Y3Qgd2luZG93ICp3LCBpbnQgZGVsdGEpCiB7CiAgIHN0cnVjdCBmcmFt ZSAqZiA9IFhGUkFNRSAody0+ZnJhbWUpOwotICBpbnQgb2xkX2hlaWdodCA9IHdpbmRvd19i b2R5X2hlaWdodCAodywgdHJ1ZSk7CisgIGludCBvbGRfaGVpZ2h0ID0gd2luZG93X2JvZHlf aGVpZ2h0ICh3LCBCT0RZX0lOX1BJWEVMUyk7CiAgIGludCBtaW5faGVpZ2h0ID0gRlJBTUVf TElORV9IRUlHSFQgKGYpOwogCiAgIGVhc3NlcnQgKE1JTklfV0lORE9XX1AgKHcpKTsKQEAg LTUyODksNyArNTM0NCw3IEBAIGdyb3dfbWluaV93aW5kb3cgKHN0cnVjdCB3aW5kb3cgKncs IGludCBkZWx0YSkKIHNocmlua19taW5pX3dpbmRvdyAoc3RydWN0IHdpbmRvdyAqdykKIHsK ICAgc3RydWN0IGZyYW1lICpmID0gWEZSQU1FICh3LT5mcmFtZSk7Ci0gIGludCBkZWx0YSA9 IHdpbmRvd19ib2R5X2hlaWdodCAodywgdHJ1ZSkgLSBGUkFNRV9MSU5FX0hFSUdIVCAoZik7 CisgIGludCBkZWx0YSA9IHdpbmRvd19ib2R5X2hlaWdodCAodywgQk9EWV9JTl9QSVhFTFMp IC0gRlJBTUVfTElORV9IRUlHSFQgKGYpOwogCiAgIGVhc3NlcnQgKE1JTklfV0lORE9XX1Ag KHcpKTsKIApAQCAtNjM1Niw5ICs2NDExLDEwIEBAIERFRlVOICgic2Nyb2xsLWxlZnQiLCBG c2Nyb2xsX2xlZnQsIFNzY3JvbGxfbGVmdCwgMCwgMiwgIl5QXG5wIiwKICAgKHJlZ2lzdGVy IExpc3BfT2JqZWN0IGFyZywgTGlzcF9PYmplY3Qgc2V0X21pbmltdW0pCiB7CiAgIHN0cnVj dCB3aW5kb3cgKncgPSBYV0lORE9XIChzZWxlY3RlZF93aW5kb3cpOwotICBFTUFDU19JTlQg cmVxdWVzdGVkX2FyZyA9IChOSUxQIChhcmcpCi0JCQkgICAgID8gd2luZG93X2JvZHlfd2lk dGggKHcsIDApIC0gMgotCQkJICAgICA6IFhGSVhOVU0gKEZwcmVmaXhfbnVtZXJpY192YWx1 ZSAoYXJnKSkpOworICBFTUFDU19JTlQgcmVxdWVzdGVkX2FyZyA9CisgICAgKE5JTFAgKGFy ZykKKyAgICAgPyB3aW5kb3dfYm9keV93aWR0aCAodywgQk9EWV9JTl9DQU5PTklDQUxfQ0hB UlMpIC0gMgorICAgICA6IFhGSVhOVU0gKEZwcmVmaXhfbnVtZXJpY192YWx1ZSAoYXJnKSkp OwogICBMaXNwX09iamVjdCByZXN1bHQgPSBzZXRfd2luZG93X2hzY3JvbGwgKHcsIHctPmhz Y3JvbGwgKyByZXF1ZXN0ZWRfYXJnKTsKIAogICBpZiAoIU5JTFAgKHNldF9taW5pbXVtKSkK QEAgLTYzODEsOSArNjQzNywxMCBAQCBERUZVTiAoInNjcm9sbC1yaWdodCIsIEZzY3JvbGxf cmlnaHQsIFNzY3JvbGxfcmlnaHQsIDAsIDIsICJeUFxucCIsCiAgIChyZWdpc3RlciBMaXNw X09iamVjdCBhcmcsIExpc3BfT2JqZWN0IHNldF9taW5pbXVtKQogewogICBzdHJ1Y3Qgd2lu ZG93ICp3ID0gWFdJTkRPVyAoc2VsZWN0ZWRfd2luZG93KTsKLSAgRU1BQ1NfSU5UIHJlcXVl c3RlZF9hcmcgPSAoTklMUCAoYXJnKQotCQkJICAgICA/IHdpbmRvd19ib2R5X3dpZHRoICh3 LCAwKSAtIDIKLQkJCSAgICAgOiBYRklYTlVNIChGcHJlZml4X251bWVyaWNfdmFsdWUgKGFy ZykpKTsKKyAgRU1BQ1NfSU5UIHJlcXVlc3RlZF9hcmcgPQorICAgIChOSUxQIChhcmcpCisg ICAgID8gd2luZG93X2JvZHlfd2lkdGggKHcsIEJPRFlfSU5fQ0FOT05JQ0FMX0NIQVJTKSAt IDIKKyAgICAgOiBYRklYTlVNIChGcHJlZml4X251bWVyaWNfdmFsdWUgKGFyZykpKTsKICAg TGlzcF9PYmplY3QgcmVzdWx0ID0gc2V0X3dpbmRvd19oc2Nyb2xsICh3LCB3LT5oc2Nyb2xs IC0gcmVxdWVzdGVkX2FyZyk7CiAKICAgaWYgKCFOSUxQIChzZXRfbWluaW11bSkpCmRpZmYg LS1naXQgYS9zcmMvd2luZG93LmggYi9zcmMvd2luZG93LmgKaW5kZXggN2Y3ZGU1ODg0Ni4u MzJlOGIzYjk3OCAxMDA2NDQKLS0tIGEvc3JjL3dpbmRvdy5oCisrKyBiL3NyYy93aW5kb3cu aApAQCAtMTE4Niw3ICsxMTg2LDEyIEBAICNkZWZpbmUgQ0hFQ0tfTElWRV9XSU5ET1coV0lO RE9XKQkJCQlcCiBleHRlcm4gYm9vbCB3aW5kb3dfd2FudHNfaGVhZGVyX2xpbmUgKHN0cnVj dCB3aW5kb3cgKik7CiBleHRlcm4gYm9vbCB3aW5kb3dfd2FudHNfdGFiX2xpbmUgKHN0cnVj dCB3aW5kb3cgKik7CiBleHRlcm4gaW50IHdpbmRvd19pbnRlcm5hbF9oZWlnaHQgKHN0cnVj dCB3aW5kb3cgKik7Ci1leHRlcm4gaW50IHdpbmRvd19ib2R5X3dpZHRoIChzdHJ1Y3Qgd2lu ZG93ICp3LCBib29sKTsKK2VudW0gYm9keV91bml0IHsKKyAgQk9EWV9JTl9DQU5PTklDQUxf Q0hBUlMsCisgIEJPRFlfSU5fUElYRUxTLAorICBCT0RZX0lOX1JFTUFQUEVEX0NIQVJTCit9 OworZXh0ZXJuIGludCB3aW5kb3dfYm9keV93aWR0aCAoc3RydWN0IHdpbmRvdyAqdywgZW51 bSBib2R5X3VuaXQpOwogZW51bSBtYXJnaW5fdW5pdCB7IE1BUkdJTl9JTl9MSU5FUywgTUFS R0lOX0lOX1BJWEVMUyB9OwogZXh0ZXJuIGludCB3aW5kb3dfc2Nyb2xsX21hcmdpbiAoc3Ry dWN0IHdpbmRvdyAqLCBlbnVtIG1hcmdpbl91bml0KTsKIGV4dGVybiB2b2lkIHRlbXBfb3V0 cHV0X2J1ZmZlcl9zaG93IChMaXNwX09iamVjdCk7CmRpZmYgLS1naXQgYS90ZXN0L2xpc3Av ZXNoZWxsL2VzaC12YXItdGVzdHMuZWwgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaC12YXItdGVz dHMuZWwKaW5kZXggNGUyYTE4ODYxZS4uN2I4YWNmY2M3ZCAxMDA2NDQKLS0tIGEvdGVzdC9s aXNwL2VzaGVsbC9lc2gtdmFyLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNo LXZhci10ZXN0cy5lbApAQCAtNDY5LDEzICs0NjksMTUgQEAgZXNoLXZhci10ZXN0L3F1b3Rl ZC1pbnRlcnAtY29udmVydC1jbWQtc3BsaXQtaW5kaWNlcwogDAogOzsgQnVpbHQtaW4gdmFy aWFibGVzCiAKLShlcnQtZGVmdGVzdCBlc2gtdmFyLXRlc3Qvd2luZG93LWhlaWdodCAoKQot ICAiJExJTkVTIHNob3VsZCBlcXVhbCAod2luZG93LWhlaWdodCkiCi0gIChzaG91bGQgKGVz aGVsbC10ZXN0LWNvbW1hbmQtcmVzdWx0ICI9ICRMSU5FUyAod2luZG93LWhlaWdodCkiKSkp Ci0KLShlcnQtZGVmdGVzdCBlc2gtdmFyLXRlc3Qvd2luZG93LXdpZHRoICgpCi0gICIkQ09M VU1OUyBzaG91bGQgZXF1YWwgKHdpbmRvdy13aWR0aCkiCi0gIChzaG91bGQgKGVzaGVsbC10 ZXN0LWNvbW1hbmQtcmVzdWx0ICI9ICRDT0xVTU5TICh3aW5kb3ctd2lkdGgpIikpKQorKGVy dC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9saW5lcy12YXIgKCkKKyAgIiRMSU5FUyBzaG91bGQg ZXF1YWwgKHdpbmRvdy1ib2R5LWhlaWdodCBuaWwgJ3JlbWFwKSIKKyAgKHNob3VsZCAoZXF1 YWwgKGVzaGVsbC10ZXN0LWNvbW1hbmQtcmVzdWx0ICJlY2hvICRMSU5FUyIpCisgICAgICAg ICAgICAgICAgICh3aW5kb3ctYm9keS1oZWlnaHQgbmlsICdyZW1hcCkpKSkKKworKGVydC1k ZWZ0ZXN0IGVzaC12YXItdGVzdC9jb2x1bW5zLXZhciAoKQorICAiJENPTFVNTlMgc2hvdWxk IGVxdWFsICh3aW5kb3ctYm9keS13aWR0aCBuaWwgJ3JlbWFwKSIKKyAgKHNob3VsZCAoZXF1 YWwgKGVzaGVsbC10ZXN0LWNvbW1hbmQtcmVzdWx0ICJlY2hvICRDT0xVTU5TIikKKyAgICAg ICAgICAgICAgICAgKHdpbmRvdy1ib2R5LXdpZHRoIG5pbCAncmVtYXApKSkpCiAKIChlcnQt ZGVmdGVzdCBlc2gtdmFyLXRlc3QvbGFzdC1yZXN1bHQtdmFyICgpCiAgICJUZXN0IHVzaW5n IHRoZSBcImxhc3QgcmVzdWx0XCIgKCQkKSB2YXJpYWJsZSIKLS0gCjIuMjUuMQoK --------------30814C59D058BCC1B37783D8--