From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Pip Cet Newsgroups: gmane.emacs.bugs Subject: bug#36403: 27.0.50; Trivial image.c bugs Date: Mon, 22 Jul 2019 02:55:50 +0000 Message-ID: References: <83pnmzhqq0.fsf@gnu.org> <83h889h4h9.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000e3a295058e3c38b5" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="102932"; mail-complaints-to="usenet@blaine.gmane.org" Cc: 36403@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jul 22 04:57:09 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hpOVg-000Qdc-UA for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Jul 2019 04:57:09 +0200 Original-Received: from localhost ([::1]:58424 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hpOVf-00067k-8c for geb-bug-gnu-emacs@m.gmane.org; Sun, 21 Jul 2019 22:57:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58946) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hpOVb-00067a-QQ for bug-gnu-emacs@gnu.org; Sun, 21 Jul 2019 22:57:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hpOVa-0006rs-6f for bug-gnu-emacs@gnu.org; Sun, 21 Jul 2019 22:57:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:50980) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hpOVa-0006rf-2C for bug-gnu-emacs@gnu.org; Sun, 21 Jul 2019 22:57:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hpOVZ-0001F4-VH for bug-gnu-emacs@gnu.org; Sun, 21 Jul 2019 22:57:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 22 Jul 2019 02:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36403 X-GNU-PR-Package: emacs Original-Received: via spool by 36403-submit@debbugs.gnu.org id=B36403.15637641954738 (code B ref 36403); Mon, 22 Jul 2019 02:57:01 +0000 Original-Received: (at 36403) by debbugs.gnu.org; 22 Jul 2019 02:56:35 +0000 Original-Received: from localhost ([127.0.0.1]:59801 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hpOV9-0001EM-01 for submit@debbugs.gnu.org; Sun, 21 Jul 2019 22:56:35 -0400 Original-Received: from mail-oi1-f170.google.com ([209.85.167.170]:35644) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hpOV6-0001E6-Re for 36403@debbugs.gnu.org; Sun, 21 Jul 2019 22:56:33 -0400 Original-Received: by mail-oi1-f170.google.com with SMTP id a127so28483376oii.2 for <36403@debbugs.gnu.org>; Sun, 21 Jul 2019 19:56:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=fEwHyoQsk+23zN8QTBJfztYcKKvep51+mxIdrBfju3M=; b=TtUlzyWvywgtuHMhWQ+UvAf808DolEOmcW4HDVPl7BL7BR47ovpNvBiuoUjUpF9T+3 qZD0ETiSeHa1/nOb1Zet0zhJ3nU1FYSy8YAphdlALjYVCekvC7yvqy9+FHQ4fgmh/cpP ZH0qm0kQNu8a0kBRHOq1Yg426reBj3ykvU7ZegeX01r6FrLguGTAi1szibdB6kWAZYaB YCltXoXPbJoxX0kd2MNIDXHWoFKChoBMuig1X0BDxORakT/5tUwQmzQxqqX4Y38xZb0j NIjIqUYQXUyfu0ZfMJrvLzsdBnRvywDFygFocqLRiuPtUivci3k65TrhxGCAgALGV1y0 NdOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=fEwHyoQsk+23zN8QTBJfztYcKKvep51+mxIdrBfju3M=; b=OIdcYIM9jTa17nKuMday0T2zjXNvYrEvDxuCR+s4UiCo6+nFHmzb7XpFwvx/Tpexey 70QEKzVkFUfEIEIJ0Aw+DM+e8eP2PZwDcQv0esnZwOuFkEcMPYXL6WvgTAf+A6DZgZZ4 sa9oX7FvSsRyOam+EDYP1NkxHnzb+E4LLQAmCbSext9WzshTVXZxoquHAbALNRBBruZ3 U6pOZ5R1nPfCILu5r2iz8AFn/HsZjz7WiBZs6bBz5l+jCoQb+9mM4skSyyXAn4Kd0rMw 4slKgCt6eJIDYybBo01CTa6XGxno9mIsXCpxQBhJW6pEcXfYJsEi/P1fQjKu6CKWs9Zb 4YNw== X-Gm-Message-State: APjAAAX5wAcs9uFQGiugzXnwPeBzIv7m1/NYq2EZYHbLXPhQZJsbGWa3 eIQGKjMfs4o9Adk+DH4b3sm7KE9r2+AE1+tRQXLLsw== X-Google-Smtp-Source: APXvYqzIYU2DcV2ZfaA+RTEkRacxsquODfxciC9BcCN8f9ktmA/INbMwMfXPN6f2HgBtKEob4qX1uFuzfKXnO8BvmOY= X-Received: by 2002:aca:aa93:: with SMTP id t141mr32349848oie.128.1563764187166; Sun, 21 Jul 2019 19:56:27 -0700 (PDT) In-Reply-To: <83h889h4h9.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:163575 Archived-At: --000000000000e3a295058e3c38b5 Content-Type: text/plain; charset="UTF-8" On Fri, Jun 28, 2019 at 7:53 PM Eli Zaretskii wrote: > > Attached patch has tests and fixes. > > Thanks. Let's wait for a few days to let others comment. Rebased patch attached. --000000000000e3a295058e3c38b5 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Fix-minor-bugs-in-image.c-bug-36403.patch" Content-Disposition: attachment; filename="0001-Fix-minor-bugs-in-image.c-bug-36403.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jydsoijd0 RnJvbSA2MWI1YjY0YzY2MDQ4MWQyMmE2Yjc5YmRlYzIxYjg4NDEzM2E3YzQwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBGcmks IDI4IEp1biAyMDE5IDE0OjQ3OjU3ICswMDAwClN1YmplY3Q6IFtQQVRDSF0gRml4IG1pbm9yIGJ1 Z3MgaW4gaW1hZ2UuYyAoYnVnIzM2NDAzKQoKKiB0ZXN0L3NyYy9pbWFnZS10ZXN0cy5lbCAoaW1h Z2UtdGVzdC1jaXJjdWxhci1zcGVjcyk6IE5ldyBmaWxlLgoqIHNyYy9pbWFnZS5jIChwYXJzZV9p bWFnZV9zcGVjKTogUmV0dXJuIGZhaWx1cmUgZm9yIGNpcmN1bGFyIGxpc3RzLgoodmFsaWRfaW1h Z2VfcCk6IERvbid0IGxvb2sgYXQgb2RkLW51bWJlcmVkIGxpc3QgZWxlbWVudHMgZXhwZWN0aW5n IHRvCmZpbmQgYSBwcm9wZXJ0eSBuYW1lLgooaW1hZ2Vfc3BlY192YWx1ZSk6IEhhbmRsZSBjaXJj dWxhciBsaXN0cy4KKGVxdWFsX2xpc3RzKTogSW50cm9kdWNlLgooc2VhcmNoX2ltYWdlX2NhY2hl KTogVXNlIGBlcXVhbF9saXN0cycuCi0tLQogc3JjL2ltYWdlLmMgICAgICAgICAgICAgfCA3MCAr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogdGVzdC9zcmMvaW1hZ2Ut dGVzdHMuZWwgfCA2NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBm aWxlcyBjaGFuZ2VkLCAxMTEgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCiBjcmVhdGUg bW9kZSAxMDA2NDQgdGVzdC9zcmMvaW1hZ2UtdGVzdHMuZWwKCmRpZmYgLS1naXQgYS9zcmMvaW1h Z2UuYyBiL3NyYy9pbWFnZS5jCmluZGV4IDM1NWM4NDk0OTEuLmZiYzYzNmQ2NTEgMTAwNjQ0Ci0t LSBhL3NyYy9pbWFnZS5jCisrKyBiL3NyYy9pbWFnZS5jCkBAIC04MDAsMTcgKzgwMCwyMiBAQCB2 YWxpZF9pbWFnZV9wIChMaXNwX09iamVjdCBvYmplY3QpCiAgICAgewogICAgICAgTGlzcF9PYmpl Y3QgdGFpbCA9IFhDRFIgKG9iamVjdCk7CiAgICAgICBGT1JfRUFDSF9UQUlMX1NBRkUgKHRhaWwp Ci0JaWYgKEVRIChYQ0FSICh0YWlsKSwgUUN0eXBlKSkKLQkgIHsKLQkgICAgdGFpbCA9IFhDRFIg KHRhaWwpOwotCSAgICBpZiAoQ09OU1AgKHRhaWwpKQotCSAgICAgIHsKLQkJc3RydWN0IGltYWdl X3R5cGUgY29uc3QgKnR5cGUgPSBsb29rdXBfaW1hZ2VfdHlwZSAoWENBUiAodGFpbCkpOwotCQlp ZiAodHlwZSkKLQkJICByZXR1cm4gdHlwZS0+dmFsaWRfcCAob2JqZWN0KTsKLQkgICAgICB9Ci0J ICAgIGJyZWFrOwotCSAgfQorCXsKKwkgIGlmIChFUSAoWENBUiAodGFpbCksIFFDdHlwZSkpCisJ ICAgIHsKKwkgICAgICB0YWlsID0gWENEUiAodGFpbCk7CisJICAgICAgaWYgKENPTlNQICh0YWls KSkKKwkJeworCQkgIHN0cnVjdCBpbWFnZV90eXBlIGNvbnN0ICp0eXBlID0gbG9va3VwX2ltYWdl X3R5cGUgKFhDQVIgKHRhaWwpKTsKKwkJICBpZiAodHlwZSkKKwkJICAgIHJldHVybiB0eXBlLT52 YWxpZF9wIChvYmplY3QpOworCQl9CisJICAgICAgYnJlYWs7CisJICAgIH0KKwkgIHRhaWwgPSBY Q0RSICh0YWlsKTsKKwkgIGlmICghIENPTlNQICh0YWlsKSkKKwkgICAgcmV0dXJuIGZhbHNlOwor CX0KICAgICB9CiAKICAgcmV0dXJuIGZhbHNlOwpAQCAtODk3LDcgKzkwMiw3IEBAIHBhcnNlX2lt YWdlX3NwZWMgKExpc3BfT2JqZWN0IHNwZWMsIHN0cnVjdCBpbWFnZV9rZXl3b3JkICprZXl3b3Jk cywKICAgICByZXR1cm4gZmFsc2U7CiAKICAgcGxpc3QgPSBYQ0RSIChzcGVjKTsKLSAgd2hpbGUg KENPTlNQIChwbGlzdCkpCisgIEZPUl9FQUNIX1RBSUxfU0FGRSAocGxpc3QpCiAgICAgewogICAg ICAgTGlzcF9PYmplY3Qga2V5LCB2YWx1ZTsKIApAQCAtOTExLDcgKzkxNiw2IEBAIHBhcnNlX2lt YWdlX3NwZWMgKExpc3BfT2JqZWN0IHNwZWMsIHN0cnVjdCBpbWFnZV9rZXl3b3JkICprZXl3b3Jk cywKICAgICAgIGlmICghQ09OU1AgKHBsaXN0KSkKIAlyZXR1cm4gZmFsc2U7CiAgICAgICB2YWx1 ZSA9IFhDQVIgKHBsaXN0KTsKLSAgICAgIHBsaXN0ID0gWENEUiAocGxpc3QpOwogCiAgICAgICAv KiBGaW5kIGtleSBpbiBLRVlXT1JEUy4gIEVycm9yIGlmIG5vdCBmb3VuZC4gICovCiAgICAgICBm b3IgKGkgPSAwOyBpIDwgbmtleXdvcmRzOyArK2kpCkBAIC05MTksNyArOTIzLDcgQEAgcGFyc2Vf aW1hZ2Vfc3BlYyAoTGlzcF9PYmplY3Qgc3BlYywgc3RydWN0IGltYWdlX2tleXdvcmQgKmtleXdv cmRzLAogCSAgYnJlYWs7CiAKICAgICAgIGlmIChpID09IG5rZXl3b3JkcykKLQljb250aW51ZTsK Kwlnb3RvIG1heWJlX2RvbmU7CiAKICAgICAgIC8qIFJlY29yZCB0aGF0IHdlIHJlY29nbml6ZWQg dGhlIGtleXdvcmQuICBJZiBhIGtleXdvcmQKIAkgd2FzIGZvdW5kIG1vcmUgdGhhbiBvbmNlLCBp dCdzIGFuIGVycm9yLiAgKi8KQEAgLTEwMDYsMTQgKzEwMTAsMjAgQEAgcGFyc2VfaW1hZ2Vfc3Bl YyAoTGlzcF9PYmplY3Qgc3BlYywgc3RydWN0IGltYWdlX2tleXdvcmQgKmtleXdvcmRzLAogCiAg ICAgICBpZiAoRVEgKGtleSwgUUN0eXBlKSAmJiAhRVEgKHR5cGUsIHZhbHVlKSkKIAlyZXR1cm4g ZmFsc2U7Ci0gICAgfQogCi0gIC8qIENoZWNrIHRoYXQgYWxsIG1hbmRhdG9yeSBmaWVsZHMgYXJl IHByZXNlbnQuICAqLwotICBmb3IgKGkgPSAwOyBpIDwgbmtleXdvcmRzOyArK2kpCi0gICAgaWYg KGtleXdvcmRzW2ldLmNvdW50IDwga2V5d29yZHNbaV0ubWFuZGF0b3J5X3ApCi0gICAgICByZXR1 cm4gZmFsc2U7CisgICAgbWF5YmVfZG9uZToKKyAgICAgIGlmIChFUSAoWENEUiAocGxpc3QpLCBR bmlsKSkKKwl7CisJICAvKiBDaGVjayB0aGF0IGFsbCBtYW5kYXRvcnkgZmllbGRzIGFyZSBwcmVz ZW50LiAgKi8KKwkgIGZvciAoaSA9IDA7IGkgPCBua2V5d29yZHM7ICsraSkKKwkgICAgaWYgKGtl eXdvcmRzW2ldLm1hbmRhdG9yeV9wICYmIGtleXdvcmRzW2ldLmNvdW50ID09IDApCisJICAgICAg cmV0dXJuIGZhbHNlOworCisJICByZXR1cm4gdHJ1ZTsKKwl9CisgICAgfQogCi0gIHJldHVybiBO SUxQIChwbGlzdCk7CisgIHJldHVybiBmYWxzZTsKIH0KIAogCkBAIC0xMDI4LDkgKzEwMzgsOCBA QCBpbWFnZV9zcGVjX3ZhbHVlIChMaXNwX09iamVjdCBzcGVjLCBMaXNwX09iamVjdCBrZXksIGJv b2wgKmZvdW5kKQogCiAgIGVhc3NlcnQgKHZhbGlkX2ltYWdlX3AgKHNwZWMpKTsKIAotICBmb3Ig KHRhaWwgPSBYQ0RSIChzcGVjKTsKLSAgICAgICBDT05TUCAodGFpbCkgJiYgQ09OU1AgKFhDRFIg KHRhaWwpKTsKLSAgICAgICB0YWlsID0gWENEUiAoWENEUiAodGFpbCkpKQorICB0YWlsID0gWENE UiAoc3BlYyk7CisgIEZPUl9FQUNIX1RBSUxfU0FGRSAodGFpbCkKICAgICB7CiAgICAgICBpZiAo RVEgKFhDQVIgKHRhaWwpLCBrZXkpKQogCXsKQEAgLTEwMzgsNiArMTA0Nyw5IEBAIGltYWdlX3Nw ZWNfdmFsdWUgKExpc3BfT2JqZWN0IHNwZWMsIExpc3BfT2JqZWN0IGtleSwgYm9vbCAqZm91bmQp CiAJICAgICpmb3VuZCA9IDE7CiAJICByZXR1cm4gWENBUiAoWENEUiAodGFpbCkpOwogCX0KKyAg ICAgIHRhaWwgPSBYQ0RSICh0YWlsKTsKKyAgICAgIGlmICghIENPTlNQICh0YWlsKSkKKwlicmVh azsKICAgICB9CiAKICAgaWYgKGZvdW5kKQpAQCAtMTU3Miw2ICsxNTg0LDE2IEBAIG1ha2VfaW1h Z2VfY2FjaGUgKHZvaWQpCiAgIHJldHVybiBjOwogfQogCisvKiBDb21wYXJlIHR3byBsaXN0cyAo b25lIG9mIHdoaWNoIG11c3QgYmUgcHJvcGVyKSwgY29tcGFyaW5nIGVhY2gKKyAgIGVsZW1lbnQg d2l0aCBgZXEnLiAgKi8KK3N0YXRpYyBib29sCitlcXVhbF9saXN0cyAoTGlzcF9PYmplY3QgYSwg TGlzcF9PYmplY3QgYikKK3sKKyAgd2hpbGUgKENPTlNQIChhKSAmJiBDT05TUCAoYikgJiYgRVEg KFhDQVIgKGEpLCBYQ0FSIChiKSkpCisgICAgYSA9IFhDRFIgKGEpLCBiID0gWENEUiAoYik7CisK KyAgcmV0dXJuIEVRIChhLCBiKTsKK30KIAogLyogRmluZCBhbiBpbWFnZSBtYXRjaGluZyBTUEVD IGluIHRoZSBjYWNoZSwgYW5kIHJldHVybiBpdC4gIElmIG5vCiAgICBpbWFnZSBpcyBmb3VuZCwg cmV0dXJuIE5VTEwuICAqLwpAQCAtMTU5OCw3ICsxNjIwLDcgQEAgc2VhcmNoX2ltYWdlX2NhY2hl IChzdHJ1Y3QgZnJhbWUgKmYsIExpc3BfT2JqZWN0IHNwZWMsIEVNQUNTX1VJTlQgaGFzaCkKIAog ICBmb3IgKGltZyA9IGMtPmJ1Y2tldHNbaV07IGltZzsgaW1nID0gaW1nLT5uZXh0KQogICAgIGlm IChpbWctPmhhc2ggPT0gaGFzaAotCSYmICFOSUxQIChGZXF1YWwgKGltZy0+c3BlYywgc3BlYykp CisJJiYgIWVxdWFsX2xpc3RzIChpbWctPnNwZWMsIHNwZWMpCiAJJiYgaW1nLT5mcmFtZV9mb3Jl Z3JvdW5kID09IEZSQU1FX0ZPUkVHUk9VTkRfUElYRUwgKGYpCiAJJiYgaW1nLT5mcmFtZV9iYWNr Z3JvdW5kID09IEZSQU1FX0JBQ0tHUk9VTkRfUElYRUwgKGYpKQogICAgICAgYnJlYWs7CmRpZmYg LS1naXQgYS90ZXN0L3NyYy9pbWFnZS10ZXN0cy5lbCBiL3Rlc3Qvc3JjL2ltYWdlLXRlc3RzLmVs Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjQzMjUyMzdkZTkKLS0tIC9k ZXYvbnVsbAorKysgYi90ZXN0L3NyYy9pbWFnZS10ZXN0cy5lbApAQCAtMCwwICsxLDY1IEBACis7 OzsgaW1hZ2UtdGVzdHMuZWwgLS0tIFRlc3Qgc3VpdGUgZm9yIGltYWdlLXJlbGF0ZWQgZnVuY3Rp b25zLgorCis7OyBDb3B5cmlnaHQgKEMpIDIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisKKzs7IEF1dGhvcjogUGlwIENldCA8cGlwY2V0QGdtYWlsLmNvbT4KKzs7IEtleXdvcmRz OiAgICAgICBpbnRlcm5hbAorOzsgSHVtYW4tS2V5d29yZHM6IGludGVybmFsCisKKzs7IFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KKworOzsgR05VIEVtYWNzIGlzIGZyZWUgc29mdHdh cmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKzs7IGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 Cis7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo ZSBMaWNlbnNlLCBvcgorOzsgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKwor OzsgR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCis7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgorOzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KKworOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKzs7IGFsb25nIHdpdGggR05VIEVtYWNz LiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworOzs7IENv bW1lbnRhcnk6CisKKzs7OyBDb2RlOgorCisocmVxdWlyZSAnZXJ0KQorCisoZXJ0LWRlZnRlc3Qg aW1hZ2UtdGVzdC1kdXBsaWNhdGUta2V5d29yZHMgKCkKKyAgIlRlc3QgdGhhdCBkdXBsaWNhdGUg a2V5d29yZHMgaW4gYW4gaW1hZ2Ugc3BlYyBsZWFkIHRvIHJlamVjdGlvbi4iCisgIChzaG91bGQt ZXJyb3IgKGltYWdlLXNpemUgYChpbWFnZSA6dHlwZSB4Ym0gOnR5cGUgeGJtIDp3aWR0aCAxIDpo ZWlnaHQgMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmRhdGEgLChib29s LXZlY3RvciB0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0KSkpCisKKyhlcnQtZGVm dGVzdCBpbWFnZS10ZXN0LWNpcmN1bGFyLXBsaXN0ICgpCisgICJUZXN0IHRoYXQgYSBjaXJjdWxh ciBpbWFnZSBzcGVjIGlzIHJlamVjdGVkLiIKKyAgKHNob3VsZC1lcnJvcgorICAgKGxldCAoKGwg YChpbWFnZSA6dHlwZSB4Ym0gOndpZHRoIDEgOmhlaWdodCAxIDpkYXRhICwoYm9vbC12ZWN0b3Ig dCkpKSkKKyAgICAgKHNldGNkciAobGFzdCBsKSAnIzE9KDppbnZhbGlkIC4gIzEjKSkKKyAgICAg KGltYWdlLXNpemUgbCB0KSkpKQorCisoZXJ0LWRlZnRlc3QgaW1hZ2UtdGVzdC06dHlwZS1wcm9w ZXJ0eS12YWx1ZSAoKQorICAiVGVzdCB0aGF0IDp0eXBlIGlzIGFsbG93ZWQgYXMgYSBwcm9wZXJ0 eSB2YWx1ZSBpbiBhbiBpbWFnZSBzcGVjLiIKKyAgKHNob3VsZCAoZXF1YWwgKGltYWdlLXNpemUg YChpbWFnZSA6ZHVtbXkgOnR5cGUgOnR5cGUgeGJtIDp3aWR0aCAxIDpoZWlnaHQgMQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpkYXRhICwoYm9vbC12ZWN0b3IgdCkp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQpCisgICAgICAgICAgICAgICAgIChj b25zIDEgMSkpKSkKKworKGVydC1kZWZ0ZXN0IGltYWdlLXRlc3QtY2lyY3VsYXItc3BlY3MgKCkK KyAgIlRlc3QgdGhhdCBjaXJjdWxhciBpbWFnZSBzcGVjIHByb3BlcnR5IHZhbHVlcyBkbyBub3Qg Y2F1c2UgaW5maW5pdGUgcmVjdXJzaW9uLiIKKyAgKHNob3VsZAorICAgKGxldCogKChjaXJjMSAo Y29ucyA6ZHVtbXkgbmlsKSkKKyAgICAgICAgICAoY2lyYzIgKGNvbnMgOmR1bW15IG5pbCkpCisg ICAgICAgICAgKHNwZWMxIGAoaW1hZ2UgOnR5cGUgeGJtIDp3aWR0aCAxIDpoZWlnaHQgMQorICAg ICAgICAgICAgICAgICAgICAgICAgIDpkYXRhICwoYm9vbC12ZWN0b3IgMSkgOmlnbm9yZWQgLGNp cmMxKSkKKyAgICAgICAgICAoc3BlYzIgYChpbWFnZSA6dHlwZSB4Ym0gOndpZHRoIDEgOmhlaWdo dCAxCisgICAgICAgICAgICAgICAgICAgICAgICA6ZGF0YSAsKGJvb2wtdmVjdG9yIDEpIDppZ25v cmVkICxjaXJjMikpKQorICAgICAoc2V0Y2RyIGNpcmMxIGNpcmMxKQorICAgICAoc2V0Y2RyIGNp cmMyIGNpcmMyKQorICAgICAoYW5kIChlcXVhbCAoaW1hZ2Utc2l6ZSBzcGVjMSB0KSAoY29ucyAx IDEpKQorICAgICAgICAgIChlcXVhbCAoaW1hZ2Utc2l6ZSBzcGVjMiB0KSAoY29ucyAxIDEpKSkp KSkKKworKHByb3ZpZGUgJ2ltYWdlLXRlc3RzKQorOzs7IGltYWdlLXRlc3RzLmVsIGVuZHMgaGVy ZS4KLS0gCjIuMjIuMAoK --000000000000e3a295058e3c38b5--