From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Campbell Barton Newsgroups: gmane.emacs.devel Subject: Bug-fix for deleting bookmarks failure to remove the fringe-overlay after jumping Date: Thu, 30 Dec 2021 17:32:17 +1100 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000dcf95f05d4573792" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16538"; mail-complaints-to="usenet@ciao.gmane.io" To: Emacs developers Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Dec 30 07:36:10 2021 Return-path: Envelope-to: ged-emacs-devel@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 1n2p2o-00048h-8v for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Dec 2021 07:36:10 +0100 Original-Received: from localhost ([::1]:58702 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n2p2m-0005Qr-Kw for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Dec 2021 01:36:08 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:44152) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n2ozJ-0003Vp-JW for emacs-devel@gnu.org; Thu, 30 Dec 2021 01:32:33 -0500 Original-Received: from [2607:f8b0:4864:20::630] (port=43871 helo=mail-pl1-x630.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n2ozG-00063m-0b for emacs-devel@gnu.org; Thu, 30 Dec 2021 01:32:33 -0500 Original-Received: by mail-pl1-x630.google.com with SMTP id l16so5503952plg.10 for ; Wed, 29 Dec 2021 22:32:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=XCHT5+m8QRVPZv9SaiO6OR9IHdQt4U1Ekn4RDTQocLs=; b=Y6OZ5VI1k+APnRwMBxDqwUrFPgIUK6ui2wW2pXEbxt39a2dQ4wdpLAyote3adC7f0Z OUkQbAUp/xa11XIA+RXCixtQXdKfVeap/AJ+P9l23zO+v/qOzBw9NlADKJtVIRFqYKLM OQrVFB88smeAV9pnyNuwFBHGoVi+X0SWzQ32yLhLEvglwvhQRSQ64P+EsEodyH8nk0jH B4Tvef9n1rFNRrPHEFyfv9/dYFs90Xen5eZP6Mw5W2PVOsoJ03N6k/XMapUlRvBEcjxh CZCIyIYktcTudOJjSye+tpOaE+TuMfD8ewsjNU4KyhkuoYb/tBWG70JmwIGQHZ/W1Hup 9Tpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=XCHT5+m8QRVPZv9SaiO6OR9IHdQt4U1Ekn4RDTQocLs=; b=a4qmwucDjL9dfZw6zUJ23BSnmMCk+EG39biIf6YFJQdiYckG3FG+FRch4yD2NC07tz S7tcfYCtUaQ2A9pIC8/Pq3+yJ8tMoNSpC2ERKibVINIoBiyF1+ZiNOZL7kFNvZyFCXp2 3YaxZH5I1jqHKatZa5RGRFZZiQoxFbqTy/jTpGxPZQumtlTX/KtNEt7W3yMklD0hgl1r GyCZst6wl1PEqDxvNBwYsOVHuyCxeKqGBUr8IxCDGdtjcMn99CdDnIfC0AxwMOH2oHCb ydE4GPUXatqPR35RjM5olPSWCPFhCGouVuDCrJnE9f2WQ2SkicegXub16+mDVBEDTOzL t2pg== X-Gm-Message-State: AOAM531AqR+gtkhLgxin7tNbQnFd/AgLytradowEOxeGy/OUIVd5XfyI yULiTf27Ph3dXNcDKlbDVC5xOEecTnk6ehVgAYYHY4hxRak= X-Google-Smtp-Source: ABdhPJyjyhkrohh4zNhpYBDsdoJKExyxDiUNL8x4fjTA9vqLKWHnt/KMJWgerpg8VPoE/uXFKuN+lg3LBr8riQIRmMs= X-Received: by 2002:a17:902:8e81:b0:149:8f60:a52a with SMTP id bg1-20020a1709028e8100b001498f60a52amr12176346plb.145.1640845948018; Wed, 29 Dec 2021 22:32:28 -0800 (PST) X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::630 (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::630; envelope-from=ideasman42@gmail.com; helo=mail-pl1-x630.google.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:283618 Archived-At: --000000000000dcf95f05d4573792 Content-Type: text/plain; charset="UTF-8" Using `bookmark-jump` would add duplicate overlays when bookmarks were not at the line beginning since it checked for an existing overlay at (point), not (point-bol). This was noticeable when removing the bookmark as the overlay was kept since removing the overlay only removes one overlay (although it checks all overlays on the line). To redo the bug: - Add a bookmark that isn't at the beginning of the line. - Jump to this bookmark. - Delete the bookmark. - Notice the overlay is not removed. -- - Campbell --000000000000dcf95f05d4573792 Content-Type: text/x-patch; charset="US-ASCII"; name="emacs-fix-bookmark-fringe-update-error.diff" Content-Disposition: attachment; filename="emacs-fix-bookmark-fringe-update-error.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kxslamvn0 Y29tbWl0IGZkYjIxNjdiNGFkOWYxNDA3MDhlMzhiZmNjMzBmZGJkMzE2OGJmMWUKQXV0aG9yOiBD YW1wYmVsbCBCYXJ0b24gPGlkZWFzbWFuNDJAZ21haWwuY29tPgpEYXRlOiAgIE1vbiBEZWMgMjAg MTk6MDE6MTQgMjAyMSArMTEwMAoKICAgIERvY3M6IHVzZSBkb3h5Z2VuIGZvcm1hdHRpbmcgZm9y IEJMSQogICAgCiAgICBEaWZmZXJlbnRpYXRlIGRvYy1zdHJpbmdzIGZyb20gdGl0bGUvc2VjdGlv biB0ZXh0LgoKZGlmZiAtLWdpdCBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX2Fzc2VydC5o IGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfYXNzZXJ0LmgKaW5kZXggNjAxOWYwZjM1NjYu LmUzMmExOWNmYzI1IDEwMDY0NAotLS0gYS9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9hc3Nl cnQuaAorKysgYi9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9hc3NlcnQuaApAQCAtMzAsNiAr MzAsNyBAQCBleHRlcm4gIkMiIHsKICNlbmRpZgogCiAvKiBVdGlsaXR5IGZ1bmN0aW9ucy4gKi8K Kwogdm9pZCBfQkxJX2Fzc2VydF9wcmludF9wb3MoY29uc3QgY2hhciAqZmlsZSwgY29uc3QgaW50 IGxpbmUsIGNvbnN0IGNoYXIgKmZ1bmN0aW9uLCBjb25zdCBjaGFyICppZCk7CiB2b2lkIF9CTElf YXNzZXJ0X3ByaW50X2V4dHJhKGNvbnN0IGNoYXIgKnN0cik7CiB2b2lkIF9CTElfYXNzZXJ0X3By aW50X2JhY2t0cmFjZSh2b2lkKTsKZGlmZiAtLWdpdCBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIv QkxJX2NvbG9yLmhoIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfY29sb3IuaGgKaW5kZXgg ZDkzYmQ3ZjZmNzYuLmRjZTYyNTc3N2I5IDEwMDY0NAotLS0gYS9zb3VyY2UvYmxlbmRlci9ibGVu bGliL0JMSV9jb2xvci5oaAorKysgYi9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9jb2xvci5o aApAQCAtNzMsMjcgKzczLDI3IEBAIG5hbWVzcGFjZSBibGVuZGVyIHsKICAqIC0gQWRkIG5vbiBS R0Igc3BhY2VzL3N0b3JhZ2VzIENvbG9yWHl6LgogICovCiAKLS8qIEVudW1lcmF0aW9uIGNvbnRh aW5pbmcgdGhlIGRpZmZlcmVudCBhbHBoYSBtb2Rlcy4gKi8KKy8qKiBFbnVtZXJhdGlvbiBjb250 YWluaW5nIHRoZSBkaWZmZXJlbnQgYWxwaGEgbW9kZXMuICovCiBlbnVtIGNsYXNzIGVBbHBoYSB7 Ci0gIC8qIENvbG9yIGFuZCBhbHBoYSBhcmUgdW5hc3NvY2lhdGVkLiAqLworICAvKiogQ29sb3Ig YW5kIGFscGhhIGFyZSB1bmFzc29jaWF0ZWQuICovCiAgIFN0cmFpZ2h0LAotICAvKiBDb2xvciBh bmQgYWxwaGEgYXJlIGFzc29jaWF0ZWQuICovCisgIC8qKiBDb2xvciBhbmQgYWxwaGEgYXJlIGFz c29jaWF0ZWQuICovCiAgIFByZW11bHRpcGxpZWQsCiB9Owogc3RkOjpvc3RyZWFtICZvcGVyYXRv cjw8KHN0ZDo6b3N0cmVhbSAmc3RyZWFtLCBjb25zdCBlQWxwaGEgJnNwYWNlKTsKIAotLyogRW51 bWVyYXRpb24gY29udGFpbmluZyBpbnRlcm5hbCBzcGFjZXMuICovCisvKiogRW51bWVyYXRpb24g Y29udGFpbmluZyBpbnRlcm5hbCBzcGFjZXMuICovCiBlbnVtIGNsYXNzIGVTcGFjZSB7Ci0gIC8q IEJsZW5kZXIgdGhlbWUgY29sb3Igc3BhY2UgKHNSR0IpLiAqLworICAvKiogQmxlbmRlciB0aGVt ZSBjb2xvciBzcGFjZSAoc1JHQikuICovCiAgIFRoZW1lLAotICAvKiBCbGVuZGVyIGludGVybmFs IHNjZW5lIGxpbmVhciBjb2xvciBzcGFjZSAobWFwcyB0byBTY2VuZVJlZmVyZW5jZSByb2xlIGlu IE9DSU8pLiAqLworICAvKiogQmxlbmRlciBpbnRlcm5hbCBzY2VuZSBsaW5lYXIgY29sb3Igc3Bh Y2UgKG1hcHMgdG8gU2NlbmVSZWZlcmVuY2Ugcm9sZSBpbiBPQ0lPKS4gKi8KICAgU2NlbmVMaW5l YXIsCi0gIC8qIEJsZW5kZXIgaW50ZXJuYWwgc2NlbmUgbGluZWFyIGNvbG9yIHNwYWNlIGNvbXBy ZXNzZWQgdG8gYmUgc3RvcmVkIGluIDQgdWludDhfdC4gKi8KKyAgLyoqIEJsZW5kZXIgaW50ZXJu YWwgc2NlbmUgbGluZWFyIGNvbG9yIHNwYWNlIGNvbXByZXNzZWQgdG8gYmUgc3RvcmVkIGluIDQg dWludDhfdC4gKi8KICAgU2NlbmVMaW5lYXJCeXRlRW5jb2RlZCwKIH07CiBzdGQ6Om9zdHJlYW0g Jm9wZXJhdG9yPDwoc3RkOjpvc3RyZWFtICZzdHJlYW0sIGNvbnN0IGVTcGFjZSAmc3BhY2UpOwog Ci0vKiBUZW1wbGF0ZSBjbGFzcyB0byBzdG9yZSBSR0JBIHZhbHVlcyB3aXRoIGRpZmZlcmVudCBw cmVjaXNpb24sIHNwYWNlIGFuZCBhbHBoYSBhc3NvY2lhdGlvbi4gKi8KKy8qKiBUZW1wbGF0ZSBj bGFzcyB0byBzdG9yZSBSR0JBIHZhbHVlcyB3aXRoIGRpZmZlcmVudCBwcmVjaXNpb24sIHNwYWNl IGFuZCBhbHBoYSBhc3NvY2lhdGlvbi4gKi8KIHRlbXBsYXRlPHR5cGVuYW1lIENoYW5uZWxTdG9y YWdlVHlwZSwgZVNwYWNlIFNwYWNlLCBlQWxwaGEgQWxwaGE+IGNsYXNzIENvbG9yUkdCQSB7CiAg cHVibGljOgogICBDaGFubmVsU3RvcmFnZVR5cGUgciwgZywgYiwgYTsKQEAgLTE1MywxMSArMTUz LDEzIEBAIHRlbXBsYXRlPHR5cGVuYW1lIENoYW5uZWxTdG9yYWdlVHlwZSwgZVNwYWNlIFNwYWNl LCBlQWxwaGEgQWxwaGE+IGNsYXNzIENvbG9yUkdCCiB9OwogCiAvKiBGb3J3YXJkIGRlY2xhcmF0 aW9ucyBvZiBjb25jcmV0ZSBjb2xvciBjbGFzc2VzLiAqLworCiB0ZW1wbGF0ZTxlQWxwaGEgQWxw aGE+IGNsYXNzIENvbG9yU2NlbmVMaW5lYXI0ZjsKIHRlbXBsYXRlPGVBbHBoYSBBbHBoYT4gY2xh c3MgQ29sb3JTY2VuZUxpbmVhckJ5dGVFbmNvZGVkNGI7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFu bmVsU3RvcmFnZVR5cGU+IGNsYXNzIENvbG9yVGhlbWU0OwogCiAvKiBGb3J3YXJkIGRlY2xhcmF0 aW9uIG9mIHByZWNpc2lvbiBjb252ZXJzaW9uIG1ldGhvZHMuICovCisKIEJMSV9JTkxJTkUgQ29s b3JUaGVtZTQ8ZmxvYXQ+IEJMSV9jb2xvcl9jb252ZXJ0X3RvX3RoZW1lNGYoY29uc3QgQ29sb3JU aGVtZTQ8dWludDhfdD4gJnNyZ2I0Yik7CiBCTElfSU5MSU5FIENvbG9yVGhlbWU0PHVpbnQ4X3Q+ IEJMSV9jb2xvcl9jb252ZXJ0X3RvX3RoZW1lNGIoY29uc3QgQ29sb3JUaGVtZTQ8ZmxvYXQ+ICZz cmdiNGYpOwogCkBAIC0zNTQsNiArMzU2LDcgQEAgQkxJX2NvbG9yX2NvbnZlcnRfdG9fdGhlbWU0 Yihjb25zdCBDb2xvclNjZW5lTGluZWFyNGY8ZUFscGhhOjpTdHJhaWdodD4gJnNjZW5lX2wKIH0K IAogLyogSW50ZXJuYWwgcm9sZXMuIEZvciBjb252ZW5pZW5jZSB0byBzaG9ydGVuIHRoZSB0eXBl IG5hbWVzIGFuZCBoaWRlIGNvbXBsZXhpdHkuICovCisKIHVzaW5nIENvbG9yR2VvbWV0cnk0ZiA9 IENvbG9yU2NlbmVMaW5lYXI0ZjxlQWxwaGE6OlByZW11bHRpcGxpZWQ+OwogdXNpbmcgQ29sb3JH ZW9tZXRyeTRiID0gQ29sb3JTY2VuZUxpbmVhckJ5dGVFbmNvZGVkNGI8ZUFscGhhOjpQcmVtdWx0 aXBsaWVkPjsKIApkaWZmIC0tZ2l0IGEvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfY29tcGls ZXJfY29tcGF0LmggYi9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9jb21waWxlcl9jb21wYXQu aAppbmRleCBiZDhmODRjZWRkNi4uMDIzZmVhMzg1M2UgMTAwNjQ0Ci0tLSBhL3NvdXJjZS9ibGVu ZGVyL2JsZW5saWIvQkxJX2NvbXBpbGVyX2NvbXBhdC5oCisrKyBiL3NvdXJjZS9ibGVuZGVyL2Js ZW5saWIvQkxJX2NvbXBpbGVyX2NvbXBhdC5oCkBAIC0zNCw3ICszNCw3IEBACiAKICNpZiAoZGVm aW5lZChfX0dOVUNfXykgfHwgZGVmaW5lZChfX2NsYW5nX18pKSAmJiBkZWZpbmVkKF9fY3BsdXNw bHVzKQogZXh0ZXJuICJDKysiIHsKLS8qIFNvbWUgbWFnaWMgdG8gYmUgc3VyZSB3ZSBkb24ndCBo YXZlIHJlZmVyZW5jZSBpbiB0aGUgdHlwZS4gKi8KKy8qKiBTb21lIG1hZ2ljIHRvIGJlIHN1cmUg d2UgZG9uJ3QgaGF2ZSByZWZlcmVuY2UgaW4gdGhlIHR5cGUuICovCiB0ZW1wbGF0ZTx0eXBlbmFt ZSBUPiBzdGF0aWMgaW5saW5lIFQgZGVjbHR5cGVfaGVscGVyKFQgeCkKIHsKICAgcmV0dXJuIHg7 CmRpZmYgLS1naXQgYS9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9kZWxhdW5heV8yZC5oIGIv c291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfZGVsYXVuYXlfMmQuaAppbmRleCA2NThkY2FkYWRj ZS4uZGIwZGY5NTQ5OWYgMTAwNjQ0Ci0tLSBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX2Rl bGF1bmF5XzJkLmgKKysrIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfZGVsYXVuYXlfMmQu aApAQCAtMjIyLDcgKzIyMiw3IEBAIHZvaWQgQkxJX2RlbGF1bmF5XzJkX2NkdF9mcmVlKENEVF9y ZXN1bHQgKnJlc3VsdCk7CiAKIG5hbWVzcGFjZSBibGVuZGVyOjptZXNoaW50ZXJzZWN0IHsKIAot LyogdmVjMjxBcml0aF90PiBpcyBhIDJkIHZlY3RvciB3aXRoIEFyaXRoX3QgYXMgdGhlIHR5cGUg Zm9yIGNvb3JkaW5hdGVzLiAqLworLyoqICN2ZWMyPEFyaXRoX3Q+IGlzIGEgMmQgdmVjdG9yIHdp dGggI0FyaXRoX3QgYXMgdGhlIHR5cGUgZm9yIGNvb3JkaW5hdGVzLiAqLwogdGVtcGxhdGU8dHlw ZW5hbWUgQXJpdGhfdD4gc3RydWN0IHZlYzJfaW1wbDsKIHRlbXBsYXRlPD4gc3RydWN0IHZlYzJf aW1wbDxkb3VibGU+IHsKICAgdHlwZWRlZiBkb3VibGUyIHR5cGU7CmRpZmYgLS1naXQgYS9zb3Vy Y2UvYmxlbmRlci9ibGVubGliL0JMSV9kbHJiVHJlZS5oIGIvc291cmNlL2JsZW5kZXIvYmxlbmxp Yi9CTElfZGxyYlRyZWUuaAppbmRleCA3MmYxODI0NGQ1Yi4uM2NmODQ5ZWZhZWYgMTAwNjQ0Ci0t LSBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX2RscmJUcmVlLmgKKysrIGIvc291cmNlL2Js ZW5kZXIvYmxlbmxpYi9CTElfZGxyYlRyZWUuaApAQCAtNDAsNyArNDAsNyBAQCBleHRlcm4gIkMi IHsKIC8qKiBcbmFtZSBCYXNlIFN0cnVjdHMKICAqIFx7ICovCiAKLS8qIEJhc2ljIExheW91dCBm b3IgYSBOb2RlICovCisvKiogQmFzaWMgTGF5b3V0IGZvciBhIE5vZGUuICovCiB0eXBlZGVmIHN0 cnVjdCBETFJCVF9Ob2RlIHsKICAgLyogTGlzdEJhc2UgY2FwYWJpbGl0aWVzICovCiAgIHN0cnVj dCBETFJCVF9Ob2RlICpuZXh0LCAqcHJldjsKQEAgLTUzLDcgKzUzLDcgQEAgdHlwZWRlZiBzdHJ1 Y3QgRExSQlRfTm9kZSB7CiAgIC8qIC4uLiBmb3IgbmljZSBhbGlnbm1lbnQsIG5leHQgaXRlbSBz aG91bGQgdXN1YWxseSBiZSBhIGNoYXIgdG9vLi4uICovCiB9IERMUkJUX05vZGU7CiAKLS8qIFJl ZC9CbGFjayBkZWZpbmVzIGZvciB0cmVlX2NvbCAqLworLyoqIFJlZC9CbGFjayBkZWZpbmVzIGZv ciB0cmVlX2NvbC4gKi8KIHR5cGVkZWYgZW51bSBlRExSQlRfQ29sb3JzIHsKICAgRExSQlRfQkxB Q0sgPSAwLAogICBETFJCVF9SRUQsCkBAIC02MSw3ICs2MSw3IEBAIHR5cGVkZWYgZW51bSBlRExS QlRfQ29sb3JzIHsKIAogLyogLS0tLS0tLS0gKi8KIAotLyogVGhlIFRyZWUgRGF0YSAqLworLyoq IFRoZSBUcmVlIERhdGEuICovCiB0eXBlZGVmIHN0cnVjdCBETFJCVF9UcmVlIHsKICAgLyogTGlz dEJhc2UgY2FwYWJpbGl0aWVzICovCiAgIHZvaWQgKmZpcnN0LCAqbGFzdDsgLyogdGhlc2Ugc2hv dWxkIGJlIGJhc2VkIG9uIERMUkJUX05vZGUtcyAqLwpkaWZmIC0tZ2l0IGEvc291cmNlL2JsZW5k ZXIvYmxlbmxpYi9CTElfZW5kaWFuX3N3aXRjaC5oIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9C TElfZW5kaWFuX3N3aXRjaC5oCmluZGV4IGI1MTIxMzNiMzRjLi5lNmNjYmU0NjI5YSAxMDA2NDQK LS0tIGEvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfZW5kaWFuX3N3aXRjaC5oCisrKyBiL3Nv dXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX2VuZGlhbl9zd2l0Y2guaApAQCAtMzAsNiArMzAsNyBA QCBleHRlcm4gIkMiIHsKICNlbmRpZgogCiAvKiBCTElfZW5kaWFuX3N3aXRjaF9pbmxpbmUuaCAq LworCiBCTElfSU5MSU5FIHZvaWQgQkxJX2VuZGlhbl9zd2l0Y2hfaW50MTYoc2hvcnQgKnZhbCkg QVRUUl9OT05OVUxMKDEpOwogQkxJX0lOTElORSB2b2lkIEJMSV9lbmRpYW5fc3dpdGNoX3VpbnQx Nih1bnNpZ25lZCBzaG9ydCAqdmFsKSBBVFRSX05PTk5VTEwoMSk7CiBCTElfSU5MSU5FIHZvaWQg QkxJX2VuZGlhbl9zd2l0Y2hfaW50MzIoaW50ICp2YWwpIEFUVFJfTk9OTlVMTCgxKTsKQEAgLTQw LDYgKzQxLDcgQEAgQkxJX0lOTElORSB2b2lkIEJMSV9lbmRpYW5fc3dpdGNoX3VpbnQ2NCh1aW50 NjRfdCAqdmFsKSBBVFRSX05PTk5VTEwoMSk7CiBCTElfSU5MSU5FIHZvaWQgQkxJX2VuZGlhbl9z d2l0Y2hfZG91YmxlKGRvdWJsZSAqdmFsKSBBVFRSX05PTk5VTEwoMSk7CiAKIC8qIGVuZGlhbl9z d2l0Y2guYyAqLworCiB2b2lkIEJMSV9lbmRpYW5fc3dpdGNoX2ludDE2X2FycmF5KHNob3J0ICp2 YWwsIGNvbnN0IGludCBzaXplKSBBVFRSX05PTk5VTEwoMSk7CiB2b2lkIEJMSV9lbmRpYW5fc3dp dGNoX3VpbnQxNl9hcnJheSh1bnNpZ25lZCBzaG9ydCAqdmFsLCBjb25zdCBpbnQgc2l6ZSkgQVRU Ul9OT05OVUxMKDEpOwogdm9pZCBCTElfZW5kaWFuX3N3aXRjaF9pbnQzMl9hcnJheShpbnQgKnZh bCwgY29uc3QgaW50IHNpemUpIEFUVFJfTk9OTlVMTCgxKTsKZGlmZiAtLWdpdCBhL3NvdXJjZS9i bGVuZGVyL2JsZW5saWIvQkxJX2VuZGlhbl9zd2l0Y2hfaW5saW5lLmggYi9zb3VyY2UvYmxlbmRl ci9ibGVubGliL0JMSV9lbmRpYW5fc3dpdGNoX2lubGluZS5oCmluZGV4IGVjNGNmZTQ4MDFhLi4z MWJlN2ZkNDdlNCAxMDA2NDQKLS0tIGEvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfZW5kaWFu X3N3aXRjaF9pbmxpbmUuaAorKysgYi9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9lbmRpYW5f c3dpdGNoX2lubGluZS5oCkBAIC0zMyw2ICszMyw3IEBAIGV4dGVybiAiQyIgewogICogdXNlIGJp dCBzaGlmdGluZyBpbnN0ZWFkLiAqLwogCiAvKiAqKiogMTYgKioqICovCisKIEJMSV9JTkxJTkUg dm9pZCBCTElfZW5kaWFuX3N3aXRjaF9pbnQxNihzaG9ydCAqdmFsKQogewogICBCTElfZW5kaWFu X3N3aXRjaF91aW50MTYoKHVuc2lnbmVkIHNob3J0ICopdmFsKTsKQEAgLTQ4LDYgKzQ5LDcgQEAg QkxJX0lOTElORSB2b2lkIEJMSV9lbmRpYW5fc3dpdGNoX3VpbnQxNih1bnNpZ25lZCBzaG9ydCAq dmFsKQogfQogCiAvKiAqKiogMzIgKioqICovCisKIEJMSV9JTkxJTkUgdm9pZCBCTElfZW5kaWFu X3N3aXRjaF9pbnQzMihpbnQgKnZhbCkKIHsKICAgQkxJX2VuZGlhbl9zd2l0Y2hfdWludDMyKCh1 bnNpZ25lZCBpbnQgKil2YWwpOwpAQCAtNjcsNiArNjksNyBAQCBCTElfSU5MSU5FIHZvaWQgQkxJ X2VuZGlhbl9zd2l0Y2hfZmxvYXQoZmxvYXQgKnZhbCkKIH0KIAogLyogKioqIDY0ICoqKiAqLwor CiBCTElfSU5MSU5FIHZvaWQgQkxJX2VuZGlhbl9zd2l0Y2hfaW50NjQoaW50NjRfdCAqdmFsKQog ewogICBCTElfZW5kaWFuX3N3aXRjaF91aW50NjQoKHVpbnQ2NF90ICopdmFsKTsKZGlmZiAtLWdp dCBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX2ZpbGVyZWFkZXIuaCBiL3NvdXJjZS9ibGVu ZGVyL2JsZW5saWIvQkxJX2ZpbGVyZWFkZXIuaAppbmRleCBkYTIyM2NkZGY0MC4uZjIzMmFkNzJj YzQgMTAwNjQ0Ci0tLSBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX2ZpbGVyZWFkZXIuaAor KysgYi9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9maWxlcmVhZGVyLmgKQEAgLTQ3LDcgKzQ3 LDcgQEAgdHlwZWRlZiBzc2l6ZV90ICgqRmlsZVJlYWRlclJlYWRGbikoc3RydWN0IEZpbGVSZWFk ZXIgKnJlYWRlciwgdm9pZCAqYnVmZmVyLCBzaXoKIHR5cGVkZWYgb2ZmNjRfdCAoKkZpbGVSZWFk ZXJTZWVrRm4pKHN0cnVjdCBGaWxlUmVhZGVyICpyZWFkZXIsIG9mZjY0X3Qgb2Zmc2V0LCBpbnQg d2hlbmNlKTsKIHR5cGVkZWYgdm9pZCAoKkZpbGVSZWFkZXJDbG9zZUZuKShzdHJ1Y3QgRmlsZVJl YWRlciAqcmVhZGVyKTsKIAotLyogR2VuZXJhbCBzdHJ1Y3R1cmUgZm9yIGFsbCBGaWxlUmVhZGVy cywgaW1wbGVtZW50YXRpb25zIGFkZCBjdXN0b20gZmllbGRzIGF0IHRoZSBlbmQuICovCisvKiog R2VuZXJhbCBzdHJ1Y3R1cmUgZm9yIGFsbCAjRmlsZVJlYWRlcnMsIGltcGxlbWVudGF0aW9ucyBh ZGQgY3VzdG9tIGZpZWxkcyBhdCB0aGUgZW5kLiAqLwogdHlwZWRlZiBzdHJ1Y3QgRmlsZVJlYWRl ciB7CiAgIEZpbGVSZWFkZXJSZWFkRm4gcmVhZDsKICAgRmlsZVJlYWRlclNlZWtGbiBzZWVrOwpA QCAtNjQsMTYgKzY0LDE2IEBAIHR5cGVkZWYgc3RydWN0IEZpbGVSZWFkZXIgewogICogdGFrZSBv dmVyIHRoZSBiYXNlIEZpbGVSZWFkZXIgYW5kIHdpbGwgY2xlYW4gaXQgdXAgd2hlbiB0aGVpciBj bGVhbigpIGlzIGNhbGxlZC4KICAqLwogCi0vKiBDcmVhdGUgRmlsZVJlYWRlciBmcm9tIHJhdyBm aWxlIGRlc2NyaXB0b3IuICovCisvKiogQ3JlYXRlICNGaWxlUmVhZGVyIGZyb20gcmF3IGZpbGUg ZGVzY3JpcHRvci4gKi8KIEZpbGVSZWFkZXIgKkJMSV9maWxlcmVhZGVyX25ld19maWxlKGludCBm aWxlZGVzKSBBVFRSX1dBUk5fVU5VU0VEX1JFU1VMVDsKLS8qIENyZWF0ZSBGaWxlUmVhZGVyIGZy b20gcmF3IGZpbGUgZGVzY3JpcHRvciB1c2luZyBtZW1vcnktbWFwcGVkIElPLiAqLworLyoqIENy ZWF0ZSAjRmlsZVJlYWRlciBmcm9tIHJhdyBmaWxlIGRlc2NyaXB0b3IgdXNpbmcgbWVtb3J5LW1h cHBlZCBJTy4gKi8KIEZpbGVSZWFkZXIgKkJMSV9maWxlcmVhZGVyX25ld19tbWFwKGludCBmaWxl ZGVzKSBBVFRSX1dBUk5fVU5VU0VEX1JFU1VMVDsKLS8qIENyZWF0ZSBGaWxlUmVhZGVyIGZyb20g YSByZWdpb24gb2YgbWVtb3J5LiAqLworLyoqIENyZWF0ZSAjRmlsZVJlYWRlciBmcm9tIGEgcmVn aW9uIG9mIG1lbW9yeS4gKi8KIEZpbGVSZWFkZXIgKkJMSV9maWxlcmVhZGVyX25ld19tZW1vcnko Y29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IGxlbikgQVRUUl9XQVJOX1VOVVNFRF9SRVNVTFQKICAg ICBBVFRSX05PTk5VTEwoKTsKLS8qIENyZWF0ZSBGaWxlUmVhZGVyIGZyb20gYXBwbHlpbmcgYFpz dGRgIGRlY29tcHJlc3Npb24gb24gYW4gdW5kZXJseWluZyBmaWxlLiAqLworLyoqIENyZWF0ZSAj RmlsZVJlYWRlciBmcm9tIGFwcGx5aW5nIGBac3RkYCBkZWNvbXByZXNzaW9uIG9uIGFuIHVuZGVy bHlpbmcgZmlsZS4gKi8KIEZpbGVSZWFkZXIgKkJMSV9maWxlcmVhZGVyX25ld196c3RkKEZpbGVS ZWFkZXIgKmJhc2UpIEFUVFJfV0FSTl9VTlVTRURfUkVTVUxUIEFUVFJfTk9OTlVMTCgpOwotLyog Q3JlYXRlIEZpbGVSZWFkZXIgZnJvbSBhcHBseWluZyBgR3ppcGAgZGVjb21wcmVzc2lvbiBvbiBh biB1bmRlcmx5aW5nIGZpbGUuICovCisvKiogQ3JlYXRlICNGaWxlUmVhZGVyIGZyb20gYXBwbHlp bmcgYEd6aXBgIGRlY29tcHJlc3Npb24gb24gYW4gdW5kZXJseWluZyBmaWxlLiAqLwogRmlsZVJl YWRlciAqQkxJX2ZpbGVyZWFkZXJfbmV3X2d6aXAoRmlsZVJlYWRlciAqYmFzZSkgQVRUUl9XQVJO X1VOVVNFRF9SRVNVTFQgQVRUUl9OT05OVUxMKCk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZm IC0tZ2l0IGEvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfZ2hhc2guaCBiL3NvdXJjZS9ibGVu ZGVyL2JsZW5saWIvQkxJX2doYXNoLmgKaW5kZXggMDE5NGY5YWFkNDAuLmZjYTcwNTUzNWEzIDEw MDY0NAotLS0gYS9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9naGFzaC5oCisrKyBiL3NvdXJj ZS9ibGVuZGVyL2JsZW5saWIvQkxJX2doYXNoLmgKQEAgLTQ1MCw3ICs0NTAsNyBAQCB2b2lkICpC TElfZ3NldF9wb3Bfa2V5KEdTZXQgKmdzLCBjb25zdCB2b2lkICprZXkpIEFUVFJfV0FSTl9VTlVT RURfUkVTVUxUOwogCiAvKiByZWx5IG9uIGlubGluZSBhcGkgZm9yIG5vdyAqLwogCi0vKiBzbyB3 ZSBjYW4gY2FzdCBidXQgY29tcGlsZXIgc2VlcyBhcyBkaWZmZXJlbnQgKi8KKy8qKiBVc2UgYSBH U2V0IHNwZWNpZmljIHR5cGUgc28gd2UgY2FuIGNhc3QgYnV0IGNvbXBpbGVyIHNlZXMgYXMgZGlm ZmVyZW50ICovCiB0eXBlZGVmIHN0cnVjdCBHU2V0SXRlcmF0b3IgewogICBHSGFzaEl0ZXJhdG9y IF9naGkKICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAhZGVmaW5lZChfX2NsYW5nX18pCmRpZmYg LS1naXQgYS9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9rZHRyZWVfaW1wbC5oIGIvc291cmNl L2JsZW5kZXIvYmxlbmxpYi9CTElfa2R0cmVlX2ltcGwuaAppbmRleCAyNmEyMmZjMmFjNC4uMzVk YmYxNDFjOTIgMTAwNjQ0Ci0tLSBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX2tkdHJlZV9p bXBsLmgKKysrIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfa2R0cmVlX2ltcGwuaApAQCAt NzQsNyArNzQsNyBAQCBpbnQgQkxJX2tkdHJlZV9uZF8oY2FsY19kdXBsaWNhdGVzX2Zhc3QpKGNv bnN0IEtEVHJlZSAqdHJlZSwKIAogaW50IEJMSV9rZHRyZWVfbmRfKGRlZHVwbGljYXRlKShLRFRy ZWUgKnRyZWUpOwogCi0vKiBWZXJzaW9ucyBvZiBmaW5kL3JhbmdlIHNlYXJjaCB0aGF0IHRha2Ug YSBzcXVhcmVkIGRpc3RhbmNlIGNhbGxiYWNrIHRvIHN1cHBvcnQgYmlhcy4gKi8KKy8qKiBWZXJz aW9ucyBvZiBmaW5kL3JhbmdlIHNlYXJjaCB0aGF0IHRha2UgYSBzcXVhcmVkIGRpc3RhbmNlIGNh bGxiYWNrIHRvIHN1cHBvcnQgYmlhcy4gKi8KIGludCBCTElfa2R0cmVlX25kXyhmaW5kX25lYXJl c3Rfbl93aXRoX2xlbl9zcXVhcmVkX2NiKSgKICAgICBjb25zdCBLRFRyZWUgKnRyZWUsCiAgICAg Y29uc3QgZmxvYXQgY29bS0RfRElNU10sCmRpZmYgLS1naXQgYS9zb3VyY2UvYmxlbmRlci9ibGVu bGliL0JMSV9saW5rbGlzdF9sb2NrZnJlZS5oIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElf bGlua2xpc3RfbG9ja2ZyZWUuaAppbmRleCAxNDJmYTFjZjI0My4uZDIwODNiZGQ0NGUgMTAwNjQ0 Ci0tLSBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX2xpbmtsaXN0X2xvY2tmcmVlLmgKKysr IGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfbGlua2xpc3RfbG9ja2ZyZWUuaApAQCAtNDgs MTggKzQ4LDE5IEBAIHR5cGVkZWYgdm9pZCAoKkxvY2tmcmVlZUxpbmtOb2RlRnJlZUZQKSh2b2lk ICpsaW5rKTsKIC8qIE5PVEU6IFRoZXNlIGZ1bmN0aW9ucyBhcmUgTk9UIHNhZmUgZm9yIHVzZSBm cm9tIHRocmVhZHMuICovCiAvKiBOT1RFOiAhISEgSSBSRVBFQVQ6IERPIE5PVCBVU0UgVEhFTSBX SVRIT1VUIEVYVEVSTkFMIExPQ0sgISEhICovCiAKLS8qIE1ha2UgbGlzdCByZWFkeSBmb3IgbG9j ay1mcmVlIGFjY2Vzcy4gKi8KKy8qKiBNYWtlIGxpc3QgcmVhZHkgZm9yIGxvY2stZnJlZSBhY2Nl c3MuICovCiB2b2lkIEJMSV9saW5rbGlzdF9sb2NrZnJlZV9pbml0KExvY2tmcmVlTGlua0xpc3Qg Kmxpc3QpOwogCi0vKiBDb21wbGV0ZWx5IGZyZWUgdGhlIHdob2xlIGxpc3QsIGl0IGlzIE5PVCBy ZS11c2FibGUgYWZ0ZXIgdGhpcy4gKi8KKy8qKiBDb21wbGV0ZWx5IGZyZWUgdGhlIHdob2xlIGxp c3QsIGl0IGlzIE5PVCByZS11c2FibGUgYWZ0ZXIgdGhpcy4gKi8KIHZvaWQgQkxJX2xpbmtsaXN0 X2xvY2tmcmVlX2ZyZWUoTG9ja2ZyZWVMaW5rTGlzdCAqbGlzdCwgTG9ja2ZyZWVlTGlua05vZGVG cmVlRlAgZnJlZV9mdW5jKTsKIAotLyogUmVtb3ZlIGFsbCB0aGUgZWxlbWVudHMgZnJvbSB0aGUg bGlzdCwga2VlcCBpdCB1c2FibGUgZm9yIGZ1cnRoZXIKLSAqIGluc2VydHMuCisvKioKKyAqIFJl bW92ZSBhbGwgdGhlIGVsZW1lbnRzIGZyb20gdGhlIGxpc3QsIGtlZXAgaXQgdXNhYmxlIGZvciBm dXJ0aGVyIGluc2VydHMuCiAgKi8KIHZvaWQgQkxJX2xpbmtsaXN0X2xvY2tmcmVlX2NsZWFyKExv Y2tmcmVlTGlua0xpc3QgKmxpc3QsIExvY2tmcmVlZUxpbmtOb2RlRnJlZUZQIGZyZWVfZnVuYyk7 CiAKLS8qIEJlZ2luIGl0ZXJhdGlvbiBvZiBsb2NrLWZyZWUgbGlua2VkIGxpc3QsIHN0YXJ0aW5n IHdpdGggYQorLyoqCisgKiBCZWdpbiBpdGVyYXRpb24gb2YgbG9jay1mcmVlIGxpbmtlZCBsaXN0 LCBzdGFydGluZyB3aXRoIGEKICAqIGZpcnN0IHVzZXI9ZGVmaW5lZCBub2RlLiBXaWxsIGlnbm9y ZSB0aGUgZHVtbXkgbm9kZS4KICAqLwogTG9ja2ZyZWVMaW5rTm9kZSAqQkxJX2xpbmtsaXN0X2xv Y2tmcmVlX2JlZ2luKExvY2tmcmVlTGlua0xpc3QgKmxpc3QpOwpkaWZmIC0tZ2l0IGEvc291cmNl L2JsZW5kZXIvYmxlbmxpYi9CTElfbWF0aF9iYXNlLmggYi9zb3VyY2UvYmxlbmRlci9ibGVubGli L0JMSV9tYXRoX2Jhc2UuaAppbmRleCA4MzgyMjQ4MTExMi4uNmM4MmJkODllNjQgMTAwNjQ0Ci0t LSBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX21hdGhfYmFzZS5oCisrKyBiL3NvdXJjZS9i bGVuZGVyL2JsZW5saWIvQkxJX21hdGhfYmFzZS5oCkBAIC03Niw4ICs3Niw3IEBACiAKICNpZiBk ZWZpbmVkKF9fR05VQ19fKQogIyAgZGVmaW5lIE5BTl9GTFQgX19idWlsdGluX25hbmYoIiIpCi0j ZWxzZQotLyogZXZpbCBxdWlldCBOYU4gZGVmaW5pdGlvbiAqLworI2Vsc2UgLyogZXZpbCBxdWll dCBOYU4gZGVmaW5pdGlvbiAqLwogc3RhdGljIGNvbnN0IGludCBOQU5fSU5UID0gMHg3RkMwMDAw MDsKICMgIGRlZmluZSBOQU5fRkxUICgqKChmbG9hdCAqKSgmTkFOX0lOVCkpKQogI2VuZGlmCkBA IC05Nyw3ICs5Niw4IEBAIGV4dGVybiAiQyIgewogCiAvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKiBGbG9hdCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLS8qIHBvd2Yg aXMgcmVhbGx5IHNsb3cgZm9yIHJhaXNpbmcgdG8gaW50ZWdlciBwb3dlcnMuICovCisvKiBgcG93 ZmAgaXMgcmVhbGx5IHNsb3cgZm9yIHJhaXNpbmcgdG8gaW50ZWdlciBwb3dlcnMuICovCisKIE1J TkxJTkUgZmxvYXQgcG93MmYoZmxvYXQgeCk7CiBNSU5MSU5FIGZsb2F0IHBvdzNmKGZsb2F0IHgp OwogTUlOTElORSBmbG9hdCBwb3c0ZihmbG9hdCB4KTsKZGlmZiAtLWdpdCBhL3NvdXJjZS9ibGVu ZGVyL2JsZW5saWIvQkxJX21hdGhfYml0cy5oIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElf bWF0aF9iaXRzLmgKaW5kZXggZTg4MWYxYTBlNGUuLjcwYTU0ODc5NDQ2IDEwMDY0NAotLS0gYS9z b3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9tYXRoX2JpdHMuaAorKysgYi9zb3VyY2UvYmxlbmRl ci9ibGVubGliL0JMSV9tYXRoX2JpdHMuaApAQCAtMjgsMjQgKzI4LDI5IEBAIGV4dGVybiAiQyIg ewogI2VuZGlmCiAKIC8qIFNlYXJjaCB0aGUgdmFsdWUgZnJvbSBMU0IgdG8gTVNCIGZvciBhIHNl dCBiaXQuIFJldHVybnMgaW5kZXggb2YgdGhpcyBiaXQuICovCisKIE1JTkxJTkUgaW50IGJpdHNj YW5fZm9yd2FyZF9pKGludCBhKTsKIE1JTkxJTkUgdW5zaWduZWQgaW50IGJpdHNjYW5fZm9yd2Fy ZF91aW50KHVuc2lnbmVkIGludCBhKTsKIE1JTkxJTkUgdW5zaWduZWQgaW50IGJpdHNjYW5fZm9y d2FyZF91aW50NjQodW5zaWduZWQgbG9uZyBsb25nIGEpOwogCiAvKiBTaW1pbGFyIHRvIGFib3Zl LCBidXQgYWxzbyBjbGVhcnMgdGhlIGJpdC4gKi8KKwogTUlOTElORSBpbnQgYml0c2Nhbl9mb3J3 YXJkX2NsZWFyX2koaW50ICphKTsKIE1JTkxJTkUgdW5zaWduZWQgaW50IGJpdHNjYW5fZm9yd2Fy ZF9jbGVhcl91aW50KHVuc2lnbmVkIGludCAqYSk7CiAKIC8qIFNlYXJjaCB0aGUgdmFsdWUgZnJv bSBNU0IgdG8gTFNCIGZvciBhIHNldCBiaXQuIFJldHVybnMgaW5kZXggb2YgdGhpcyBiaXQuICov CisKIE1JTkxJTkUgaW50IGJpdHNjYW5fcmV2ZXJzZV9pKGludCBhKTsKIE1JTkxJTkUgdW5zaWdu ZWQgaW50IGJpdHNjYW5fcmV2ZXJzZV91aW50KHVuc2lnbmVkIGludCBhKTsKIE1JTkxJTkUgdW5z aWduZWQgaW50IGJpdHNjYW5fcmV2ZXJzZV91aW50NjQodW5zaWduZWQgbG9uZyBsb25nIGEpOwog CiAvKiBTaW1pbGFyIHRvIGFib3ZlLCBidXQgYWxzbyBjbGVhcnMgdGhlIGJpdC4gKi8KKwogTUlO TElORSBpbnQgYml0c2Nhbl9yZXZlcnNlX2NsZWFyX2koaW50ICphKTsKIE1JTkxJTkUgdW5zaWdu ZWQgaW50IGJpdHNjYW5fcmV2ZXJzZV9jbGVhcl91aW50KHVuc2lnbmVkIGludCAqYSk7CiAKIC8q IE5PVEU6IFRob3NlIGZ1bmN0aW9ucyByZXR1cm5zIDIgdG8gdGhlIHBvd2VyIG9mIGluZGV4IG9m IGhpZ2hlc3Qgb3JkZXIgYml0LiAqLworCiBNSU5MSU5FIHVuc2lnbmVkIGludCBoaWdoZXN0X29y ZGVyX2JpdF91aW50KHVuc2lnbmVkIGludCBuKTsKIE1JTkxJTkUgdW5zaWduZWQgc2hvcnQgaGln aGVzdF9vcmRlcl9iaXRfcyh1bnNpZ25lZCBzaG9ydCBuKTsKIApkaWZmIC0tZ2l0IGEvc291cmNl L2JsZW5kZXIvYmxlbmxpYi9CTElfbWF0aF9nZW9tLmggYi9zb3VyY2UvYmxlbmRlci9ibGVubGli L0JMSV9tYXRoX2dlb20uaAppbmRleCA1NWQxMThkMTdkZS4uYzJhNWZmYWZhNjQgMTAwNjQ0Ci0t LSBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX21hdGhfZ2VvbS5oCisrKyBiL3NvdXJjZS9i bGVuZGVyL2JsZW5saWIvQkxJX21hdGhfZ2VvbS5oCkBAIC00NDEsNyArNDQxLDkgQEAgdm9pZCBp c2VjdF9zZWdfc2VnX3YzKGNvbnN0IGZsb2F0IGEwWzNdLAogICAgICAgICAgICAgICAgICAgICAg IGZsb2F0IHJfYVszXSwKICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCByX2JbM10pOwogCi0v KiBpbnRlcnNlY3QgTGluZS1MaW5lLCBzaG9ydHMgKi8KKy8qKgorICogSW50ZXJzZWN0IExpbmUt TGluZSwgaW50ZWdlci4KKyAqLwogaW50IGlzZWN0X3NlZ19zZWdfdjJfaW50KGNvbnN0IGludCB2 MVsyXSwgY29uc3QgaW50IHYyWzJdLCBjb25zdCBpbnQgdjNbMl0sIGNvbnN0IGludCB2NFsyXSk7 CiAvKioKICAqIEdldCBpbnRlcnNlY3Rpb24gcG9pbnQgb2YgdHdvIDJEIHNlZ21lbnRzLgpAQCAt OTI5LDcgKzkzMSw3IEBAIHZvaWQgaW50ZXJwX3dlaWdodHNfcXVhZF92MyhmbG9hdCB3WzRdLAog dm9pZCBpbnRlcnBfd2VpZ2h0c19wb2x5X3YzKGZsb2F0IHdbXSwgZmxvYXQgdltdWzNdLCBjb25z dCBpbnQgbiwgY29uc3QgZmxvYXQgY29bM10pOwogdm9pZCBpbnRlcnBfd2VpZ2h0c19wb2x5X3Yy KGZsb2F0IHdbXSwgZmxvYXQgdltdWzJdLCBjb25zdCBpbnQgbiwgY29uc3QgZmxvYXQgY29bMl0p OwogCi0vKiAoeDEsIHYxKSh0MT0wKS0tLS0tLSh4MiwgdjIpKHQyPTEpLCAwPHQ8MSAtLT4gKHgs IHYpKHQpICovCisvKiogYCh4MSwgdjEpKHQxPTApLS0tLS0tKHgyLCB2MikodDI9MSksIDA8dDwx IC0tPiAoeCwgdikodClgLiAqLwogdm9pZCBpbnRlcnBfY3ViaWNfdjMoZmxvYXQgeFszXSwKICAg ICAgICAgICAgICAgICAgICAgIGZsb2F0IHZbM10sCiAgICAgICAgICAgICAgICAgICAgICBjb25z dCBmbG9hdCB4MVszXSwKZGlmZiAtLWdpdCBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX21h dGhfbWF0cml4LmggYi9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9tYXRoX21hdHJpeC5oCmlu ZGV4IDNkOGZlNmY1NjRhLi45MGI3NGUyZjUwNCAxMDA2NDQKLS0tIGEvc291cmNlL2JsZW5kZXIv YmxlbmxpYi9CTElfbWF0aF9tYXRyaXguaAorKysgYi9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JM SV9tYXRoX21hdHJpeC5oCkBAIC01NiwxNiArNTYsMTggQEAgdm9pZCBjb3B5X200X20yKGZsb2F0 IG0xWzRdWzRdLCBjb25zdCBmbG9hdCBtMlsyXVsyXSk7CiB2b2lkIGNvcHlfbTRfbTRfZGIoZG91 YmxlIG0xWzRdWzRdLCBjb25zdCBkb3VibGUgbTJbNF1bNF0pOwogCiAvKiBkb3VibGUtPmZsb2F0 ICovCisKIHZvaWQgY29weV9tM19tM2QoZmxvYXQgbTFbM11bM10sIGNvbnN0IGRvdWJsZSBtMlsz XVszXSk7CiAKIC8qIGZsb2F0LT5kb3VibGUgKi8KKwogdm9pZCBjb3B5X20zZF9tMyhkb3VibGUg bTFbM11bM10sIGNvbnN0IGZsb2F0IG0yWzNdWzNdKTsKIHZvaWQgY29weV9tNGRfbTQoZG91Ymxl IG0xWzRdWzRdLCBjb25zdCBmbG9hdCBtMls0XVs0XSk7CiAKIHZvaWQgc3dhcF9tM20zKGZsb2F0 IG0xWzNdWzNdLCBmbG9hdCBtMlszXVszXSk7CiB2b2lkIHN3YXBfbTRtNChmbG9hdCBtMVs0XVs0 XSwgZmxvYXQgbTJbNF1bNF0pOwogCi0vKiBCdWlsZCBpbmRleCBzaHVmZmxlIG1hdHJpeCAqLwor LyoqIEJ1aWxkIGluZGV4IHNodWZmbGUgbWF0cml4LiAqLwogdm9pZCBzaHVmZmxlX200KGZsb2F0 IFJbNF1bNF0sIGNvbnN0IGludCBpbmRleFs0XSk7CiAKIC8qKiBcfSAqLwpAQCAtMTEyLDcgKzEx NCw4IEBAIHZvaWQgbXVsX200ZGJfbTRkYl9tNGZsX3VuaXEoZG91YmxlIFJbNF1bNF0sIGNvbnN0 IGRvdWJsZSBBWzRdWzRdLCBjb25zdCBmbG9hdCBCCiB2b2lkIG11bF9tNF9tNF9wcmUoZmxvYXQg Uls0XVs0XSwgY29uc3QgZmxvYXQgQVs0XVs0XSk7CiB2b2lkIG11bF9tNF9tNF9wb3N0KGZsb2F0 IFJbNF1bNF0sIGNvbnN0IGZsb2F0IEJbNF1bNF0pOwogCi0vKiBtdWxfbTNfc2VyaWVzICovCisv KiBJbXBsZW1lbnQgI211bF9tM19zZXJpZXMgbWFjcm8uICovCisKIHZvaWQgX3ZhX211bF9tM19z ZXJpZXNfMyhmbG9hdCBSWzNdWzNdLCBjb25zdCBmbG9hdCBNMVszXVszXSwgY29uc3QgZmxvYXQg TTJbM11bM10pIEFUVFJfTk9OTlVMTCgpOwogdm9pZCBfdmFfbXVsX20zX3Nlcmllc180KGZsb2F0 IFJbM11bM10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmxvYXQgTTFbM11bM10s CkBAIC0xNTMsNyArMTU2LDkgQEAgdm9pZCBfdmFfbXVsX20zX3Nlcmllc185KGZsb2F0IFJbM11b M10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmxvYXQgTTZbM11bM10sCiAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmxvYXQgTTdbM11bM10sCiAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgZmxvYXQgTThbM11bM10pIEFUVFJfTk9OTlVMTCgpOwotLyogbXVs X200X3NlcmllcyAqLworCisvKiBJbXBsZW1lbnQgI211bF9tNF9zZXJpZXMgbWFjcm8uICovCisK IHZvaWQgX3ZhX211bF9tNF9zZXJpZXNfMyhmbG9hdCBSWzRdWzRdLCBjb25zdCBmbG9hdCBNMVs0 XVs0XSwgY29uc3QgZmxvYXQgTTJbNF1bNF0pIEFUVFJfTk9OTlVMTCgpOwogdm9pZCBfdmFfbXVs X200X3Nlcmllc180KGZsb2F0IFJbNF1bNF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgZmxvYXQgTTFbNF1bNF0sCkBAIC0yNjYsMTEgKzI3MSwxMyBAQCBib29sIGludmVydF9tNF9t NChmbG9hdCBSWzRdWzRdLCBjb25zdCBmbG9hdCBBWzRdWzRdKTsKICAqLwogYm9vbCBpbnZlcnRf bTRfbTRfZmFsbGJhY2soZmxvYXQgUls0XVs0XSwgY29uc3QgZmxvYXQgQVs0XVs0XSk7CiAKLS8q IGRvdWJsZSBhcml0aG1ldGljIChtaXhlZCBmbG9hdC9kb3VibGUpICovCisvKiBEb3VibGUgYXJp dGhtZXRpYyAobWl4ZWQgZmxvYXQvZG91YmxlKS4gKi8KKwogdm9pZCBtdWxfbTRfdjRkKGNvbnN0 IGZsb2F0IE1bNF1bNF0sIGRvdWJsZSByWzRdKTsKIHZvaWQgbXVsX3Y0ZF9tNHY0ZChkb3VibGUg cls0XSwgY29uc3QgZmxvYXQgTVs0XVs0XSwgY29uc3QgZG91YmxlIHZbNF0pOwogCi0vKiBkb3Vi bGUgbWF0cml4IGZ1bmN0aW9ucyAobm8gbWl4aW5nIHR5cGVzKSAqLworLyogRG91YmxlIG1hdHJp eCBmdW5jdGlvbnMgKG5vIG1peGluZyB0eXBlcykuICovCisKIHZvaWQgbXVsX3YzX20zdjNfZGIo ZG91YmxlIHJbM10sIGNvbnN0IGRvdWJsZSBNWzNdWzNdLCBjb25zdCBkb3VibGUgYVszXSk7CiB2 b2lkIG11bF9tM192M19kYihjb25zdCBkb3VibGUgTVszXVszXSwgZG91YmxlIHJbM10pOwogCkBA IC0yODIsNyArMjg5LDkgQEAgdm9pZCBtdWxfbTNfdjNfZGIoY29uc3QgZG91YmxlIE1bM11bM10s IGRvdWJsZSByWzNdKTsKIAogdm9pZCB0cmFuc3Bvc2VfbTMoZmxvYXQgUlszXVszXSk7CiB2b2lk IHRyYW5zcG9zZV9tM19tMyhmbG9hdCBSWzNdWzNdLCBjb25zdCBmbG9hdCBNWzNdWzNdKTsKLS8q IHNlZW1zIG9ic2N1cmUgYnV0IGluLWZhY3QgYSBjb21tb24gb3BlcmF0aW9uICovCisvKioKKyAq IFxub3RlIFNlZW1zIG9ic2N1cmUgYnV0IGluLWZhY3QgYSBjb21tb24gb3BlcmF0aW9uLgorICov CiB2b2lkIHRyYW5zcG9zZV9tM19tNChmbG9hdCBSWzNdWzNdLCBjb25zdCBmbG9hdCBNWzRdWzRd KTsKIHZvaWQgdHJhbnNwb3NlX200KGZsb2F0IFJbNF1bNF0pOwogdm9pZCB0cmFuc3Bvc2VfbTRf bTQoZmxvYXQgUls0XVs0XSwgY29uc3QgZmxvYXQgTVs0XVs0XSk7CmRpZmYgLS1naXQgYS9zb3Vy Y2UvYmxlbmRlci9ibGVubGliL0JMSV9tYXRoX3JvdGF0aW9uLmggYi9zb3VyY2UvYmxlbmRlci9i bGVubGliL0JMSV9tYXRoX3JvdGF0aW9uLmgKaW5kZXggNWU3MmQ1MDIyNjIuLjgxMDYyNTE2ODRk IDEwMDY0NAotLS0gYS9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9tYXRoX3JvdGF0aW9uLmgK KysrIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfbWF0aF9yb3RhdGlvbi5oCkBAIC01Nyw3 ICs1Nyw4IEBAIHZvaWQgdW5pdF9heGlzX2FuZ2xlKGZsb2F0IGF4aXNbM10sIGZsb2F0ICphbmds ZSk7CiB2b2lkIHVuaXRfcXQoZmxvYXQgcVs0XSk7CiB2b2lkIGNvcHlfcXRfcXQoZmxvYXQgcVs0 XSwgY29uc3QgZmxvYXQgYVs0XSk7CiAKLS8qIGFyaXRobWV0aWMgKi8KKy8qIEFyaXRobWV0aWMu ICovCisKIHZvaWQgbXVsX3F0X3F0cXQoZmxvYXQgcVs0XSwgY29uc3QgZmxvYXQgYVs0XSwgY29u c3QgZmxvYXQgYls0XSk7CiAvKioKICAqIFxub3RlCkBAIC0xMDYsNyArMTA3LDggQEAgZmxvYXQg ZG90X3F0cXQoY29uc3QgZmxvYXQgYVs0XSwgY29uc3QgZmxvYXQgYls0XSk7CiBmbG9hdCBub3Jt YWxpemVfcXQoZmxvYXQgcVs0XSk7CiBmbG9hdCBub3JtYWxpemVfcXRfcXQoZmxvYXQgcls0XSwg Y29uc3QgZmxvYXQgcVs0XSk7CiAKLS8qIGNvbXBhcmlzb24gKi8KKy8qIENvbXBhcmlzb24uICov CisKIGJvb2wgaXNfemVyb19xdChjb25zdCBmbG9hdCBxWzRdKTsKIAogLyogaW50ZXJwb2xhdGlv biAqLwpAQCAtMTIyLDcgKzEyNCw4IEBAIHZvaWQgaW50ZXJwX2RvdF9zbGVycChjb25zdCBmbG9h dCB0LCBjb25zdCBmbG9hdCBjb3NvbSwgZmxvYXQgcl93WzJdKTsKIHZvaWQgaW50ZXJwX3F0X3F0 cXQoZmxvYXQgcVs0XSwgY29uc3QgZmxvYXQgYVs0XSwgY29uc3QgZmxvYXQgYls0XSwgY29uc3Qg ZmxvYXQgdCk7CiB2b2lkIGFkZF9xdF9xdHF0KGZsb2F0IHFbNF0sIGNvbnN0IGZsb2F0IGFbNF0s IGNvbnN0IGZsb2F0IGJbNF0sIGNvbnN0IGZsb2F0IHQpOwogCi0vKiBjb252ZXJzaW9uICovCisv KiBDb252ZXJzaW9uLiAqLworCiB2b2lkIHF1YXRfdG9fbWF0MyhmbG9hdCBtYXRbM11bM10sIGNv bnN0IGZsb2F0IHFbNF0pOwogdm9pZCBxdWF0X3RvX21hdDQoZmxvYXQgbWF0WzRdWzRdLCBjb25z dCBmbG9hdCBxWzRdKTsKIApAQCAtMTg4LDcgKzE5MSw4IEBAIGZsb2F0IGFuZ2xlX3NpZ25lZF9x dHF0KGNvbnN0IGZsb2F0IHExWzRdLCBjb25zdCBmbG9hdCBxMls0XSk7CiAgKi8KIHZvaWQgbWF0 M190b19xdWF0X2lzX29rKGZsb2F0IHFbNF0sIGNvbnN0IGZsb2F0IG1hdFszXVszXSk7CiAKLS8q IG90aGVyICovCisvKiBPdGhlci4gKi8KKwogdm9pZCBwcmludF9xdChjb25zdCBjaGFyICpzdHIs IGNvbnN0IGZsb2F0IHFbNF0pOwogCiAjZGVmaW5lIHByaW50X3F0X2lkKHEpIHByaW50X3F0KFNU UklOR0lGWShxKSwgcSkKQEAgLTE5OSw3ICsyMDMsOCBAQCB2b2lkIHByaW50X3F0KGNvbnN0IGNo YXIgKnN0ciwgY29uc3QgZmxvYXQgcVs0XSk7CiAvKiogXG5hbWUgQXhpcyBBbmdsZQogICogXHsg Ki8KIAotLyogY29udmVyc2lvbiAqLworLyogQ29udmVyc2lvbi4gKi8KKwogdm9pZCBheGlzX2Fu Z2xlX25vcm1hbGl6ZWRfdG9fcXVhdChmbG9hdCByWzRdLCBjb25zdCBmbG9hdCBheGlzWzNdLCBj b25zdCBmbG9hdCBhbmdsZSk7CiB2b2lkIGF4aXNfYW5nbGVfdG9fcXVhdChmbG9hdCByWzRdLCBj b25zdCBmbG9hdCBheGlzWzNdLCBjb25zdCBmbG9hdCBhbmdsZSk7CiAvKioKQEAgLTI3MSwzMiAr Mjc2LDI1IEBAIHZvaWQgZXhwbWFwX3RvX3F1YXQoZmxvYXQgcls0XSwgY29uc3QgZmxvYXQgZXhw bWFwWzNdKTsKIC8qKiBcbmFtZSBYWVogRXVsZXJzCiAgKiBceyAqLwogCi0vKiBYWVogb3JkZXIu ICovCiB2b2lkIGV1bF90b19xdWF0KGZsb2F0IHF1YXRbNF0sIGNvbnN0IGZsb2F0IGV1bFszXSk7 Ci0vKiBYWVogb3JkZXIgKi8KIHZvaWQgZXVsX3RvX21hdDMoZmxvYXQgbWF0WzNdWzNdLCBjb25z dCBmbG9hdCBldWxbM10pOwotLyogWFlaIG9yZGVyICovCiB2b2lkIGV1bF90b19tYXQ0KGZsb2F0 IG1hdFs0XVs0XSwgY29uc3QgZmxvYXQgZXVsWzNdKTsKIAotLyogWFlaIG9yZGVyICovCiB2b2lk IG1hdDNfbm9ybWFsaXplZF90b19ldWwoZmxvYXQgZXVsWzNdLCBjb25zdCBmbG9hdCBtYXRbM11b M10pOwotLyogWFlaIG9yZGVyICovCiB2b2lkIG1hdDRfbm9ybWFsaXplZF90b19ldWwoZmxvYXQg ZXVsWzNdLCBjb25zdCBmbG9hdCBtYXRbNF1bNF0pOwogdm9pZCBtYXQzX3RvX2V1bChmbG9hdCBl dWxbM10sIGNvbnN0IGZsb2F0IG1hdFszXVszXSk7CiB2b2lkIG1hdDRfdG9fZXVsKGZsb2F0IGV1 bFszXSwgY29uc3QgZmxvYXQgbWF0WzRdWzRdKTsKLS8qIFhZWiBvcmRlciAqLwogdm9pZCBxdWF0 X3RvX2V1bChmbG9hdCBldWxbM10sIGNvbnN0IGZsb2F0IHF1YXRbNF0pOwogCi0vKiBYWVogb3Jk ZXIgKi8KIHZvaWQgbWF0M19ub3JtYWxpemVkX3RvX2NvbXBhdGlibGVfZXVsKGZsb2F0IGV1bFsz XSwgY29uc3QgZmxvYXQgb2xkWzNdLCBmbG9hdCBtYXRbM11bM10pOwogdm9pZCBtYXQzX3RvX2Nv bXBhdGlibGVfZXVsKGZsb2F0IGV1bFszXSwgY29uc3QgZmxvYXQgb2xkWzNdLCBmbG9hdCBtYXRb M11bM10pOwogdm9pZCBxdWF0X3RvX2NvbXBhdGlibGVfZXVsKGZsb2F0IGV1bFszXSwgY29uc3Qg ZmxvYXQgb2xkcm90WzNdLCBjb25zdCBmbG9hdCBxdWF0WzRdKTsKLS8qIG9yZGVyIGluZGVwZW5k ZW50ISAqLwotdm9pZCBjb21wYXRpYmxlX2V1bChmbG9hdCBldWxbM10sIGNvbnN0IGZsb2F0IG9s ZFszXSk7Ci0KLS8qIFhZWiBvcmRlciAqLwogdm9pZCByb3RhdGVfZXVsKGZsb2F0IGV1bFszXSwg Y29uc3QgY2hhciBheGlzLCBjb25zdCBmbG9hdCBhbmdsZSk7CiAKKy8qIE9yZGVyIGluZGVwZW5k ZW50LiAqLworCit2b2lkIGNvbXBhdGlibGVfZXVsKGZsb2F0IGV1bFszXSwgY29uc3QgZmxvYXQg b2xkWzNdKTsKKwogdm9pZCBhZGRfZXVsX2V1bGV1bChmbG9hdCByX2V1bFszXSwgZmxvYXQgYVsz XSwgZmxvYXQgYlszXSwgY29uc3Qgc2hvcnQgb3JkZXIpOwogdm9pZCBzdWJfZXVsX2V1bGV1bChm bG9hdCByX2V1bFszXSwgZmxvYXQgYVszXSwgZmxvYXQgYlszXSwgY29uc3Qgc2hvcnQgb3JkZXIp OwogCmRpZmYgLS1naXQgYS9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9tYXRoX3ZlY3Rvci5o IGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfbWF0aF92ZWN0b3IuaAppbmRleCA4Zjk1NTA3 NmJhZi4uNjEwOTBlMzBmN2IgMTAwNjQ0Ci0tLSBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJ X21hdGhfdmVjdG9yLmgKKysrIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfbWF0aF92ZWN0 b3IuaApAQCAtNzksNyArNzksOSBAQCBNSU5MSU5FIHZvaWQgY29weV92NF92NF9jaGFyKGNoYXIg cls0XSwgY29uc3QgY2hhciBhWzRdKTsKIE1JTkxJTkUgdm9pZCBjb3B5X3YyX3YyX3Nob3J0KHNo b3J0IHJbMl0sIGNvbnN0IHNob3J0IGFbMl0pOwogTUlOTElORSB2b2lkIGNvcHlfdjNfdjNfc2hv cnQoc2hvcnQgclszXSwgY29uc3Qgc2hvcnQgYVszXSk7CiBNSU5MSU5FIHZvaWQgY29weV92NF92 NF9zaG9ydChzaG9ydCByWzRdLCBjb25zdCBzaG9ydCBhWzRdKTsKKwogLyogaW50ICovCisKIE1J TkxJTkUgdm9pZCB6ZXJvX3YzX2ludChpbnQgclszXSk7CiBNSU5MSU5FIHZvaWQgY29weV92Ml92 Ml9pbnQoaW50IHJbMl0sIGNvbnN0IGludCBhWzJdKTsKIE1JTkxJTkUgdm9pZCBjb3B5X3YzX3Yz X2ludChpbnQgclszXSwgY29uc3QgaW50IGFbM10pOwpkaWZmIC0tZ2l0IGEvc291cmNlL2JsZW5k ZXIvYmxlbmxpYi9CTElfbWVtcG9vbC5oIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfbWVt cG9vbC5oCmluZGV4IGQ2YWJhZTM2ZTAwLi5hM2NmMmE3NzY0NiAxMDA2NDQKLS0tIGEvc291cmNl L2JsZW5kZXIvYmxlbmxpYi9CTElfbWVtcG9vbC5oCisrKyBiL3NvdXJjZS9ibGVuZGVyL2JsZW5s aWIvQkxJX21lbXBvb2wuaApAQCAtMTAzLDE0ICsxMDMsMTQgQEAgdm9pZCBCTElfbWVtcG9vbF9z ZXRfbWVtb3J5X2RlYnVnKHZvaWQpOwogICogXG5vdGUgdGhpcyBtYXkgZWFzeSB0byBwcm9kdWNl IGJ1Z3Mgd2l0aC4KICAqLwogCi0vKiBQcml2YXRlIHN0cnVjdHVyZS4gKi8KKy8qKiAgXG5vdGUg UHJpdmF0ZSBzdHJ1Y3R1cmUuICovCiB0eXBlZGVmIHN0cnVjdCBCTElfbWVtcG9vbF9pdGVyIHsK ICAgQkxJX21lbXBvb2wgKnBvb2w7CiAgIHN0cnVjdCBCTElfbWVtcG9vbF9jaHVuayAqY3VyY2h1 bms7CiAgIHVuc2lnbmVkIGludCBjdXJpbmRleDsKIH0gQkxJX21lbXBvb2xfaXRlcjsKIAotLyog ZmxhZyAqLworLyoqICNCTElfbWVtcG9vbC5mbGFnICovCiBlbnVtIHsKICAgQkxJX01FTVBPT0xf Tk9QID0gMCwKICAgLyoqIGFsbG93IGl0ZXJhdGluZyBvbiB0aGlzIG1lbXBvb2wuCmRpZmYgLS1n aXQgYS9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9xdWFkcmljLmggYi9zb3VyY2UvYmxlbmRl ci9ibGVubGliL0JMSV9xdWFkcmljLmgKaW5kZXggZmRiN2QxZTY3YWMuLjQ1MDY1M2EyMGVhIDEw MDY0NAotLS0gYS9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9xdWFkcmljLmgKKysrIGIvc291 cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfcXVhZHJpYy5oCkBAIC0zMSwxOCArMzEsMjEgQEAgdHlw ZWRlZiBzdHJ1Y3QgUXVhZHJpYyB7CiAgIGRvdWJsZSBhMiwgYWIsIGFjLCBhZCwgYjIsIGJjLCBi ZCwgYzIsIGNkLCBkMjsKIH0gUXVhZHJpYzsKIAotLyogY29udmVyc2lvbiAqLworLyogQ29udmVy c2lvbi4gKi8KKwogdm9pZCBCTElfcXVhZHJpY19mcm9tX3BsYW5lKFF1YWRyaWMgKnEsIGNvbnN0 IGRvdWJsZSB2WzRdKTsKIHZvaWQgQkxJX3F1YWRyaWNfdG9fdmVjdG9yX3YzKGNvbnN0IFF1YWRy aWMgKnEsIGRvdWJsZSB2WzNdKTsKIAogdm9pZCBCTElfcXVhZHJpY19jbGVhcihRdWFkcmljICpx KTsKIAotLyogbWF0aCAqLworLyogTWF0aCBvcGVyYXRpb25zLiAqLworCiB2b2lkIEJMSV9xdWFk cmljX2FkZF9xdV9xdShRdWFkcmljICphLCBjb25zdCBRdWFkcmljICpiKTsKIHZvaWQgQkxJX3F1 YWRyaWNfYWRkX3F1X3F1cXUoUXVhZHJpYyAqciwgY29uc3QgUXVhZHJpYyAqYSwgY29uc3QgUXVh ZHJpYyAqYik7CiB2b2lkIEJMSV9xdWFkcmljX211bChRdWFkcmljICphLCBjb25zdCBkb3VibGUg c2NhbGFyKTsKIAotLyogc29sdmUgKi8KKy8qIFNvbHZlLiAqLworCiBkb3VibGUgQkxJX3F1YWRy aWNfZXZhbHVhdGUoY29uc3QgUXVhZHJpYyAqcSwgY29uc3QgZG91YmxlIHZbM10pOwogYm9vbCBC TElfcXVhZHJpY19vcHRpbWl6ZShjb25zdCBRdWFkcmljICpxLCBkb3VibGUgdlszXSwgY29uc3Qg ZG91YmxlIGVwc2lsb24pOwogCmRpZmYgLS1naXQgYS9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JM SV9zY2FuZmlsbC5oIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfc2NhbmZpbGwuaAppbmRl eCA3NDRkMzAzOTdkNC4uZWM3ZmE4ZjI3YTAgMTAwNjQ0Ci0tLSBhL3NvdXJjZS9ibGVuZGVyL2Js ZW5saWIvQkxJX3NjYW5maWxsLmgKKysrIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfc2Nh bmZpbGwuaApAQCAtOTEsNiArOTEsNyBAQCB0eXBlZGVmIHN0cnVjdCBTY2FuRmlsbEZhY2Ugewog fSBTY2FuRmlsbEZhY2U7CiAKIC8qIHNjYW5maWxsLmMgKi8KKwogc3RydWN0IFNjYW5GaWxsVmVy dCAqQkxJX3NjYW5maWxsX3ZlcnRfYWRkKFNjYW5GaWxsQ29udGV4dCAqc2ZfY3R4LCBjb25zdCBm bG9hdCB2ZWNbM10pOwogc3RydWN0IFNjYW5GaWxsRWRnZSAqQkxJX3NjYW5maWxsX2VkZ2VfYWRk KFNjYW5GaWxsQ29udGV4dCAqc2ZfY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBTY2FuRmlsbFZlcnQgKnYxLApkaWZmIC0tZ2l0IGEvc291cmNl L2JsZW5kZXIvYmxlbmxpYi9CTElfc2Vzc2lvbl91dWlkLmggYi9zb3VyY2UvYmxlbmRlci9ibGVu bGliL0JMSV9zZXNzaW9uX3V1aWQuaAppbmRleCA4ODcwNDRlOWI1NC4uMjllMjkxYWRkNWEgMTAw NjQ0Ci0tLSBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX3Nlc3Npb25fdXVpZC5oCisrKyBi L3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX3Nlc3Npb25fdXVpZC5oCkBAIC0zMywxOCArMzMs MTkgQEAgZXh0ZXJuICJDIiB7CiAKICNpbmNsdWRlICJETkFfc2Vzc2lvbl91dWlkX3R5cGVzLmgi CiAKLS8qIEdlbmVyYXRlIG5ldyBVVUlEIHdoaWNoIGlzIHVuaXF1ZSB0aHJvdWdob3V0IHRoZSBC bGVuZGVyIHNlc3Npb24uICovCisvKiogR2VuZXJhdGUgbmV3IFVVSUQgd2hpY2ggaXMgdW5pcXVl IHRocm91Z2hvdXQgdGhlIEJsZW5kZXIgc2Vzc2lvbi4gKi8KIFNlc3Npb25VVUlEIEJMSV9zZXNz aW9uX3V1aWRfZ2VuZXJhdGUodm9pZCk7CiAKLS8qIENoZWNrIHdoZXRoZXIgdGhlIFVVSUQgaXMg cHJvcGVybHkgZ2VuZXJhdGVkLiAqLworLyoqIENoZWNrIHdoZXRoZXIgdGhlIFVVSUQgaXMgcHJv cGVybHkgZ2VuZXJhdGVkLiAqLwogYm9vbCBCTElfc2Vzc2lvbl91dWlkX2lzX2dlbmVyYXRlZChj b25zdCBTZXNzaW9uVVVJRCAqdXVpZCk7CiAKLS8qIENoZWNrIHdoZXRoZXIgdHdvIFVVSURzIGFy ZSBpZGVudGljYWwuICovCisvKiogQ2hlY2sgd2hldGhlciB0d28gVVVJRHMgYXJlIGlkZW50aWNh bC4gKi8KIGJvb2wgQkxJX3Nlc3Npb25fdXVpZF9pc19lcXVhbChjb25zdCBTZXNzaW9uVVVJRCAq bGhzLCBjb25zdCBTZXNzaW9uVVVJRCAqcmhzKTsKIAogdWludDY0X3QgQkxJX3Nlc3Npb25fdXVp ZF9oYXNoX3VpbnQ2NChjb25zdCBTZXNzaW9uVVVJRCAqdXVpZCk7CiAKIC8qIFV0aWxpdHkgZnVu Y3Rpb25zIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gY3JlYXRlIEdIYXNoL0dTZXQgd2l0aCBVVUlE IGFzIGEga2V5LiAqLworCiB1aW50IEJMSV9zZXNzaW9uX3V1aWRfZ2hhc2hfaGFzaChjb25zdCB2 b2lkICp1dWlkX3YpOwogYm9vbCBCTElfc2Vzc2lvbl91dWlkX2doYXNoX2NvbXBhcmUoY29uc3Qg dm9pZCAqbGhzX3YsIGNvbnN0IHZvaWQgKnJoc192KTsKIApkaWZmIC0tZ2l0IGEvc291cmNlL2Js ZW5kZXIvYmxlbmxpYi9CTElfc29ydC5oIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfc29y dC5oCmluZGV4IDk2OTgxNjA4NmUyLi4zMWEwNTJlYjc5ZCAxMDA2NDQKLS0tIGEvc291cmNlL2Js ZW5kZXIvYmxlbmxpYi9CTElfc29ydC5oCisrKyBiL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJ X3NvcnQuaApAQCAtMzAsNyArMzAsNyBAQAogIyAgZGVmaW5lIEJMSV9xc29ydF9yIHFzb3J0X3IK ICNlbmRpZgogCi0vKiBRdWljayBzb3J0IHJlLWVudHJhbnQgKi8KKy8qKiBRdWljayBzb3J0IChy ZS1lbnRyYW50KS4gKi8KIHR5cGVkZWYgaW50ICgqQkxJX3NvcnRfY21wX3QpKGNvbnN0IHZvaWQg KmEsIGNvbnN0IHZvaWQgKmIsIHZvaWQgKmN0eCk7CiAKIHZvaWQgQkxJX3Fzb3J0X3Iodm9pZCAq YSwgc2l6ZV90IG4sIHNpemVfdCBlcywgQkxJX3NvcnRfY21wX3QgY21wLCB2b2lkICp0aHVuaykK ZGlmZiAtLWdpdCBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX3N5c190eXBlcy5oIGIvc291 cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfc3lzX3R5cGVzLmgKaW5kZXggMjc0MGUzNzQwZjIuLjk1 MzI3ZmYzM2I4IDEwMDY0NAotLS0gYS9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9zeXNfdHlw ZXMuaAorKysgYi9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9zeXNfdHlwZXMuaApAQCAtNzIs OCArNzIsOCBAQCB0eXBlZGVmIHVpbnQ2NF90IHVfaW50NjRfdDsKICNpbmNsdWRlIDxzdGRkZWYu aD4gLyogc2l6ZV90IGRlZmluZSAqLwogCiAjaWZuZGVmIF9fY3BsdXNwbHVzCisvKiBUaGUgPHVj aGFyLmg+IHN0YW5kYXJkIGhlYWRlciBpcyBtaXNzaW5nIG9uIHNvbWUgc3lzdGVtcy4gKi8KICMg IGlmIGRlZmluZWQoX19BUFBMRV9fKSB8fCBkZWZpbmVkKF9fTmV0QlNEX18pCi0vKiBUaGUgPHVj aGFyLmg+IHN0YW5kYXJkIGhlYWRlciBpcyBtaXNzaW5nIG9uIG1hY09TLiAqLwogdHlwZWRlZiB1 bnNpZ25lZCBpbnQgY2hhcjMyX3Q7CiAjICBlbHNlCiAjICAgIGluY2x1ZGUgPHVjaGFyLmg+CmRp ZmYgLS1naXQgYS9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV9zeXN0ZW0uaCBiL3NvdXJjZS9i bGVuZGVyL2JsZW5saWIvQkxJX3N5c3RlbS5oCmluZGV4IDBkNWIyZTZlMmRmLi4yZTVlMDdkODQw NyAxMDA2NDQKLS0tIGEvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfc3lzdGVtLmgKKysrIGIv c291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfc3lzdGVtLmgKQEAgLTMwLDcgKzMwLDcgQEAgaW50 IEJMSV9jcHVfc3VwcG9ydF9zc2UyKHZvaWQpOwogaW50IEJMSV9jcHVfc3VwcG9ydF9zc2U0MSh2 b2lkKTsKIHZvaWQgQkxJX3N5c3RlbV9iYWNrdHJhY2UoRklMRSAqZnApOwogCi0vKiBHZXQgQ1BV IGJyYW5kLCByZXN1bHQgaXMgdG8gYmUgTUVNX2ZyZWVOKCktZWQuICovCisvKiogR2V0IENQVSBi cmFuZCwgcmVzdWx0IGlzIHRvIGJlIE1FTV9mcmVlTigpLWVkLiAqLwogY2hhciAqQkxJX2NwdV9i cmFuZF9zdHJpbmcodm9pZCk7CiAKIC8qKgpAQCAtNDUsMTUgKzQ1LDE5IEBAIGNoYXIgKkJMSV9j cHVfYnJhbmRfc3RyaW5nKHZvaWQpOwogICovCiB2b2lkIEJMSV9ob3N0bmFtZV9nZXQoY2hhciAq YnVmZmVyLCBzaXplX3QgYnVmc2l6ZSk7CiAKLS8qIEdldCBtYXhpbXVtIGFkZHJlc3NhYmxlIG1l bW9yeSBpbiBtZWdhYnl0ZXMuICovCisvKiogR2V0IG1heGltdW0gYWRkcmVzc2FibGUgbWVtb3J5 IGluIG1lZ2FieXRlcy4gKi8KIHNpemVfdCBCTElfc3lzdGVtX21lbW9yeV9tYXhfaW5fbWVnYWJ5 dGVzKHZvaWQpOworLyoqIEdldCBtYXhpbXVtIGFkZHJlc3NhYmxlIG1lbW9yeSBpbiBtZWdhYnl0 ZXMgKGNsYW1wZWQgdG8gI0lOVF9NQVgpLiAqLwogaW50IEJMSV9zeXN0ZW1fbWVtb3J5X21heF9p bl9tZWdhYnl0ZXNfaW50KHZvaWQpOwogCiAvKiBGb3IgYGdldHBpZGAuICovCiAjaWZkZWYgV0lO MzIKICMgIGRlZmluZSBCTElfU1lTVEVNX1BJRF9IIDxwcm9jZXNzLmg+CiAKLS8qIHZvaWQqIHNp bmNlIHdlIHJlYWxseSBkbyBub3Qgd2FudCB0byBkcmFnIFdpbmRvd3MuaCBpbiB0byBnZXQgdGhl IHByb3BlciB0eXBlZGVmLiAqLworLyoqCisgKiBcbm90ZSBVc2UgYHZvaWQgKmAgZm9yIGBleGNl cHRpb25gIHNpbmNlIHdlIHJlYWxseSBkbyBub3Qgd2FudCB0byBkcmFnIFdpbmRvd3MuaAorICog aW4gdG8gZ2V0IHRoZSBwcm9wZXIgYHR5cGVkZWZgLgorICovCiB2b2lkIEJMSV93aW5kb3dzX2hh bmRsZV9leGNlcHRpb24odm9pZCAqZXhjZXB0aW9uKTsKIAogI2Vsc2UKZGlmZiAtLWdpdCBhL3Nv dXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX3Rhc2suaCBiL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIv QkxJX3Rhc2suaAppbmRleCBhNjdkZTJlMjkxMC4uNjE2MjM3YmMyNjEgMTAwNjQ0Ci0tLSBhL3Nv dXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX3Rhc2suaAorKysgYi9zb3VyY2UvYmxlbmRlci9ibGVu bGliL0JMSV90YXNrLmgKQEAgLTMwMyw3ICszMDMsNyBAQCB2b2lkIEJMSV90YXNrX3BhcmFsbGVs X21lbXBvb2woc3RydWN0IEJMSV9tZW1wb29sICptZW1wb29sLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFRhc2tQYXJhbGxlbE1lbXBvb2xGdW5jIGZ1bmMsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgVGFza1BhcmFsbGVsU2V0dGluZ3MgKnNldHRpbmdzKTsK IAotLyogVE9ETyhzZXJnZXkpOiBUaGluayBvZiBhIGJldHRlciBwbGFjZSBmb3IgdGhpcy4gKi8K Ky8qKiBUT0RPKHNlcmdleSk6IFRoaW5rIG9mIGEgYmV0dGVyIHBsYWNlIGZvciB0aGlzLiAqLwog QkxJX0lOTElORSB2b2lkIEJMSV9wYXJhbGxlbF9yYW5nZV9zZXR0aW5nc19kZWZhdWx0cyhUYXNr UGFyYWxsZWxTZXR0aW5ncyAqc2V0dGluZ3MpCiB7CiAgIG1lbXNldChzZXR0aW5ncywgMCwgc2l6 ZW9mKCpzZXR0aW5ncykpOwpkaWZmIC0tZ2l0IGEvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElf dGhyZWFkcy5oIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfdGhyZWFkcy5oCmluZGV4IDZl NjA0MzBlYTM4Li43YmFlMTZmMjVlZiAxMDA2NDQKLS0tIGEvc291cmNlL2JsZW5kZXIvYmxlbmxp Yi9CTElfdGhyZWFkcy5oCisrKyBiL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX3RocmVhZHMu aApAQCAtMzEsNyArMzEsNyBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAotLyogZm9yIHRhYmxl cywgYnV0dG9uIGluIFVJLCBldGMgKi8KKy8qKiBGb3IgdGFibGVzLCBidXR0b24gaW4gVUksIGV0 Yy4gKi8KICNkZWZpbmUgQkxFTkRFUl9NQVhfVEhSRUFEUyAxMDI0CiAKIHN0cnVjdCBMaXN0QmFz ZTsKZGlmZiAtLWdpdCBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX3RpbWVyLmggYi9zb3Vy Y2UvYmxlbmRlci9ibGVubGliL0JMSV90aW1lci5oCmluZGV4IGMyMTliNTUwMmYzLi5iMWNjOGQ1 NTE0ZiAxMDA2NDQKLS0tIGEvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfdGltZXIuaAorKysg Yi9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV90aW1lci5oCkBAIC0yOSw4ICsyOSwxMSBAQAog ZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAotLyogcmV0IDwgMDogdGhlIHRpbWVyIHdpbGwgYmUgcmVt b3ZlZC4KLSAqIHJldCA+PSAwOiB0aGUgdGltZXIgd2lsbCBiZSBjYWxsZWQgYWdhaW4gaW4gcmV0 IHNlY29uZHMgKi8KKy8qKgorICogXHJldHVybiBBIHZhbHVlIG9mOgorICogLSA8ICAwOiB0aGUg dGltZXIgd2lsbCBiZSByZW1vdmVkLgorICogLSA+PSAwOiB0aGUgdGltZXIgd2lsbCBiZSBjYWxs ZWQgYWdhaW4gaW4gdGhpcyBudW1iZXIgb2Ygc2Vjb25kcy4KKyAqLwogdHlwZWRlZiBkb3VibGUg KCpCTElfdGltZXJfZnVuYykodWludHB0cl90IHV1aWQsIHZvaWQgKnVzZXJfZGF0YSk7CiB0eXBl ZGVmIHZvaWQgKCpCTElfdGltZXJfZGF0YV9mcmVlKSh1aW50cHRyX3QgdXVpZCwgdm9pZCAqdXNl cl9kYXRhKTsKIApAQCAtNDUsMTAgKzQ4LDEwIEBAIHZvaWQgQkxJX3RpbWVyX3JlZ2lzdGVyKHVp bnRwdHJfdCB1dWlkLAogCiBib29sIEJMSV90aW1lcl9pc19yZWdpc3RlcmVkKHVpbnRwdHJfdCB1 dWlkKTsKIAotLyogUmV0dXJucyBGYWxzZSB3aGVuIHRoZSB0aW1lciBkb2VzIG5vdCBleGlzdCAo YW55bW9yZSkuICovCisvKiogUmV0dXJucyBGYWxzZSB3aGVuIHRoZSB0aW1lciBkb2VzIG5vdCBl eGlzdCAoYW55bW9yZSkuICovCiBib29sIEJMSV90aW1lcl91bnJlZ2lzdGVyKHVpbnRwdHJfdCB1 dWlkKTsKIAotLyogRXhlY3V0ZSBhbGwgcmVnaXN0ZXJlZCBmdW5jdGlvbnMgdGhhdCBhcmUgZHVl LiAqLworLyoqIEV4ZWN1dGUgYWxsIHJlZ2lzdGVyZWQgZnVuY3Rpb25zIHRoYXQgYXJlIGR1ZS4g Ki8KIHZvaWQgQkxJX3RpbWVyX2V4ZWN1dGUodm9pZCk7CiAKIHZvaWQgQkxJX3RpbWVyX2ZyZWUo dm9pZCk7CmRpZmYgLS1naXQgYS9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV92aXJ0dWFsX2Fy cmF5LmhoIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfdmlydHVhbF9hcnJheS5oaAppbmRl eCA1MTAzYWM0YjY2OC4uM2VkOWYxNDcxMmUgMTAwNjQ0Ci0tLSBhL3NvdXJjZS9ibGVuZGVyL2Js ZW5saWIvQkxJX3ZpcnR1YWxfYXJyYXkuaGgKKysrIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9C TElfdmlydHVhbF9hcnJheS5oaApAQCAtNDQsNyArNDQsNyBAQAogCiBuYW1lc3BhY2UgYmxlbmRl ciB7CiAKLS8qIEZvcndhcmQgZGVjbGFyYXRpb25zIGZvciBnZW5lcmljIHZpcnR1YWwgYXJyYXlz LiAqLworLyoqIEZvcndhcmQgZGVjbGFyYXRpb25zIGZvciBnZW5lcmljIHZpcnR1YWwgYXJyYXlz LiAqLwogbmFtZXNwYWNlIGZuIHsKIGNsYXNzIEdWQXJyYXk7CiBjbGFzcyBHVk11dGFibGVBcnJh eTsKQEAgLTE5NCw3ICsxOTQsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBWQXJyYXlJ bXBsIHsKICAgfQogfTsKIAotLyogU2ltaWxhciB0byAjVkFycmF5SW1wbCwgYnV0IGFkZHMgbWV0 aG9kcyB0aGF0IGFsbG93IG1vZGlmeWluZyB0aGUgcmVmZXJlbmNlZCBlbGVtZW50cy4gKi8KKy8q KiBTaW1pbGFyIHRvICNWQXJyYXlJbXBsLCBidXQgYWRkcyBtZXRob2RzIHRoYXQgYWxsb3cgbW9k aWZ5aW5nIHRoZSByZWZlcmVuY2VkIGVsZW1lbnRzLiAqLwogdGVtcGxhdGU8dHlwZW5hbWUgVD4g Y2xhc3MgVk11dGFibGVBcnJheUltcGwgOiBwdWJsaWMgVkFycmF5SW1wbDxUPiB7CiAgcHVibGlj OgogICB1c2luZyBWQXJyYXlJbXBsPFQ+OjpWQXJyYXlJbXBsOwpkaWZmIC0tZ2l0IGEvc291cmNl L2JsZW5kZXIvYmxlbmxpYi9CTElfdmlydHVhbF92ZWN0b3JfYXJyYXkuaGggYi9zb3VyY2UvYmxl bmRlci9ibGVubGliL0JMSV92aXJ0dWFsX3ZlY3Rvcl9hcnJheS5oaAppbmRleCBhYjVhZmQyZDgw YS4uNzY3MmE3NmQ1ZGUgMTAwNjQ0Ci0tLSBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX3Zp cnR1YWxfdmVjdG9yX2FycmF5LmhoCisrKyBiL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX3Zp cnR1YWxfdmVjdG9yX2FycmF5LmhoCkBAIC0yOSw3ICsyOSw3IEBACiAKIG5hbWVzcGFjZSBibGVu ZGVyIHsKIAotLyogQSByZWFkb25seSB2aXJ0dWFsIGFycmF5IG9mIHZlY3RvcnMuICovCisvKiog QSByZWFkLW9ubHkgdmlydHVhbCBhcnJheSBvZiB2ZWN0b3JzLiAqLwogdGVtcGxhdGU8dHlwZW5h bWUgVD4gY2xhc3MgVlZlY3RvckFycmF5IHsKICBwcm90ZWN0ZWQ6CiAgIGludDY0X3Qgc2l6ZV87 CmRpZmYgLS1naXQgYS9zb3VyY2UvYmxlbmRlci9ibGVubGliL0JMSV93aW5zdHVmZi5oIGIvc291 cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfd2luc3R1ZmYuaAppbmRleCBjYmYxNzE2NjAyYS4uNTY4 NzM0ZWU4YTcgMTAwNjQ0Ci0tLSBhL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX3dpbnN0dWZm LmgKKysrIGIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfd2luc3R1ZmYuaApAQCAtODgsNyAr ODgsNyBAQCB0eXBlZGVmIFNTSVpFX1Qgc3NpemVfdDsKICMgIGVuZGlmCiAjZW5kaWYKIAotLyog RGlyZWN0b3J5IHJlYWRpbmcgY29tcGF0aWJpbGl0eSB3aXRoIFVOSVguICovCisvKiogRGlyZWN0 b3J5IHJlYWRpbmcgY29tcGF0aWJpbGl0eSB3aXRoIFVOSVguICovCiBzdHJ1Y3QgZGlyZW50IHsK ICAgaW50IGRfaW5vOwogICBpbnQgZF9vZmY7CkBAIC05Niw3ICs5Niw3IEBAIHN0cnVjdCBkaXJl bnQgewogICBjaGFyICpkX25hbWU7CiB9OwogCi0vKiBpbnRlbnRpb25hbGx5IG9wYXF1ZSB0byB1 c2VycyAqLworLyoqIEludGVudGlvbmFsbHkgb3BhcXVlIHRvIHVzZXJzLiAqLwogdHlwZWRlZiBz dHJ1Y3QgX19kaXJzdHJlYW0gRElSOwogCiBESVIgKm9wZW5kaXIoY29uc3QgY2hhciAqcGF0aCk7 CkBAIC0xMDUsNiArMTA1LDcgQEAgaW50IGNsb3NlZGlyKERJUiAqZHApOwogY29uc3QgY2hhciAq ZGlybmFtZShjaGFyICpwYXRoKTsKIAogLyogV2luZG93cyB1dGlsaXR5IGZ1bmN0aW9ucy4gKi8K KwogYm9vbCBCTElfd2luZG93c19yZWdpc3Rlcl9ibGVuZF9leHRlbnNpb24oY29uc3QgYm9vbCBi YWNrZ3JvdW5kKTsKIHZvaWQgQkxJX3dpbmRvd3NfZ2V0X2RlZmF1bHRfcm9vdF9kaXIoY2hhciBy b290X2Rpcls0XSk7CiBpbnQgQkxJX3dpbmRvd3NfZ2V0X2V4ZWN1dGFibGVfZGlyKGNoYXIgKnN0 cik7Cg== --000000000000dcf95f05d4573792--