From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Hartwig Newsgroups: gmane.lisp.guile.bugs Subject: bug#12827: [PATCH] Tweak web modules, support relative URIs Date: Sat, 16 Mar 2013 22:25:34 +0800 Message-ID: References: <87vc9i6ld2.fsf@tines.lan> <87a9q7impu.fsf@pobox.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=14dae9340b4561428d04d80b87d2 X-Trace: ger.gmane.org 1363444005 28083 80.91.229.3 (16 Mar 2013 14:26:45 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 16 Mar 2013 14:26:45 +0000 (UTC) Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , 12827@debbugs.gnu.org To: Andy Wingo Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Sat Mar 16 15:27:10 2013 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UGs4h-0000ro-TX for guile-bugs@m.gmane.org; Sat, 16 Mar 2013 15:27:08 +0100 Original-Received: from localhost ([::1]:44456 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UGs4L-0003hl-57 for guile-bugs@m.gmane.org; Sat, 16 Mar 2013 10:26:45 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:40527) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UGs4G-0003hc-Oq for bug-guile@gnu.org; Sat, 16 Mar 2013 10:26:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UGs4F-0007L7-JB for bug-guile@gnu.org; Sat, 16 Mar 2013 10:26:40 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:53887) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UGs4F-0007L2-Ez for bug-guile@gnu.org; Sat, 16 Mar 2013 10:26:39 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1UGs5a-0008Kd-13 for bug-guile@gnu.org; Sat, 16 Mar 2013 10:28:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Daniel Hartwig Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-guile@gnu.org Resent-Date: Sat, 16 Mar 2013 14:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12827 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 12827-submit@debbugs.gnu.org id=B12827.136344402531961 (code B ref 12827); Sat, 16 Mar 2013 14:28:01 +0000 Original-Received: (at 12827) by debbugs.gnu.org; 16 Mar 2013 14:27:05 +0000 Original-Received: from localhost ([127.0.0.1]:57996 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UGs4f-0008JQ-BK for submit@debbugs.gnu.org; Sat, 16 Mar 2013 10:27:05 -0400 Original-Received: from mail-ie0-f172.google.com ([209.85.223.172]:45847) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UGs4c-0008Is-Kn for 12827@debbugs.gnu.org; Sat, 16 Mar 2013 10:27:04 -0400 Original-Received: by mail-ie0-f172.google.com with SMTP id c10so5540060ieb.3 for <12827@debbugs.gnu.org>; Sat, 16 Mar 2013 07:25:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=0PnpRX0AjOl/p5Qp1ubnmEJ7hIaOSpNZKuguZH5Q4CE=; b=o86J/qjPZlT0rXErma2Ie7vAv0ho2kNnXNUvUFks92c2bIIuPtD311mr3st6GjP9PS KlKjsyWtRZozQArg84g0dHwMoX6Ha6QxtEKByTlj4fJB/ohLutwr7R7LpRDLJhpJiH31 wvugtyQfUwnfndTs2sPjlWueF5YamJP3PD2H7qS/spOA0lFCoYp2wViGAU7bNSxW8gUF prxMikk489Nd9vvCBTrKrOUCypZk03ymEBUfrEijolff2NzfswntnrlY4N67s0T3YYDg gkYWFijvFQdnmhwKtwFz46ME8o8WdB2yoIbl6AGRziiP9LkmH7sDMUeyBi0vHEAb6tMK 7J8Q== X-Received: by 10.50.195.134 with SMTP id ie6mr3312335igc.6.1363443934378; Sat, 16 Mar 2013 07:25:34 -0700 (PDT) Original-Received: by 10.64.26.168 with HTTP; Sat, 16 Mar 2013 07:25:34 -0700 (PDT) In-Reply-To: <87a9q7impu.fsf@pobox.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:6976 Archived-At: --14dae9340b4561428d04d80b87d2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 13 March 2013 19:05, Andy Wingo wrote: > What's the status here, Daniel? Would be nice to fix this bug one way > or another for 2.0.8. Latest work attached, updated as per discussion with Mark. Still missing #:base-uri (RFC 3986 #5.2) and some polish. For the docs, I believe it best to follow the RFC and leave the existing section on URIs as-is, followed by a new section introducing the other types. This will help avoid conflating the two concepts of URI and URI-reference. Regarding the interface. There is now an abundance of constructors and string converters, one for each specific type. It is also somewhat inconsistent in that there is no need for multiple accessors or =E2=80=98uri*->string=E2=80=99 procedures. An alternative interface mig= ht employ a single constructor similar to =E2=80=98make-time=E2=80=99, using a set of variables/symbols to represent the desired type: build-uri-reference arg ... [#:type=3D=E2=80=98uri=E2=80=99] string->uri-reference str [type] where TYPE is one of =E2=80=98uri=E2=80=99, =E2=80=98uri-reference=E2=80=99= , =E2=80=98relative-ref=E2=80=99, =E2=80=98absolute-uri=E2=80=99. Perhaps even have a single =E2=80=98build-= uri=E2=80=99 with these semantics. Comments, ideas? --14dae9340b4561428d04d80b87d2 Content-Type: application/octet-stream; name="0001-web-add-support-for-URI-reference.patch" Content-Disposition: attachment; filename="0001-web-add-support-for-URI-reference.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hecu18av0 RnJvbSAyNjY1NWEyYWU4YTI4NjRlYTg2N2VkNTI0MGVmZjVkMGJiOTE2YTQ5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgSGFydHdpZyA8bWFuZHlrZUBnbWFpbC5jb20+CkRh dGU6IFNhdCwgMTYgTWFyIDIwMTMgMjE6MTg6MzQgKzA4MDAKU3ViamVjdDogW1BBVENIXSB3ZWI6 IGFkZCBzdXBwb3J0IGZvciBVUkktcmVmZXJlbmNlCgoqIGRvYy9yZWYvd2ViLnRleGkgKFVSSXMp OiBGcmFnbWVudHMgYXJlIHByb3Blcmx5IHBhcnQgb2YgYSBVUkksIHNvCiAgcmVtb3ZlIHRoZSBp bmNvcnJlY3Qgbm90ZS4KCiogbW9kdWxlL3dlYi91cmkuc2NtICh1cmktcmVmZXJlbmNlPyk6IE5l dyBiYXNlIHR5cGUgcHJlZGljYXRlLgogICh1cmk/LCByZWxhdGl2ZS1yZWY/LCBhYnNvbHV0ZS11 cmk/KTogU3BlY2lmaWMgcHJlZGljYXRlcy4KCiAgKHZhbGlkYXRlLXVyaS1yZWZlcmVuY2UpOiBT dHJpY3QgdmFsaWRhdGlvbi4KICAodmFsaWRhdGUtdXJpLCB2YWxpZGF0ZS1yZWxhdGl2ZS1yZWYs IHZhbGlkYXRlLWFic29sdXRlLXVyaSk6CiAgU3BlY2lmaWMgdmFsaWRhdG9ycy4KCiAgKGJ1aWxk LXVyaS1yZWZlcmVuY2UsIGJ1aWxkLXJlbGF0aXZlLXJlZiwgYnVpbGQtYWJzb2x1dGUtdXJpKToK ICBOZXcgY29uc3RydWN0b3JzLgoKICAoc3RyaW5nLT51cmkqKTogQWRkIGB2YWxpZGF0ZScgYXJn dW1lbnQuCiAgKHN0cmluZy0+dXJpLCBzdHJpbmctPnVyaS1yZWZlcmVuY2UsIHN0cmluZy0+cmVs YXRpdmUtcmVmKToKICAoc3RyaW5nLT5hYnNvbHV0ZS11cmkpOiBTcGVjaWZpYyBjb25zdHJ1Y3Rv cnMuCgoqIG1vZHVsZS93ZWIvaHR0cC5zY20gKHBhcnNlLXJlcXVlc3QtdXJpKTogVXNlIGBidWls ZC11cmktcmVmZXJlbmNlJywKICBhbmQgcmVzdWx0IGlzIGEgVVJJLXJlZmVyZW5jZSwgbm90IFVS SSwgb2JqZWN0LiAgTm8gbG9uZ2VyIGluZmVyIGFuCiAgYWJzZW50IGB1cmktc2NoZW1lJyBpcyBg aHR0cCcuCgogICh3cml0ZS11cmkpOiBEbyBub3QgZGlzcGxheSBhbiBhYnNlbnQgYHVyaS1zY2hl bWUnLCBob3dldmVyLCBkbwogIGRpc3BsYXkgdGhlIHNjaGVtZSBldmVuIHdoZW4gYHVyaS1ob3N0 JyBpcyBhYnNlbnQuICBBZGQgbm90ZSB0byBsb29rCiAgYXQgdXNpbmcgYHVyaS0+c3RyaW5nJy4K CiAgKGRlY2xhcmUtYWJzb2x1dGUtdXJpLWhlYWRlciEpOiBVcGRhdGUuICBSZW5hbWUgZnJvbQog IGBkZWNsYXJlLXVyaS1oZWFkZXIhJy4KCiAgKGRlY2xhcmUtdXJpLXJlZmVyZW5jZS1oZWFkZXIh KTogVXBkYXRlLiAgUmVuYW1lIGZyb20KICBgZGVjbGFyZS1yZWxhdGl2ZS11cmktaGVhZGVyIScu CgoqIHRlc3Qtc3VpdGUvdGVzdHMvd2ViLXVyaS50ZXN0ICgiYnVpbGQtdXJpLXJlZmVyZW5jZSIp OgogICgic3RyaW5nLT51cmktcmVmZXJlbmNlIik6IEFkZC4KCiAgKCJ1cmktPnN0cmluZyIpOiBB bHNvIHRlc3RzIGZvciByZWxhdGl2ZS1yZWZzLgoKKiB0ZXN0LXN1aXRlL3Rlc3RzL3dlYi1odHRw LnRlc3QgKCJyZWFkLXJlcXVlc3QtbGluZSIpOgogICgid3JpdGUtcmVxdWVzdC1saW5lIik6IFVw ZGF0ZSBmb3Igbm8gc2NoZW1lIGluIHNvbWUgVVJJcy4KCiAgKCJlbnRpdHkgaGVhZGVycyIsICJy ZXF1ZXN0IGhlYWRlcnMiKTogQ29udGVudC1sb2NhdGlvbiBhbmQgcmVmZXJlcgogIHNob3VsZCBh bHNvIHBhcnNlIHJlbGF0aXZlLVVSSXMuCiAgKCJyZXNwb25zZSBoZWFkZXJzIik6IExvY2F0aW9u IHNob3VsZCBub3QgcGFyc2UgcmVsYXRpdmUtVVJJcy4KCiogdGVzdC1zdWl0ZS90ZXN0cy93ZWIt cmVxdWVzdC50ZXN0ICgiZXhhbXBsZS0xIik6IEV4cGVjdCBVUkktcmVmZXJlbmNlCiAgd2l0aCBu byBzY2hlbWUuCi0tLQogZG9jL3JlZi93ZWIudGV4aSAgICAgICAgICAgICAgICAgIHwgICAgOCAt LQogbW9kdWxlL3dlYi9odHRwLnNjbSAgICAgICAgICAgICAgIHwgICA0NyArKysrKystLS0tLQog bW9kdWxlL3dlYi91cmkuc2NtICAgICAgICAgICAgICAgIHwgIDE1OCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tCiB0ZXN0LXN1aXRlL3Rlc3RzL3dlYi1odHRwLnRlc3QgICAg fCAgIDU0ICsrKysrKysrLS0tLS0KIHRlc3Qtc3VpdGUvdGVzdHMvd2ViLXJlcXVlc3QudGVzdCB8 ICAgIDUgKy0KIHRlc3Qtc3VpdGUvdGVzdHMvd2ViLXVyaS50ZXN0ICAgICB8ICAgNjYgKysrKysr KysrKysrKysrLQogNiBmaWxlcyBjaGFuZ2VkLCAyNzUgaW5zZXJ0aW9ucygrKSwgNjMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3JlZi93ZWIudGV4aSBiL2RvYy9yZWYvd2ViLnRleGkK aW5kZXggMGQ0MWY5Zi4uNDc2MTUxYiAxMDA2NDQKLS0tIGEvZG9jL3JlZi93ZWIudGV4aQorKysg Yi9kb2MvcmVmL3dlYi50ZXhpCkBAIC0xOTAsMTQgKzE5MCw2IEBAIHNpbmNlIHBhc3N3b3JkcyBk byBub3QgYmVsb25nIGluIFVSSXMsIHRoZSBSRkMgZG9lcyBub3Qgd2FudCB0byBjb25kb25lCiB0 aGlzIHByYWN0aWNlLCBzbyBpdCBjYWxscyBhbnl0aGluZyBiZWZvcmUgdGhlIEBjb2Rle0BAfSBz aWduCiBAZGZue3VzZXJpbmZvfS4KIAotUHJvcGVybHkgc3BlYWtpbmcsIGEgZnJhZ21lbnQgaXMg bm90IHBhcnQgb2YgYSBVUkkuICBGb3IgZXhhbXBsZSwgd2hlbiBhCi13ZWIgYnJvd3NlciBmb2xs b3dzIGEgbGluayB0byBAaW5kaWNhdGV1cmx7aHR0cDovL2V4YW1wbGUuY29tLyNmb299LCBpdAot c2VuZHMgYSByZXF1ZXN0IGZvciBAaW5kaWNhdGV1cmx7aHR0cDovL2V4YW1wbGUuY29tL30sIHRo ZW4gbG9va3MgaW4gdGhlCi1yZXN1bHRpbmcgcGFnZSBmb3IgdGhlIGZyYWdtZW50IGlkZW50aWZp ZWQgQGNvZGV7Zm9vfSByZWZlcmVuY2UuICBBCi1mcmFnbWVudCBpZGVudGlmaWVzIGEgcGFydCBv ZiBhIHJlc291cmNlLCBub3QgdGhlIHJlc291cmNlIGl0c2VsZi4gIEJ1dAotaXQgaXMgdXNlZnVs IHRvIGhhdmUgYSBmcmFnbWVudCBmaWVsZCBpbiB0aGUgVVJJIHJlY29yZCBpdHNlbGYsIHNvIHdl Ci1ob3BlIHlvdSB3aWxsIGZvcmdpdmUgdGhlIGluY29uc2lzdGVuY3kuCi0KIEBleGFtcGxlCiAo dXNlLW1vZHVsZXMgKHdlYiB1cmkpKQogQGVuZCBleGFtcGxlCmRpZmYgLS1naXQgYS9tb2R1bGUv d2ViL2h0dHAuc2NtIGIvbW9kdWxlL3dlYi9odHRwLnNjbQppbmRleCBiNTIwMmI2Li41YzI1MGQ5 IDEwMDY0NAotLS0gYS9tb2R1bGUvd2ViL2h0dHAuc2NtCisrKyBiL21vZHVsZS93ZWIvaHR0cC5z Y20KQEAgLTEwMjMsNyArMTAyMyw4IEBAIHN5bWJvbCwgbGlrZSDigJhHRVTigJkuIgogCiAoZGVm aW5lKiAocGFyc2UtcmVxdWVzdC11cmkgc3RyICM6b3B0aW9uYWwgKHN0YXJ0IDApIChlbmQgKHN0 cmluZy1sZW5ndGggc3RyKSkpCiAgICJQYXJzZSBhIFVSSSBmcm9tIGFuIEhUVFAgcmVxdWVzdCBs aW5lLiAgTm90ZSB0aGF0IFVSSXMgaW4gcmVxdWVzdHMgZG8KLW5vdCBoYXZlIHRvIGhhdmUgYSBz Y2hlbWUgb3IgaG9zdCBuYW1lLiAgVGhlIHJlc3VsdCBpcyBhIFVSSSBvYmplY3QuIgorbm90IGhh dmUgdG8gaGF2ZSBhIHNjaGVtZSBvciBob3N0IG5hbWUuICBUaGUgcmVzdWx0IGlzIGEgVVJJLXJl ZmVyZW5jZQorb2JqZWN0LiIKICAgKGNvbmQKICAgICgoPSBzdGFydCBlbmQpCiAgICAgKGJhZC1y ZXF1ZXN0ICJNaXNzaW5nIFJlcXVlc3QtVVJJIikpCkBAIC0xMDMzLDEwICsxMDM0LDEwIEBAIG5v dCBoYXZlIHRvIGhhdmUgYSBzY2hlbWUgb3IgaG9zdCBuYW1lLiAgVGhlIHJlc3VsdCBpcyBhIFVS SSBvYmplY3QuIgogICAgIChsZXQqICgocSAoc3RyaW5nLWluZGV4IHN0ciAjXD8gc3RhcnQgZW5k KSkKICAgICAgICAgICAgKGYgKHN0cmluZy1pbmRleCBzdHIgI1wjIHN0YXJ0IGVuZCkpCiAgICAg ICAgICAgIChxIChhbmQgcSAob3IgKG5vdCBmKSAoPCBxIGYpKSBxKSkpCi0gICAgICAoYnVpbGQt dXJpICdodHRwCi0gICAgICAgICAgICAgICAgICM6cGF0aCAoc3Vic3RyaW5nIHN0ciBzdGFydCAo b3IgcSBmIGVuZCkpCi0gICAgICAgICAgICAgICAgICM6cXVlcnkgKGFuZCBxIChzdWJzdHJpbmcg c3RyICgxKyBxKSAob3IgZiBlbmQpKSkKLSAgICAgICAgICAgICAgICAgIzpmcmFnbWVudCAoYW5k IGYgKHN1YnN0cmluZyBzdHIgKDErIGYpIGVuZCkpKSkpCisgICAgICAoYnVpbGQtdXJpLXJlZmVy ZW5jZQorICAgICAgICM6cGF0aCAoc3Vic3RyaW5nIHN0ciBzdGFydCAob3IgcSBmIGVuZCkpCisg ICAgICAgIzpxdWVyeSAoYW5kIHEgKHN1YnN0cmluZyBzdHIgKDErIHEpIChvciBmIGVuZCkpKQor ICAgICAgICM6ZnJhZ21lbnQgKGFuZCBmIChzdWJzdHJpbmcgc3RyICgxKyBmKSBlbmQpKSkpKQog ICAgKGVsc2UKICAgICAob3IgKHN0cmluZy0+dXJpIChzdWJzdHJpbmcgc3RyIHN0YXJ0IGVuZCkp CiAgICAgICAgIChiYWQtcmVxdWVzdCAiSW52YWxpZCBVUkk6IH5hIiAoc3Vic3RyaW5nIHN0ciBz dGFydCBlbmQpKSkpKSkKQEAgLTEwNTMsMTEgKzEwNTQsMTcgQEAgdGhyZWUgdmFsdWVzOiB0aGUg bWV0aG9kLCB0aGUgVVJJLCBhbmQgdGhlIHZlcnNpb24uIgogICAgICAgICAgICAgICAgIChwYXJz ZS1odHRwLXZlcnNpb24gbGluZSAoMSsgZDEpIChzdHJpbmctbGVuZ3RoIGxpbmUpKSkKICAgICAg ICAgKGJhZC1yZXF1ZXN0ICJCYWQgUmVxdWVzdC1MaW5lOiB+cyIgbGluZSkpKSkKIAorOzsgRklY TUU6IFRoZSB2YWxpZGF0aW9uIGhlcmUgc2hvdWxkIGJlIHJlY29uc2lkZXJlZCBhbmQgbW92ZWQg dG8KKzs7IGluZGl2aWR1YWwgaGVhZGVyIHZhbGlkYXRvcnMgaWYgdGhleSBkbyBub3QgYWxyZWFk eSBjb3ZlcmVkLiAgVGhlbgorOzsgdGhpcyBwcm9jZWR1cmUgc2hvdWxkIGJlIHVzaW5nIHVyaS0+ c3RyaW5nLgogKGRlZmluZSAod3JpdGUtdXJpIHVyaSBwb3J0KQotICAoaWYgKHVyaS1ob3N0IHVy aSkKKyAgKGlmICh1cmktc2NoZW1lIHVyaSkKICAgICAgIChiZWdpbgogICAgICAgICAoZGlzcGxh eSAodXJpLXNjaGVtZSB1cmkpIHBvcnQpCi0gICAgICAgIChkaXNwbGF5ICI6Ly8iIHBvcnQpCisg ICAgICAgIChkaXNwbGF5ICNcOiBwb3J0KSkpCisgIChpZiAodXJpLWhvc3QgdXJpKQorICAgICAg KGJlZ2luCisgICAgICAgIChkaXNwbGF5ICIvLyIgcG9ydCkKICAgICAgICAgKGlmICh1cmktdXNl cmluZm8gdXJpKQogICAgICAgICAgICAgKGJlZ2luCiAgICAgICAgICAgICAgIChkaXNwbGF5ICh1 cmktdXNlcmluZm8gdXJpKSBwb3J0KQpAQCAtMTE3MSwyMCArMTE3OCwyMiBAQCB0cmVhdGVkIHNw ZWNpYWxseSwgYW5kIGlzIGp1c3QgcmV0dXJuZWQgYXMgYSBwbGFpbiBzdHJpbmcuIgogICAoZGVj bGFyZS1oZWFkZXIhIG5hbWUKICAgICBwYXJzZS1ub24tbmVnYXRpdmUtaW50ZWdlciBub24tbmVn YXRpdmUtaW50ZWdlcj8gZGlzcGxheSkpCiAKLTs7IGVtYWNzOiAocHV0ICdkZWNsYXJlLXVyaS1o ZWFkZXIhICdzY2hlbWUtaW5kZW50LWZ1bmN0aW9uIDEpCi0oZGVmaW5lIChkZWNsYXJlLXVyaS1o ZWFkZXIhIG5hbWUpCis7OyBlbWFjczogKHB1dCAnZGVjbGFyZS1hYnNvbHV0ZS11cmktaGVhZGVy ISAnc2NoZW1lLWluZGVudC1mdW5jdGlvbiAxKQorKGRlZmluZSAoZGVjbGFyZS1hYnNvbHV0ZS11 cmktaGVhZGVyISBuYW1lKQogICAoZGVjbGFyZS1oZWFkZXIhIG5hbWUKLSAgICAobGFtYmRhIChz dHIpIChvciAoc3RyaW5nLT51cmkgc3RyKSAoYmFkLWhlYWRlci1jb21wb25lbnQgJ3VyaSBzdHIp KSkKLSAgICAoQEAgKHdlYiB1cmkpIGFic29sdXRlLXVyaT8pCisgICAgKGxhbWJkYSAoc3RyKQor ICAgICAgKG9yIChzdHJpbmctPmFic29sdXRlLXVyaSBzdHIpCisgICAgICAgICAgKGJhZC1oZWFk ZXItY29tcG9uZW50ICdhYnNvbHV0ZS11cmkgc3RyKSkpCisgICAgYWJzb2x1dGUtdXJpPwogICAg IHdyaXRlLXVyaSkpCiAKLTs7IGVtYWNzOiAocHV0ICdkZWNsYXJlLXJlbGF0aXZlLXVyaS1oZWFk ZXIhICdzY2hlbWUtaW5kZW50LWZ1bmN0aW9uIDEpCi0oZGVmaW5lIChkZWNsYXJlLXJlbGF0aXZl LXVyaS1oZWFkZXIhIG5hbWUpCis7OyBlbWFjczogKHB1dCAnZGVjbGFyZS11cmktcmVmZXJlbmNl LWhlYWRlciEgJ3NjaGVtZS1pbmRlbnQtZnVuY3Rpb24gMSkKKyhkZWZpbmUgKGRlY2xhcmUtdXJp LXJlZmVyZW5jZS1oZWFkZXIhIG5hbWUpCiAgIChkZWNsYXJlLWhlYWRlciEgbmFtZQogICAgIChs YW1iZGEgKHN0cikKLSAgICAgIChvciAoKEBAICh3ZWIgdXJpKSBzdHJpbmctPnVyaSopIHN0cikK LSAgICAgICAgICAoYmFkLWhlYWRlci1jb21wb25lbnQgJ3VyaSBzdHIpKSkKLSAgICB1cmk/Cisg ICAgICAob3IgKHN0cmluZy0+dXJpLXJlZmVyZW5jZSBzdHIpCisgICAgICAgICAgKGJhZC1oZWFk ZXItY29tcG9uZW50ICd1cmktcmVmZXJlbmNlIHN0cikpKQorICAgIHVyaS1yZWZlcmVuY2U/CiAg ICAgd3JpdGUtdXJpKSkKIAogOzsgZW1hY3M6IChwdXQgJ2RlY2xhcmUtcXVhbGl0eS1saXN0LWhl YWRlciEgJ3NjaGVtZS1pbmRlbnQtZnVuY3Rpb24gMSkKQEAgLTE0NDksNyArMTQ1OCw3IEBAIHRy ZWF0ZWQgc3BlY2lhbGx5LCBhbmQgaXMganVzdCByZXR1cm5lZCBhcyBhIHBsYWluIHN0cmluZy4i CiAKIDs7IENvbnRlbnQtTG9jYXRpb24gPSAoIGFic29sdXRlVVJJIHwgcmVsYXRpdmVVUkkgKQog OzsKLShkZWNsYXJlLXJlbGF0aXZlLXVyaS1oZWFkZXIhICJDb250ZW50LUxvY2F0aW9uIikKKyhk ZWNsYXJlLXVyaS1yZWZlcmVuY2UtaGVhZGVyISAiQ29udGVudC1Mb2NhdGlvbiIpCiAKIDs7IENv bnRlbnQtTUQ1ID0gPGJhc2U2NCBvZiAxMjggYml0IE1ENSBkaWdlc3QgYXMgcGVyIFJGQyAxODY0 PgogOzsKQEAgLTE3NTIsNyArMTc2MSw3IEBAIHRyZWF0ZWQgc3BlY2lhbGx5LCBhbmQgaXMganVz dCByZXR1cm5lZCBhcyBhIHBsYWluIHN0cmluZy4iCiAKIDs7IFJlZmVyZXIgPSAoIGFic29sdXRl VVJJIHwgcmVsYXRpdmVVUkkgKQogOzsKLShkZWNsYXJlLXJlbGF0aXZlLXVyaS1oZWFkZXIhICJS ZWZlcmVyIikKKyhkZWNsYXJlLXVyaS1yZWZlcmVuY2UtaGVhZGVyISAiUmVmZXJlciIpCiAKIDs7 IFRFID0gIyggdC1jb2RpbmdzICkKIDs7IHQtY29kaW5ncyA9ICJ0cmFpbGVycyIgfCAoIHRyYW5z ZmVyLWV4dGVuc2lvbiBbIGFjY2VwdC1wYXJhbXMgXSApCkBAIC0xNzg5LDcgKzE3OTgsNyBAQCB0 cmVhdGVkIHNwZWNpYWxseSwgYW5kIGlzIGp1c3QgcmV0dXJuZWQgYXMgYSBwbGFpbiBzdHJpbmcu IgogCiA7OyBMb2NhdGlvbiA9IGFic29sdXRlVVJJCiA7OyAKLShkZWNsYXJlLXVyaS1oZWFkZXIh ICJMb2NhdGlvbiIpCisoZGVjbGFyZS1hYnNvbHV0ZS11cmktaGVhZGVyISAiTG9jYXRpb24iKQog CiA7OyBQcm94eS1BdXRoZW50aWNhdGUgPSAxI2NoYWxsZW5nZQogOzsKZGlmZiAtLWdpdCBhL21v ZHVsZS93ZWIvdXJpLnNjbSBiL21vZHVsZS93ZWIvdXJpLnNjbQppbmRleCA3ZmUwMTAwLi44YThl MWQ5IDEwMDY0NAotLS0gYS9tb2R1bGUvd2ViL3VyaS5zY20KKysrIGIvbW9kdWxlL3dlYi91cmku c2NtCkBAIC00MCwxMSArNDAsMTUgQEAKICAgICAgICAgICAgIHN0cmluZy0+dXJpIHVyaS0+c3Ry aW5nCiAgICAgICAgICAgICB1cmktZGVjb2RlIHVyaS1lbmNvZGUKICAgICAgICAgICAgIHNwbGl0 LWFuZC1kZWNvZGUtdXJpLXBhdGgKLSAgICAgICAgICAgIGVuY29kZS1hbmQtam9pbi11cmktcGF0 aCkpCisgICAgICAgICAgICBlbmNvZGUtYW5kLWpvaW4tdXJpLXBhdGgKKworICAgICAgICAgICAg dXJpLXJlZmVyZW5jZT8gcmVsYXRpdmUtcmVmPyBhYnNvbHV0ZS11cmk/CisgICAgICAgICAgICBi dWlsZC11cmktcmVmZXJlbmNlIGJ1aWxkLXJlbGF0aXZlLXJlZiBidWlsZC1hYnNvbHV0ZS11cmkK KyAgICAgICAgICAgIHN0cmluZy0+dXJpLXJlZmVyZW5jZSBzdHJpbmctPnJlbGF0aXZlLXJlZiBz dHJpbmctPmFic29sdXRlLXVyaSkpCiAKIChkZWZpbmUtcmVjb3JkLXR5cGUgPHVyaT4KICAgKG1h a2UtdXJpIHNjaGVtZSB1c2VyaW5mbyBob3N0IHBvcnQgcGF0aCBxdWVyeSBmcmFnbWVudCkKLSAg dXJpPworICB1cmktcmVmZXJlbmNlPwogICAoc2NoZW1lIHVyaS1zY2hlbWUpCiAgICh1c2VyaW5m byB1cmktdXNlcmluZm8pCiAgIChob3N0IHVyaS1ob3N0KQpAQCAtNTMsOCArNTcsNTEgQEAKICAg KHF1ZXJ5IHVyaS1xdWVyeSkKICAgKGZyYWdtZW50IHVyaS1mcmFnbWVudCkpCiAKKzs7OworOzs7 IFByZWRpY2F0ZXMuCis7OzsKKzs7OyBUaGVzZSBhcmUgcXVpY2ssIGFuZCBhc3N1bWUgcmlnaWQg dmFsaWRhdGlvbiBhdCBjb25zdHJ1Y3Rpb24gdGltZS4KKworOzs7IFJGQyAzOTg2LCAjMy4KKzs7 OworOzs7ICAgVVJJICAgICAgICAgPSBzY2hlbWUgIjoiIGhpZXItcGFydCBbICI/IiBxdWVyeSBd IFsgIiMiIGZyYWdtZW50IF0KKzs7OworOzs7ICAgaGllci1wYXJ0ICAgPSAiLy8iIGF1dGhvcml0 eSBwYXRoLWFiZW1wdHkKKzs7OyAgICAgICAgICAgICAgIC8gcGF0aC1hYnNvbHV0ZQorOzs7ICAg ICAgICAgICAgICAgLyBwYXRoLXJvb3RsZXNzCis7OzsgICAgICAgICAgICAgICAvIHBhdGgtZW1w dHkKKworKGRlZmluZSAodXJpPyBvYmopCisgIChhbmQgKHVyaS1yZWZlcmVuY2U/IG9iaikKKyAg ICAgICAodXJpLXNjaGVtZSBvYmopKSkKKworOzs7IFJGQyAzOTg2LCAjNC4yLgorOzs7Cis7Ozsg ICByZWxhdGl2ZS1yZWYgID0gcmVsYXRpdmUtcGFydCBbICI/IiBxdWVyeSBdIFsgIiMiIGZyYWdt ZW50IF0KKzs7OworOzs7ICAgcmVsYXRpdmUtcGFydCA9ICIvLyIgYXV0aG9yaXR5IHBhdGgtYWJl bXB0eQorOzs7ICAgICAgICAgICAgICAgICAvIHBhdGgtYWJzb2x1dGUKKzs7OyAgICAgICAgICAg ICAgICAgLyBwYXRoLW5vc2NoZW1lCis7OzsgICAgICAgICAgICAgICAgIC8gcGF0aC1lbXB0eQor CisoZGVmaW5lIChyZWxhdGl2ZS1yZWY/IG9iaikKKyAgKGFuZCAodXJpLXJlZmVyZW5jZT8gb2Jq KQorICAgICAgIChub3QgKHVyaS1zY2hlbWUgb2JqKSkpKQorCis7OzsgUkZDIDM5ODYsICM0LjMu Cis7OzsKKzs7OyAgIGFic29sdXRlLVVSSSAgPSBzY2hlbWUgIjoiIGhpZXItcGFydCBbICI/IiBx dWVyeSBdCisKIChkZWZpbmUgKGFic29sdXRlLXVyaT8gb2JqKQotICAoYW5kICh1cmk/IG9iaikg KHVyaS1zY2hlbWUgb2JqKSAjdCkpCisgIChhbmQgKHVyaS1yZWZlcmVuY2U/IG9iaikKKyAgICAg ICAodXJpLXNjaGVtZSBvYmopCisgICAgICAgKG5vdCAodXJpLWZyYWdtZW50IG9iaikpKSkKKwor DAorOzs7Cis7OzsgQ29uc3RydWN0b3JzLgorOzs7Cis7OzsgRGlzYWJsZSB2YWxpZGF0aW9uIGF0 IHlvdXIgb3duIHBlcmlsIQogCiAoZGVmaW5lICh1cmktZXJyb3IgbWVzc2FnZSAuIGFyZ3MpCiAg ICh0aHJvdyAndXJpLWVycm9yIG1lc3NhZ2UgYXJncykpCkBAIC02Miw5ICsxMDksMTMgQEAKIChk ZWZpbmUgKHBvc2l0aXZlLWV4YWN0LWludGVnZXI/IHBvcnQpCiAgIChhbmQgKG51bWJlcj8gcG9y dCkgKGV4YWN0PyBwb3J0KSAoaW50ZWdlcj8gcG9ydCkgKHBvc2l0aXZlPyBwb3J0KSkpCiAKLShk ZWZpbmUgKHZhbGlkYXRlLXVyaSBzY2hlbWUgdXNlcmluZm8gaG9zdCBwb3J0IHBhdGggcXVlcnkg ZnJhZ21lbnQpCisoZGVmaW5lKiAodmFsaWRhdGUtdXJpLXJlZmVyZW5jZSBzY2hlbWUgdXNlcmlu Zm8gaG9zdCBwb3J0IHBhdGggcXVlcnkgZnJhZ21lbnQKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICM6a2V5IHNjaGVtZT8gbm8tc2NoZW1lPyBuby1mcmFnbWVudD8KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChyZWxhdGl2ZS1wYXJ0PyAobm90IHNjaGVtZSkpKQog ICAoY29uZAotICAgKChub3QgKHN5bWJvbD8gc2NoZW1lKSkKKyAgICgoYW5kIHNjaGVtZSBuby1z Y2hlbWU/KQorICAgICh1cmktZXJyb3IgIkV4cGVjdGVkIG5vIHNjaGVtZTogfnMiIHNjaGVtZSkp CisgICAoKGFuZCAob3Igc2NoZW1lPyBzY2hlbWUpIChub3QgKHN5bWJvbD8gc2NoZW1lKSkpCiAg ICAgKHVyaS1lcnJvciAiRXhwZWN0ZWQgYSBzeW1ib2wgZm9yIHRoZSBVUkkgc2NoZW1lOiB+cyIg c2NoZW1lKSkKICAgICgoYW5kIChvciB1c2VyaW5mbyBwb3J0KSAobm90IGhvc3QpKQogICAgICh1 cmktZXJyb3IgIkV4cGVjdGVkIGEgaG9zdCwgZ2l2ZW4gdXNlcmluZm8gb3IgcG9ydCIpKQpAQCAt NzYsOSArMTI3LDQ1IEBACiAgICAgKHVyaS1lcnJvciAiRXhwZWN0ZWQgc3RyaW5nIGZvciB1c2Vy aW5mbzogfnMiIHVzZXJpbmZvKSkKICAgICgobm90IChzdHJpbmc/IHBhdGgpKQogICAgICh1cmkt ZXJyb3IgIkV4cGVjdGVkIHN0cmluZyBmb3IgcGF0aDogfnMiIHBhdGgpKQotICAgKChhbmQgaG9z dCAobm90IChzdHJpbmctbnVsbD8gcGF0aCkpCi0gICAgICAgICAobm90IChlcXY/IChzdHJpbmct cmVmIHBhdGggMCkgI1wvKSkpCi0gICAgKHVyaS1lcnJvciAiRXhwZWN0ZWQgcGF0aCBvZiBhYnNv bHV0ZSBVUkkgdG8gc3RhcnQgd2l0aCBhIC86IH5hIiBwYXRoKSkpKQorICAgKChhbmQgcXVlcnkg KG5vdCAoc3RyaW5nPyBxdWVyeSkpKQorICAgICh1cmktZXJyb3IgIkV4cGVjdGVkIHN0cmluZyBm b3IgcXVlcnk6IH5zIiBxdWVyeSkpCisgICAoKGFuZCBmcmFnbWVudCBuby1mcmFnbWVudD8pCisg ICAgKHVyaS1lcnJvciAiRXhwZWN0ZWQgbm8gZnJhZ21lbnQ6IH5zIiBmcmFnbWVudCkpCisgICAo KGFuZCBmcmFnbWVudCAobm90IChzdHJpbmc/IGZyYWdtZW50KSkpCisgICAgKHVyaS1lcnJvciAi RXhwZWN0ZWQgc3RyaW5nIGZvciBmcmFnbWVudDogfnMiIGZyYWdtZW50KSkKKyAgIDs7IFN0cmlj dCB2YWxpZGF0aW9uIG9mIGFsbG93ZWQgcGF0aHMsIGJhc2VkIG9uIG90aGVyIGNvbXBvbmVudHMu CisgICA7OyBSZWZlciB0byBSRkMgMzk4NiBmb3IgdGhlIGRldGFpbHMuCisgICAoKG5vdCAoc3Ry aW5nLW51bGw/IHBhdGgpKQorICAgIChpZiBob3N0CisgICAgICAgIChjb25kCisgICAgICAgICAo KG5vdCAoZXF2PyAoc3RyaW5nLXJlZiBwYXRoIDApICNcLykpCisgICAgICAgICAgKHVyaS1lcnJv cgorICAgICAgICAgICAiRXhwZWN0ZWQgYWJzb2x1dGUgcGF0aCBzdGFydGluZyB3aXRoIFwiL1wi OiB+YSIgcGF0aCkpKQorICAgICAgICAoY29uZAorICAgICAgICAgKChzdHJpbmctcHJlZml4PyAi Ly8iIHBhdGgpCisgICAgICAgICAgKHVyaS1lcnJvcgorICAgICAgICAgICAiRXhwZWN0ZWQgcGF0 aCBub3Qgc3RhcnRpbmcgd2l0aCBcIi8vXCIgKG5vIGhvc3QpOiB+YSIgcGF0aCkpCisgICAgICAg ICAoKGFuZCByZWxhdGl2ZS1wYXJ0PworICAgICAgICAgICAgICAgKG5vdCAoZXF2PyAoc3RyaW5n LXJlZiBwYXRoIDApICNcLykpCisgICAgICAgICAgICAgICAobGV0ICgoY29sb24gKHN0cmluZy1p bmRleCBwYXRoICNcOikpKQorICAgICAgICAgICAgICAgICAoYW5kIGNvbG9uIChub3QgKHN0cmlu Zy1pbmRleCBwYXRoICNcLyAwIGNvbG9uKSkpKSkKKyAgICAgICAgICAodXJpLWVycm9yCisgICAg ICAgICAgICJFeHBlY3RlZCByZWxhdGl2ZSBwYXRoJ3MgZmlyc3Qgc2VnbWVudCB3aXRob3V0IFwi OlwiOiB+YSIKKyAgICAgICAgICAgcGF0aCkpKSkpKSkKKworKGRlZmluZSAodmFsaWRhdGUtdXJp IHNjaGVtZSB1c2VyaW5mbyBob3N0IHBvcnQgcGF0aCBxdWVyeSBmcmFnbWVudCkKKyAgKHZhbGlk YXRlLXVyaS1yZWZlcmVuY2Ugc2NoZW1lIHVzZXJpbmZvIGhvc3QgcG9ydCBwYXRoIHF1ZXJ5IGZy YWdtZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICM6c2NoZW1lPyAjdCkpCisKKyhkZWZp bmUgKHZhbGlkYXRlLXJlbGF0aXZlLXJlZiBzY2hlbWUgdXNlcmluZm8gaG9zdCBwb3J0IHBhdGgg cXVlcnkgZnJhZ21lbnQpCisgICh2YWxpZGF0ZS11cmktcmVmZXJlbmNlIHNjaGVtZSB1c2VyaW5m byBob3N0IHBvcnQgcGF0aCBxdWVyeSBmcmFnbWVudAorICAgICAgICAgICAgICAgICAgICAgICAg ICAjOm5vLXNjaGVtZT8gI3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIzpyZWxhdGl2ZS1w YXJ0PyAjdCkpCisKKyhkZWZpbmUgKHZhbGlkYXRlLWFic29sdXRlLXVyaSBzY2hlbWUgdXNlcmlu Zm8gaG9zdCBwb3J0IHBhdGggcXVlcnkgZnJhZ21lbnQpCisgICh2YWxpZGF0ZS11cmktcmVmZXJl bmNlIHNjaGVtZSB1c2VyaW5mbyBob3N0IHBvcnQgcGF0aCBxdWVyeSBmcmFnbWVudAorICAgICAg ICAgICAgICAgICAgICAgICAgICAjOnNjaGVtZT8gI3QKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIzpuby1mcmFnbWVudD8gI3QpKQogCiAoZGVmaW5lKiAoYnVpbGQtdXJpIHNjaGVtZSAjOmtl eSB1c2VyaW5mbyBob3N0IHBvcnQgKHBhdGggIiIpIHF1ZXJ5IGZyYWdtZW50CiAgICAgICAgICAg ICAgICAgICAgICh2YWxpZGF0ZT8gI3QpKQpAQCAtOTEsNiArMTc4LDM4IEBAIGlzIHZhbGlkLiIK ICAgICAgICh2YWxpZGF0ZS11cmkgc2NoZW1lIHVzZXJpbmZvIGhvc3QgcG9ydCBwYXRoIHF1ZXJ5 IGZyYWdtZW50KSkKICAgKG1ha2UtdXJpIHNjaGVtZSB1c2VyaW5mbyBob3N0IHBvcnQgcGF0aCBx dWVyeSBmcmFnbWVudCkpCiAKKyhkZWZpbmUqIChidWlsZC11cmktcmVmZXJlbmNlICM6a2V5IHNj aGVtZSB1c2VyaW5mbyBob3N0IHBvcnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChw YXRoICIiKSBxdWVyeSBmcmFnbWVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZh bGlkYXRlPyAjdCkpCisgICJDb25zdHJ1Y3QgYSBVUkktcmVmZXJlbmNlIG9iamVjdC4gIEZpZWxk cyBhcmUgdGhlIHNhbWUgYXMgZm9yCivigJhidWlsZC11cmnigJkgZXhjZXB0IHRoYXQgU0NIRU1F IG1heSBhbHNvIGJlIOKAmCNm4oCZLiIKKyAgKGlmIHZhbGlkYXRlPworICAgICAgKHZhbGlkYXRl LXVyaS1yZWZlcmVuY2Ugc2NoZW1lIHVzZXJpbmZvIGhvc3QgcG9ydCBwYXRoIHF1ZXJ5IGZyYWdt ZW50KSkKKyAgKG1ha2UtdXJpIHNjaGVtZSB1c2VyaW5mbyBob3N0IHBvcnQgcGF0aCBxdWVyeSBm cmFnbWVudCkpCisKKyhkZWZpbmUqIChidWlsZC1yZWxhdGl2ZS1yZWYgIzprZXkgdXNlcmluZm8g aG9zdCBwb3J0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYXRoICIiKSBxdWVyeSBm cmFnbWVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsaWRhdGU/ICN0KSkKKyAg IkNvbnN0cnVjdCBhbiBhYnNvbHV0ZS1VUkkgb2JqZWN0LiAgRmllbGRzIGFyZSB0aGUgc2FtZSBh cyBmb3IKK+KAmGJ1aWxkLXVyaeKAmSBleGNlcHQgdGhlcmUgaXMgbm8gc2NoZW1lLiIKKyAgKGlm IHZhbGlkYXRlPworICAgICAgKHZhbGlkYXRlLXJlbGF0aXZlLXJlZiAjZiB1c2VyaW5mbyBob3N0 IHBvcnQgcGF0aCBxdWVyeSBmcmFnbWVudCkpCisgIChtYWtlLXVyaSAjZiB1c2VyaW5mbyBob3N0 IHBvcnQgcGF0aCBxdWVyeSBmcmFnbWVudCkpCisKKyhkZWZpbmUqIChidWlsZC1hYnNvbHV0ZS11 cmkgIzprZXkgc2NoZW1lIHVzZXJpbmZvIGhvc3QgcG9ydAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAocGF0aCAiIikgcXVlcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZh bGlkYXRlPyAjdCkpCisgICJDb25zdHJ1Y3QgYW4gYWJzb2x1dGUtVVJJIG9iamVjdC4gIEZpZWxk cyBhcmUgdGhlIHNhbWUgYXMgZm9yCivigJhidWlsZC11cmnigJkgZXhjZXB0IHRoZXJlIGlzIG5v IGZyYWdtZW50LiIKKyAgKGlmIHZhbGlkYXRlPworICAgICAgKHZhbGlkYXRlLWFic29sdXRlLXVy aSBzY2hlbWUgdXNlcmluZm8gaG9zdCBwb3J0IHBhdGggcXVlcnkgI2YpKQorICAobWFrZS11cmkg c2NoZW1lIHVzZXJpbmZvIGhvc3QgcG9ydCBwYXRoIHF1ZXJ5ICNmKSkKKworDAorOzs7Cis7Ozsg Q29udmVydGVycy4KKzs7OworCiA7OyBTZWUgUkZDIDM5ODYgIzMuMi4yIGZvciBjb21tZW50cyBv biBwZXJjZW50LWVuY29kaW5ncywgSUROQSAoUkZDCiA7OyAzNDkwKSwgYW5kIG5vbi1BU0NJSSBo b3N0IG5hbWVzLgogOzsKQEAgLTE3Myw5ICsyOTIsNyBAQCBpcyB2YWxpZC4iCiAoZGVmaW5lIHVy aS1yZWdleHAKICAgKG1ha2UtcmVnZXhwIHVyaS1wYXQpKQogCi0oZGVmaW5lIChzdHJpbmctPnVy aSogc3RyaW5nKQotICAiUGFyc2UgU1RSSU5HIGludG8gYSBVUkkgb2JqZWN0LiAgUmV0dXJuIOKA mCNm4oCZIGlmIHRoZSBzdHJpbmcKLWNvdWxkIG5vdCBiZSBwYXJzZWQuIgorKGRlZmluZSAoc3Ry aW5nLT51cmkqIHN0cmluZyB2YWxpZGF0ZSkKICAgKCUgKGxldCAoKG0gKHJlZ2V4cC1leGVjIHVy aS1yZWdleHAgc3RyaW5nKSkpCiAgICAgICAgKGlmIChub3QgbSkgKGFib3J0KSkKICAgICAgICAo bGV0ICgoc2NoZW1lIChsZXQgKChzdHIgKG1hdGNoOnN1YnN0cmluZyBtIDIpKSkKQEAgLTE5MCw2 ICszMDcsNyBAQCBjb3VsZCBub3QgYmUgcGFyc2VkLiIKICAgICAgICAgICAgICAgICAgICAocGFy c2UtYXV0aG9yaXR5IGF1dGhvcml0eSBhYm9ydCkKICAgICAgICAgICAgICAgICAgICAodmFsdWVz ICNmICNmICNmKSkpCiAgICAgICAgICAgIChsYW1iZGEgKHVzZXJpbmZvIGhvc3QgcG9ydCkKKyAg ICAgICAgICAgICAodmFsaWRhdGUgc2NoZW1lIHVzZXJpbmZvIGhvc3QgcG9ydCBwYXRoIHF1ZXJ5 IGZyYWdtZW50KQogICAgICAgICAgICAgIChtYWtlLXVyaSBzY2hlbWUgdXNlcmluZm8gaG9zdCBw b3J0IHBhdGggcXVlcnkgZnJhZ21lbnQpKSkpKQogICAgICAobGFtYmRhIChrKQogICAgICAgICNm KSkpCkBAIC0xOTcsOCArMzE1LDIyIEBAIGNvdWxkIG5vdCBiZSBwYXJzZWQuIgogKGRlZmluZSAo c3RyaW5nLT51cmkgc3RyaW5nKQogICAiUGFyc2UgU1RSSU5HIGludG8gYSBVUkkgb2JqZWN0LiAg UmV0dXJuIOKAmCNm4oCZIGlmIHRoZSBzdHJpbmcKIGNvdWxkIG5vdCBiZSBwYXJzZWQuIgotICAo bGV0ICgodXJpIChzdHJpbmctPnVyaSogc3RyaW5nKSkpCi0gICAgKGFuZCB1cmkgKHVyaS1zY2hl bWUgdXJpKSB1cmkpKSkKKyAgKHN0cmluZy0+dXJpKiBzdHJpbmcgdmFsaWRhdGUtdXJpKSkKKwor KGRlZmluZSAoc3RyaW5nLT51cmktcmVmZXJlbmNlIHN0cmluZykKKyAgIlBhcnNlIFNUUklORyBp bnRvIGEgVVJJLXJlZmVyZW5jZSBvYmplY3QuICBSZXR1cm4g4oCYI2bigJkgaWYgdGhlIHN0cmlu ZworY291bGQgbm90IGJlIHBhcnNlZC4iCisgIChzdHJpbmctPnVyaSogc3RyaW5nIHZhbGlkYXRl LXVyaS1yZWZlcmVuY2UpKQorCisoZGVmaW5lIChzdHJpbmctPnJlbGF0aXZlLXJlZiBzdHJpbmcp CisgICJQYXJzZSBTVFJJTkcgaW50byBhIHJlbGF0aXZlLXJlZiBvYmplY3QuICBSZXR1cm4g4oCY I2bigJkgaWYgdGhlIHN0cmluZworY291bGQgbm90IGJlIHBhcnNlZC4iCisgIChzdHJpbmctPnVy aSogc3RyaW5nIHZhbGlkYXRlLXJlbGF0aXZlLXJlZikpCisKKyhkZWZpbmUgKHN0cmluZy0+YWJz b2x1dGUtdXJpIHN0cmluZykKKyAgIlBhcnNlIFNUUklORyBpbnRvIGFuIGFic29sdXRlLVVSSSBv YmplY3QuICBSZXR1cm4g4oCYI2bigJkgaWYgdGhlIHN0cmluZworY291bGQgbm90IGJlIHBhcnNl ZC4iCisgIChzdHJpbmctPnVyaSogc3RyaW5nIHZhbGlkYXRlLWFic29sdXRlLXVyaSkpCiAKIChk ZWZpbmUgKmRlZmF1bHQtcG9ydHMqIChtYWtlLWhhc2gtdGFibGUpKQogCmRpZmYgLS1naXQgYS90 ZXN0LXN1aXRlL3Rlc3RzL3dlYi1odHRwLnRlc3QgYi90ZXN0LXN1aXRlL3Rlc3RzL3dlYi1odHRw LnRlc3QKaW5kZXggMjkxMzcyNC4uYjgzNjkyNiAxMDA2NDQKLS0tIGEvdGVzdC1zdWl0ZS90ZXN0 cy93ZWItaHR0cC50ZXN0CisrKyBiL3Rlc3Qtc3VpdGUvdGVzdHMvd2ViLWh0dHAudGVzdApAQCAt MSw2ICsxLDYgQEAKIDs7Ozsgd2ViLXVyaS50ZXN0IC0tLSBVUkkgbGlicmFyeSAgICAgICAgICAt Ki0gbW9kZTogc2NoZW1lOyBjb2Rpbmc6IHV0Zi04OyAtKi0KIDs7OzsKLTs7OzsgCUNvcHlyaWdo dCAoQykgMjAxMCwgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKzs7OzsgCUNv cHlyaWdodCAoQykgMjAxMCwgMjAxMSwgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KIDs7OzsKIDs7OzsgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcgogOzs7OyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBAIC0xMzIsMzIgKzEzMiwzMyBAQAogKHdpdGgt dGVzdC1wcmVmaXggInJlYWQtcmVxdWVzdC1saW5lIgogICAocGFzcy1pZi1yZWFkLXJlcXVlc3Qt bGluZSAiR0VUIC8gSFRUUC8xLjEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFVAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYnVpbGQtdXJpICdodHRwCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpwYXRoICIvIikKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGJ1aWxkLXVyaS1yZWZlcmVuY2UKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICM6cGF0aCAiLyIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIC4g MSkpCiAgIChwYXNzLWlmLXJlYWQtcmVxdWVzdC1saW5lICJHRVQgaHR0cDovL3d3dy53My5vcmcv cHViL1dXVy9UaGVQcm9qZWN0Lmh0bWwgSFRUUC8xLjEiCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEdFVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYnVpbGQtdXJpICdodHRw Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpob3N0ICJ3d3cudzMu b3JnIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6cGF0aCAiL3B1 Yi9XV1cvVGhlUHJvamVjdC5odG1sIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJ1 aWxkLXVyaS1yZWZlcmVuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6c2NoZW1l ICdodHRwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmhvc3QgInd3dy53My5vcmci CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOnBhdGggIi9wdWIvV1dXL1RoZVByb2pl Y3QuaHRtbCIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIC4gMSkpCiAgIChwYXNz LWlmLXJlYWQtcmVxdWVzdC1saW5lICJHRVQgL3B1Yi9XV1cvVGhlUHJvamVjdC5odG1sIEhUVFAv MS4xIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRVQKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGJ1aWxkLXVyaSAnaHR0cAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICM6cGF0aCAiL3B1Yi9XV1cvVGhlUHJvamVjdC5odG1sIikKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGJ1aWxkLXVyaS1yZWZlcmVuY2UKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICM6cGF0aCAiL3B1Yi9XV1cvVGhlUHJvamVjdC5odG1sIikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKDEgLiAxKSkKICAgKHBhc3MtaWYtcmVhZC1yZXF1ZXN0 LWxpbmUgIkhFQUQgL2V0Yy9ob3N0cz9mb289YmFyIEhUVFAvMS4xIgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBIRUFECi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidWlsZC11 cmkgJ2h0dHAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOnBhdGgg Ii9ldGMvaG9zdHMiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpx dWVyeSAiZm9vPWJhciIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidWlsZC11cmkt cmVmZXJlbmNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOnBhdGggIi9ldGMvaG9z dHMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOnF1ZXJ5ICJmb289YmFyIikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgLiAxKSkpCiAKICh3aXRoLXRlc3QtcHJlZml4 ICJ3cml0ZS1yZXF1ZXN0LWxpbmUiCiAgIChwYXNzLWlmLXdyaXRlLXJlcXVlc3QtbGluZSAiR0VU IC8gSFRUUC8xLjEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRVQKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChidWlsZC11cmkgJ2h0dHAKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIzpwYXRoICIvIikKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChidWlsZC11cmktcmVmZXJlbmNlCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIzpwYXRoICIvIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIC4gMSkp CiAgIDs7OyBGSVhNRTogVGVzdCBmYWlscyBkdWUgdG8gc2NoZW1lLCBob3N0IGFsd2F5cyBiZWlu ZyByZW1vdmVkLgogICA7OzsgSG93ZXZlciwgaXQgc2hvdWxkIGJlIHN1cHBvcnRlZCB0byByZXF1 ZXN0IHRoZXNlIGJlIHByZXNlbnQsIGFuZApAQCAtMTcwLDE0ICsxNzEsMTQgQEAKICAgOzsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICgxIC4gMSkpCiAgIChwYXNzLWlmLXdyaXRlLXJlcXVl c3QtbGluZSAiR0VUIC9wdWIvV1dXL1RoZVByb2plY3QuaHRtbCBIVFRQLzEuMSIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEdFVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGJ1aWxkLXVyaSAnaHR0cAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjOnBhdGggIi9wdWIvV1dXL1RoZVByb2plY3QuaHRtbCIpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoYnVpbGQtdXJpLXJlZmVyZW5jZQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICM6cGF0aCAiL3B1Yi9XV1cvVGhlUHJvamVjdC5odG1sIikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgxIC4gMSkpCiAgIChwYXNzLWlmLXdyaXRlLXJlcXVlc3QtbGluZSAi SEVBRCAvZXRjL2hvc3RzP2Zvbz1iYXIgSFRUUC8xLjEiCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBIRUFECi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYnVpbGQtdXJpICdo dHRwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6cGF0aCAiL2V0 Yy9ob3N0cyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpxdWVy eSAiZm9vPWJhciIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYnVpbGQtdXJpLXJl ZmVyZW5jZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6cGF0aCAiL2V0Yy9ob3N0 cyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOnF1ZXJ5ICJmb289YmFyIikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIC4gMSkpKQogCiAod2l0aC10ZXN0LXByZWZp eCAicmVhZC1yZXNwb25zZS1saW5lIgpAQCAtMjUyLDYgKzI1MywxMiBAQAogICAocGFzcy1pZi1w YXJzZSBjb250ZW50LWxlbmd0aCAiMDEwIiAxMCkKICAgKHBhc3MtaWYtcGFyc2UgY29udGVudC1s b2NhdGlvbiAiaHR0cDovL2Zvby8iCiAgICAgICAgICAgICAgICAgIChidWlsZC11cmkgJ2h0dHAg Izpob3N0ICJmb28iICM6cGF0aCAiLyIpKQorICAocGFzcy1pZi1wYXJzZSBjb250ZW50LWxvY2F0 aW9uICIvL2Zvby8iCisgICAgICAgICAgICAgICAgIChidWlsZC11cmktcmVmZXJlbmNlICM6aG9z dCAiZm9vIiAjOnBhdGggIi8iKSkKKyAgKHBhc3MtaWYtcGFyc2UgY29udGVudC1sb2NhdGlvbiAi L2V0Yy9mb28iCisgICAgICAgICAgICAgICAgIChidWlsZC11cmktcmVmZXJlbmNlICM6cGF0aCAi L2V0Yy9mb28iKSkKKyAgKHBhc3MtaWYtcGFyc2UgY29udGVudC1sb2NhdGlvbiAiZm9vIgorICAg ICAgICAgICAgICAgICAoYnVpbGQtdXJpLXJlZmVyZW5jZSAjOnBhdGggImZvbyIpKQogICAocGFz cy1pZi1wYXJzZSBjb250ZW50LXJhbmdlICJieXRlcyAxMC0yMC8qIiAnKGJ5dGVzICgxMCAuIDIw KSAqKSkKICAgKHBhc3MtaWYtcGFyc2UgY29udGVudC1yYW5nZSAiYnl0ZXMgKi8qIiAnKGJ5dGVz ICogKikpCiAgIChwYXNzLWlmLXBhcnNlIGNvbnRlbnQtcmFuZ2UgImJ5dGVzICovMzAiICcoYnl0 ZXMgKiAzMCkpCkBAIC0zMTksNiArMzI2LDE0IEBACiAgIChwYXNzLWlmLXBhcnNlIHJhbmdlICJi eXRlcz0tMjAsLTMwIiAnKGJ5dGVzICgjZiAuIDIwKSAoI2YgLiAzMCkpKQogICAocGFzcy1pZi1w YXJzZSByZWZlcmVyICJodHRwOi8vZm9vL2Jhcj9iYXoiCiAgICAgICAgICAgICAgICAgIChidWls ZC11cmkgJ2h0dHAgIzpob3N0ICJmb28iICM6cGF0aCAiL2JhciIgIzpxdWVyeSAiYmF6IikpCisg IChwYXNzLWlmLXBhcnNlIHJlZmVyZXIgIi8vZm9vL2Jhcj9iYXoiCisgICAgICAgICAgICAgICAg IChidWlsZC11cmktcmVmZXJlbmNlICM6aG9zdCAiZm9vIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjOnBhdGggIi9iYXIiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICM6cXVlcnkgImJheiIpKQorICAocGFzcy1pZi1wYXJzZSByZWZlcmVyICIv ZXRjL2ZvbyIKKyAgICAgICAgICAgICAgICAgKGJ1aWxkLXVyaS1yZWZlcmVuY2UgIzpwYXRoICIv ZXRjL2ZvbyIpKQorICAocGFzcy1pZi1wYXJzZSByZWZlcmVyICJmb28iCisgICAgICAgICAgICAg ICAgIChidWlsZC11cmktcmVmZXJlbmNlICM6cGF0aCAiZm9vIikpCiAgIChwYXNzLWlmLXBhcnNl IHRlICJ0cmFpbGVycyIgJygodHJhaWxlcnMpKSkKICAgKHBhc3MtaWYtcGFyc2UgdGUgInRyYWls ZXJzLGZvbyIgJygodHJhaWxlcnMpIChmb28pKSkKICAgKHBhc3MtaWYtcGFyc2UgdXNlci1hZ2Vu dCAiZ3VpbGUiICJndWlsZSIpKQpAQCAtMzMzLDYgKzM0OCw5IEBACiAgIChwYXNzLWlmLXBhcnNl IGV0YWcgIlcvXCJmb29cIiIgJygiZm9vIiAuICNmKSkKICAgKHBhc3MtaWYtcGFyc2UgbG9jYXRp b24gImh0dHA6Ly9vdGhlci1wbGFjZSIKICAgICAgICAgICAgICAgICAgKGJ1aWxkLXVyaSAnaHR0 cCAjOmhvc3QgIm90aGVyLXBsYWNlIikpCisgIChwYXNzLWlmLWFueS1lcnJvciBsb2NhdGlvbiAi Ly9vdGhlci1wbGFjZSIpCisgIChwYXNzLWlmLWFueS1lcnJvciBsb2NhdGlvbiAiL2V0Yy9mb28i KQorICAocGFzcy1pZi1hbnktZXJyb3IgbG9jYXRpb24gImZvbyIpCiAgIChwYXNzLWlmLXBhcnNl IHByb3h5LWF1dGhlbnRpY2F0ZSAiQmFzaWMgcmVhbG09XCJndWlsZVwiIgogICAgICAgICAgICAg ICAgICAnKChiYXNpYyAocmVhbG0gLiAiZ3VpbGUiKSkpKQogICAocGFzcy1pZi1wYXJzZSByZXRy eS1hZnRlciAiVHVlLCAxNSBOb3YgMTk5NCAwODoxMjozMSBHTVQiCmRpZmYgLS1naXQgYS90ZXN0 LXN1aXRlL3Rlc3RzL3dlYi1yZXF1ZXN0LnRlc3QgYi90ZXN0LXN1aXRlL3Rlc3RzL3dlYi1yZXF1 ZXN0LnRlc3QKaW5kZXggOGNmMWMyZS4uNjg3MjFkMyAxMDA2NDQKLS0tIGEvdGVzdC1zdWl0ZS90 ZXN0cy93ZWItcmVxdWVzdC50ZXN0CisrKyBiL3Rlc3Qtc3VpdGUvdGVzdHMvd2ViLXJlcXVlc3Qu dGVzdApAQCAtMSw2ICsxLDYgQEAKIDs7Ozsgd2ViLXJlcXVlc3QudGVzdCAtLS0gSFRUUCByZXF1 ZXN0cyAgICAgICAtKi0gbW9kZTogc2NoZW1lOyBjb2Rpbmc6IHV0Zi04OyAtKi0KIDs7OzsKLTs7 OzsgCUNvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KKzs7OzsgCUNvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwgMjAxMyBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KIDs7OzsKIDs7OzsgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogOzs7OyBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBAIC01Myw3ICs1Myw4IEBA IEFjY2VwdC1MYW5ndWFnZTogZW4tZ2IsIGVuO3E9MC45XHIKICAgICAKICAgICAocGFzcy1pZiAo ZXF1YWw/IChyZXF1ZXN0LW1ldGhvZCByKSAnR0VUKSkKICAgICAKLSAgICAocGFzcy1pZiAoZXF1 YWw/IChyZXF1ZXN0LXVyaSByKSAoYnVpbGQtdXJpICdodHRwICM6cGF0aCAiL3F1eCIpKSkKKyAg ICAocGFzcy1pZiAoZXF1YWw/IChyZXF1ZXN0LXVyaSByKQorICAgICAgICAgICAgICAgICAgICAg KGJ1aWxkLXVyaS1yZWZlcmVuY2UgIzpwYXRoICIvcXV4IikpKQogICAgIAogICAgIChwYXNzLWlm IChlcXVhbD8gKHJlYWQtcmVxdWVzdC1ib2R5IHIpICNmKSkKIApkaWZmIC0tZ2l0IGEvdGVzdC1z dWl0ZS90ZXN0cy93ZWItdXJpLnRlc3QgYi90ZXN0LXN1aXRlL3Rlc3RzL3dlYi11cmkudGVzdApp bmRleCAzZjZlN2UzLi4yMWQ4MDQ0IDEwMDY0NAotLS0gYS90ZXN0LXN1aXRlL3Rlc3RzL3dlYi11 cmkudGVzdAorKysgYi90ZXN0LXN1aXRlL3Rlc3RzL3dlYi11cmkudGVzdApAQCAtMSw2ICsxLDYg QEAKIDs7Ozsgd2ViLXVyaS50ZXN0IC0tLSBVUkkgbGlicmFyeSAgICAgICAgICAtKi0gbW9kZTog c2NoZW1lOyBjb2Rpbmc6IHV0Zi04OyAtKi0KIDs7OzsKLTs7OzsgCUNvcHlyaWdodCAoQykgMjAx MCwgMjAxMSwgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKzs7OzsgCUNvcHly aWdodCAoQykgMjAxMCwgMjAxMSwgMjAxMiwgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KIDs7OzsKIDs7OzsgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgogOzs7OyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBAIC0yNyw3ICsyNyw3IEBACiAKIAogKGRl ZmluZSogKHVyaT0/IHVyaSAjOmtleSBzY2hlbWUgdXNlcmluZm8gaG9zdCBwb3J0IHBhdGggcXVl cnkgZnJhZ21lbnQpCi0gIChhbmQgKHVyaT8gdXJpKQorICAoYW5kICh1cmktcmVmZXJlbmNlPyB1 cmkpCiAgICAgICAgKGVxdWFsPyAodXJpLXNjaGVtZSB1cmkpIHNjaGVtZSkKICAgICAgICAoZXF1 YWw/ICh1cmktdXNlcmluZm8gdXJpKSB1c2VyaW5mbykKICAgICAgICAoZXF1YWw/ICh1cmktaG9z dCB1cmkpIGhvc3QpCkBAIC0xMjMsNiArMTIzLDIyIEBACiAgICAgICAgICAgICAgICAgICAgICAg ICAgIkV4cGVjdGVkLipob3N0IgogICAgICAgICAgICAgICAgICAgICAgICAgIChidWlsZC11cmkg J2h0dHAgIzp1c2VyaW5mbyAiZm9vIikpKQogCisod2l0aC10ZXN0LXByZWZpeCAiYnVpbGQtdXJp LXJlZmVyZW5jZSIKKyAgKHBhc3MtaWYgIi8vaG9zdC9ldGMvZm9vIgorICAgICh1cmk9PyAoYnVp bGQtdXJpLXJlZmVyZW5jZSAjOmhvc3QgImhvc3QiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICM6cGF0aCAiL2V0Yy9mb28iKQorICAgICAgICAgICAjOmhvc3QgImhvc3QiCisgICAg ICAgICAgICM6cGF0aCAiL2V0Yy9mb28iKSkKKworICAocGFzcy1pZiAiL3BhdGgvdG8vc29tZS9m b28/cXVlcnkiCisgICAgKHVyaT0/IChidWlsZC11cmktcmVmZXJlbmNlICM6cGF0aCAiL3BhdGgv dG8vc29tZS9mb28iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6cXVlcnkgInF1 ZXJ5IikKKyAgICAgICAgICAgIzpwYXRoICIvcGF0aC90by9zb21lL2ZvbyIKKyAgICAgICAgICAg IzpxdWVyeSAicXVlcnkiKSkKKworICAocGFzcy1pZiAibmV4dGRvYy9mb28iCisgICAgKHVyaT0/ IChidWlsZC11cmktcmVmZXJlbmNlICM6cGF0aCAibmV4dGRvYy9mb28iKQorICAgICAgICAgICAj OnBhdGggIm5leHRkb2MvZm9vIikpKQogCiAod2l0aC10ZXN0LXByZWZpeCAic3RyaW5nLT51cmki CiAgIChwYXNzLWlmICJmdHA6IgpAQCAtMjEyLDYgKzIyOCwzMCBAQAogICAgICAgICAgICAjOnNj aGVtZSAnZmlsZQogICAgICAgICAgICAjOnBhdGggIi9ldGMvaG9zdHMiKSkpCiAKKyh3aXRoLXRl c3QtcHJlZml4ICJzdHJpbmctPnVyaS1yZWZlcmVuY2UiCisgIChwYXNzLWlmICIvIgorICAgICh1 cmk9PyAoc3RyaW5nLT51cmktcmVmZXJlbmNlICIvIikKKyAgICAgICAgICAgIzpwYXRoICIvIikp CisKKyAgKHBhc3MtaWYgIi9wYXRoL3RvL2ZvbyIKKyAgICAodXJpPT8gKHN0cmluZy0+dXJpLXJl ZmVyZW5jZSAiL3BhdGgvdG8vZm9vIikKKyAgICAgICAgICAgIzpwYXRoICIvcGF0aC90by9mb28i KSkKKworICAocGFzcy1pZiAiLy9leGFtcGxlLm9yZyIKKyAgICAodXJpPT8gKHN0cmluZy0+dXJp LXJlZmVyZW5jZSAiLy9leGFtcGxlLm9yZyIpCisgICAgICAgICAgICM6aG9zdCAiZXhhbXBsZS5v cmciCisgICAgICAgICAgICM6cGF0aCAiIikpCisKKyAgKHBhc3MtaWYgIi8vYmFyQGV4YW1wbGUu b3JnL3BhdGgvdG8vZm9vIgorICAgICh1cmk9PyAoc3RyaW5nLT51cmktcmVmZXJlbmNlICIvL2Jh ckBleGFtcGxlLm9yZy9wYXRoL3RvL2ZvbyIpCisgICAgICAgICAgICM6dXNlcmluZm8gImJhciIK KyAgICAgICAgICAgIzpob3N0ICJleGFtcGxlLm9yZyIKKyAgICAgICAgICAgIzpwYXRoICIvcGF0 aC90by9mb28iKSkKKworICAocGFzcy1pZiAibmV4dGRvYy9mb28iCisgICAgKHVyaT0/IChzdHJp bmctPnVyaS1yZWZlcmVuY2UgIm5leHRkb2MvZm9vIikKKyAgICAgICAgICAgIzpwYXRoICJuZXh0 ZG9jL2ZvbyIpKSkKKwogKHdpdGgtdGVzdC1wcmVmaXggInVyaS0+c3RyaW5nIgogICAocGFzcy1p ZiAiZnRwOiIKICAgICAoZXF1YWw/ICJmdHA6IgpAQCAtMjQ4LDcgKzI4OCwyNyBAQAogICAKICAg KHBhc3MtaWYgImh0dHA6Ly9mb286LyIKICAgICAoZXF1YWw/ICJodHRwOi8vZm9vLyIKLSAgICAg ICAgICAgICh1cmktPnN0cmluZyAoc3RyaW5nLT51cmkgImh0dHA6Ly9mb286LyIpKSkpKQorICAg ICAgICAgICAgKHVyaS0+c3RyaW5nIChzdHJpbmctPnVyaSAiaHR0cDovL2ZvbzovIikpKSkKKwor ICAocGFzcy1pZiAiLyIKKyAgICAoZXF1YWw/ICIvIgorICAgICAgICAgICAgKHVyaS0+c3RyaW5n IChzdHJpbmctPnVyaS1yZWZlcmVuY2UgIi8iKSkpKQorCisgIChwYXNzLWlmICIvcGF0aC90by9m b28iCisgICAgKGVxdWFsPyAiL3BhdGgvdG8vZm9vIgorICAgICAgICAgICAgKHVyaS0+c3RyaW5n IChzdHJpbmctPnVyaS1yZWZlcmVuY2UgIi9wYXRoL3RvL2ZvbyIpKSkpCisKKyAgKHBhc3MtaWYg Ii8vZXhhbXBsZS5vcmciCisgICAgKGVxdWFsPyAiLy9leGFtcGxlLm9yZyIKKyAgICAgICAgICAg ICh1cmktPnN0cmluZyAoc3RyaW5nLT51cmktcmVmZXJlbmNlICIvL2V4YW1wbGUub3JnIikpKSkK KworICAocGFzcy1pZiAiLy9iYXJAZXhhbXBsZS5vcmcvcGF0aC90by9mb28iCisgICAgKGVxdWFs PyAiLy9iYXJAZXhhbXBsZS5vcmcvcGF0aC90by9mb28iCisgICAgICAgICAgICAodXJpLT5zdHJp bmcgKHN0cmluZy0+dXJpLXJlZmVyZW5jZSAiLy9iYXJAZXhhbXBsZS5vcmcvcGF0aC90by9mb28i KSkpKQorCisgIChwYXNzLWlmICJuZXh0ZG9jL2ZvbyIKKyAgICAoZXF1YWw/ICJuZXh0ZG9jL2Zv byIKKyAgICAgICAgICAgICh1cmktPnN0cmluZyAoc3RyaW5nLT51cmktcmVmZXJlbmNlICJuZXh0 ZG9jL2ZvbyIpKSkpKQogCiAod2l0aC10ZXN0LXByZWZpeCAiZGVjb2RlIgogICAocGFzcy1pZiAi Zm9vJTIwYmFyIgotLSAKMS43LjEwLjQKCg== --14dae9340b4561428d04d80b87d2--