From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:8:6d80::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id RNLTNam/amDmYQAAgWs5BA (envelope-from ) for ; Mon, 05 Apr 2021 09:43:37 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id yCfHL6m/amCWNwAAB5/wlQ (envelope-from ) for ; Mon, 05 Apr 2021 07:43:37 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 061211D3A5 for ; Mon, 5 Apr 2021 09:43:36 +0200 (CEST) Received: from localhost ([::1]:42576 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTJtX-0004oh-HR for larch@yhetil.org; Mon, 05 Apr 2021 03:43:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33626) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTJtA-0004oI-3x for emacs-orgmode@gnu.org; Mon, 05 Apr 2021 03:43:12 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:36528) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lTJt7-0002AH-LV for emacs-orgmode@gnu.org; Mon, 05 Apr 2021 03:43:11 -0400 Received: by mail-wr1-x42c.google.com with SMTP id x15so981768wrq.3 for ; Mon, 05 Apr 2021 00:43:09 -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; bh=Y5XBiM4z3I+zkXT9srfX4PrSZvFBQMHLOrmtzKWbHQQ=; b=W2XHBXBn+B3hAKVSUiqO8hGUfg9IJ5XtyByGHQWVy/zbi7FPQkFhMqPtwUOAcN64zg fvv/ZwgEAl2WyPMl4qpo4qH2+oFK2fyquWlyBaJS05E1GNF6X3AgdwjvJ2ajk1pE5qAa 74HU6/sxyVNsyQdKaPuWU6B0RnoeB3VtBroQWov0A66RpRe11KNdHXxYhKlc5JvI/L2K RyHZTGGAPHdWKFVTrhrDXTlHwrwwYgZP/e7w4eJIPhgHO/BhQI3FbwOoCYHC0cjESf6A vtyfleQ7BeCZX85QK2NvSBcpbvSvBBMjpKK963HzSY4f7+jX7sGyAwGfOz9J2SWYSFRG UD9A== 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; bh=Y5XBiM4z3I+zkXT9srfX4PrSZvFBQMHLOrmtzKWbHQQ=; b=liTTvc67len9BiltnsVrTqbb4ZyVepZDIKW1r8FUcSeoYHaDu+o1m4A/NIqjhjrayF 8jZ8WZopGcO0FOrNg/vyvo5sSysZQSlzwL1IAivvBgl1z8roaz+gae08sGxysqvEIsIu CZlnx4ESynW/nI4BbpkcGvYTmYL4lf2Y45RLY7KBw4qq6okwgG9VCDeiNHLuCuUrcjOn 434xAi9AIk4xk3CldcK5fe0iEv/c+KwHxdmcu3/jjZhFO2TKbSI9Eybs00jp6IFr0YZU nxl0s/YsnTIlKhVwJsdCfF+Dy/jw77a3+ewGGdpE0K7VXVczFHHaJjxu4SCcdJ/qKkRn QNDQ== X-Gm-Message-State: AOAM533GTn9HiNif15CYZUdCZwQIBhzmM2nMUc2MsNsAt223qaNsEiWF fu74pHX5Y1TQSZdb4jQJLOU3pd9kiOnDo9zshaX8Shjs X-Google-Smtp-Source: ABdhPJwSDfD6VmYOaGUTJ44CTOuqXmGcZENCA6ALpzVFIYqmNKeF22LoEErwz27hedfA2TQNsnJXBUcf/QLiF7mUX2I= X-Received: by 2002:a05:6000:10c3:: with SMTP id b3mr27685612wrx.96.1617608587616; Mon, 05 Apr 2021 00:43:07 -0700 (PDT) MIME-Version: 1.0 References: <877dlmhuu9.fsf@nicolasgoaziou.fr> <877dlhod94.fsf@nicolasgoaziou.fr> In-Reply-To: From: Tom Gillespie Date: Mon, 5 Apr 2021 00:42:55 -0700 Message-ID: Subject: Re: Bug: inconsistent escaping of coderef regexp To: emacs-orgmode Content-Type: multipart/mixed; boundary="00000000000040408205bf34d9ad" Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=tgbugs@gmail.com; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.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_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1617608617; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=Y5XBiM4z3I+zkXT9srfX4PrSZvFBQMHLOrmtzKWbHQQ=; b=K8Jxj8k+sgPgFcxSZ4ZXQdvJcYHasqWauqmGMJ8WQdeZccKckt3CYdySZxZLFx1cdJp45q h2m23bYedifXRZxnPCtMgKTjYmeaRXEWIUkny078AOPpwS8532r2g0jIOqNsOQxYV1bC+e z0w0l4DUMhFJKjKqUX9fKj9u+JccUXatHhpGH734wYamcfkdkWh4DfwtOCtdvvgMb12ShS RPkmc6evBS/eryY/FzN+y7WWJ+1BtgIK2mtwbZ37o9AFhbXD0l3JqzHPAv7d4TJtt8Eowl UL8MmhlFH3xpuhhbDZeWhvXWMX8wN4s8pbAUACX3qF9T2qeSrU1lugxni1xRqg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1617608617; a=rsa-sha256; cv=none; b=Mze3WryQvFb9ZkLy8FLNE7TMcA9xHV4UvMdVhffj5/QksrOIU5Mdy7ANgsEOOwdDeigHkV evjIMLuhIalSZ5GkBx5sbU6EgcrkoOzB05hC9yadmOLwZVZWGQyiWGCvTtaVQoV87kzaWd nM/SCCfbrRumDNnK8KDUeiBnt9iUij/05Qwcm31cE8krvvnALrKXLnWAjc2sLo2lvkvqfI o9U8yfQGKhhp3kL9R41ChSNyjxe7Qgbdsee+hQFHYzecYn4KcZ5qTZoCREM1HDgu4Yp5qJ Uja76Vg5L59ouD9x3wRRY2sAGMACDjGgcLsHNAmYb9XBqeDE6tzOhA/k0sj9hg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=W2XHBXBn; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Spam-Score: -2.04 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=W2XHBXBn; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Queue-Id: 061211D3A5 X-Spam-Score: -2.04 X-Migadu-Scanner: scn0.migadu.com X-TUID: LynLaSpn8/q+ --00000000000040408205bf34d9ad Content-Type: text/plain; charset="UTF-8" Missed removing a debug message. Here is the correct patch. Best, Tom On Sun, Apr 4, 2021 at 10:22 PM Tom Gillespie wrote: > > Hi Nicolas, > I've attached a patch with a first pass implementation that I think > resolves most of the issues. It probably needs a few tests to go along > with it, but I think it is the simplest way forward. I tried to make the > changes without disrupting the org-babel info structure, but it comes > with the cost of having to pull out :coderef-prefix in a number of separate > contexts. Best, > Tom > > > If possible, I'd like not to conflate current issue with switches > > deprecation, which needs to be discussed separately. > > We can decouple them, so not an issue. The attached patch implements > the header arg equivalents of -r and -l without making any changes to the > existing switch behavior. > > > What do you mean by "it is impossible for the user to specify their own > > coderef regexp that can be used in both cases"? In particular, what is > > a coderef regexp in this context? I know about coderef format, but > > I don't think users are supposed to provide a regexp here. > > I did a first pass implementation and realized that allowing users to > specify coderef-regexp is a bad idea. The attached patch fixes the > divergent behavior of org-bable-tangle-single-block and provides a > standard way to specify a :coderef-prefix regexp so that empty > comments can be stripped. --00000000000040408205bf34d9ad Content-Type: text/x-patch; charset="US-ASCII"; name="0001-improve-org-src-coderef-regexp-and-regularize-usage.patch" Content-Disposition: attachment; filename="0001-improve-org-src-coderef-regexp-and-regularize-usage.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kn4adk2o0 RnJvbSA5MWFhMTBhNWExNDczN2I3NzBlNThiMWE3ZjlmMGUwYjU2M2RhZTYyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUb20gR2lsbGVzcGllIDx0Z2J1Z3NAZ21haWwuY29tPgpEYXRl OiBTdW4sIDQgQXByIDIwMjEgMjE6NDA6MzIgLTA3MDAKU3ViamVjdDogW1BBVENIXSBpbXByb3Zl IG9yZy1zcmMtY29kZXJlZi1yZWdleHAgYW5kIHJlZ3VsYXJpemUgdXNhZ2UKCiogbGlzcC9vYi1j b3JlLmVsCm9yZy1iYWJlbC1jb21tb24taGVhZGVyLWFyZ3Mtdy12YWx1ZXM6IG5ldyA6Y29kZXJl Zi0gaGVhZGVyIGFyZ3MKb3JnLWJhYmVsLXNhZmUtaGVhZGVyLWFyZ3M6IGluY2x1ZGUgdGhlIG5l dyA6Y29kZXJlZi0gaGVhZGVyIGFyZ3MKKG9yZy1iYWJlbC1nZXQtc3JjLWJsb2NrLWluZm8pOiBj YWx1bGF0ZSBwYXJhbXMgYmVmb3JlIGluZm8gaW4gbGV0KiBzbwp0aGF0IHRoZXkgY2FuIGJlIHVz ZWQgdG8gc2V0IHRoZSBjb2RlcmVmLWZvcm1hdCBmaWVsZCAobnRoIDYgaW5mbykKKG9yZy1iYWJl bC0tZXhwYW5kLWJvZHkpOiB1c2UgY29kZXJlZi1wcmVmaXggdG8gY29ycmVjdGx5IHN0cmlwCmNv ZGVyZWZzIHdoZW4gZXhwYW5kaW5nCgoqIGxpc3Avb2ItdGFuZ2xlLmVsIChvcmItYmFiZWwtdGFu Z2xlLXNpbmdsZS1ibG9jayk6IFJlZ3VsYXJpemUKYmVoYXZpb3Igd2hlbiByZW1vdmluZyBjb2Rl cmVmcyBkdXJpbmcgdGFuZ2xpbmcuIFRoaXMgZml4ZXMgYW4gaXNzdWUKd2hlcmUgdHJhaWxpbmcg d2hpdGVzcGFjZSB3b3VsZCBiZSByZXRhaW5lZCB3aGVuIGNvZGVyZWZzIHdlcmUgcmVtb3ZlZApm b3IgdGFuZ2xpbmcuIE1ha2UgdGhlIGhlYWRlciBhcmd1bWVudCA6Y29kZXJlZi10YW5nbGUgbm8g d29yayB0aGUKc2FtZSB3YXkgdGhhdCB0aGUgLXIgc3dpdGNoIGN1cnJlbnRseSB3b3JrcwoKKiBs aXNwL29sLmVsIChvcmctbGluay1zZWFyY2gpOiB1c2Ugb3JnIGJhYmVsIGluZm8gdG8gbWF0Y2gg dGhlCmNvZGVyZWYgZm9ybWF0IGZvciBlYWNoIGJsb2NrCgoqIGxpc3Avb3JnLXNyYy5lbCAob3Jn LXNyYy1jb2RlcmVmLXJlZ2V4cCk6IG5vdyB0YWtlcyBhbiBhZGRpdGlvbmFsCmFyZ3VtZW50IHJ4 LXByZWZpeCB0aGF0IGNhbiBiZSB1c2VkIHRvIGN1c3RvbWl6ZSB0aGUgdGV4dCBwcmVjZWVkaW5n CnRoZSBjb2RlcmVmIHRoYXQgc2hvdWxkIGJlIHJlbW92ZWQgZHVyaW5nIHRhbmdsaW5nLCB0aGlz IGlzIG1vc3QKdXNlZnVsIGZvciByZW1vdmluZyBjb21tZW50cyBhbmQgdHJhaWxpbmcgd2hpdGVz cGFjZS4KCiogbGlzcC9veC5lbCAob3JnLWV4cG9ydC1yZXNvbHZlLWNvZGVyZWYpCmFuZCAob3Jn LWV4cG9ydC11bnJhdmVsLWNvZGUpOiB1c2Ugb3JnIGJhYmVsIGluZm8gdG8KY29ycmVjdGx5IG1h dGNoIHRoZSBjb2RlcmVmIGZvcm1hdCBmb3IgZWFjaCBibG9jay4KClRoaXMgY29tbWl0IGFkZHMg c3VwcG9ydCBmb3IgdGhyZWUgbmV3IHNyYyBibG9jayBoZWFkZXIgYXJndW1lbnRzLAo6Y29kZXJl Zi1mb3JtYXQgOmNvZGVyZWYtcHJlZml4IGFuZCA6Y29kZXJlZi10YW5nbGUuIDpjb2RlcmVmLWZv cm1hdApoYXMgdGhlIHNhbWUgYmVoYXZpb3IgaGFzIHRoZSBvcmcgc3JjIHN3aXRjaCAtbCBhbmQg OmNvZGVyZWYtdGFuZ2xlCmhhcyB0aGUgc2FtZSBiZWhhdmlvciBhcyBvcmcgc3JjIHN3aXRjaCAt ci4gOmNvZGVyZWYtcHJlZml4IHByb3ZpZGVzCm5ldyBmdW5jdGlvbmFsaXR5IGFuZCBtYWtlcyBp dCBwb3NzaWJsZSB0byBzZXQgdGhlIHJlZ2V4cCBmb3IgdGV4dApsZWFkaW5nIHVwIHRvIHRoZSBj b2RlcmVmLiBJbiBwYXJ0aWN1bGFyIHRoaXMgY2FuIGJlIHVzZWQgdG8gc3RyaXAKY29tbWVudHMs IHdoaWNoIGFyZSByZXF1aXJlZCBpZiBhdXRob3JpbmcgYW4gb3JnIGZpbGUgdGhhdCB3b3JrcyB3 aXRoCm9sZGVyIHZlcnNpb25zIG9mIG9yZy4KLS0tCiBsaXNwL29iLWNvcmUuZWwgICB8IDQzICsr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIGxpc3Avb2ItdGFuZ2xl LmVsIHwgMTcgKysrKysrKysrKy0tLS0tLS0KIGxpc3Avb2wuZWwgICAgICAgIHwgMTcgKysrKysr KysrKystLS0tLS0KIGxpc3Avb3JnLXNyYy5lbCAgIHwgIDUgKysrLS0KIGxpc3Avb3guZWwgICAg ICAgIHwgMTUgKysrKysrKysrKystLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMo KyksIDM3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3Avb2ItY29yZS5lbCBiL2xpc3Av b2ItY29yZS5lbAppbmRleCAyZTc4YWMzZTYuLmZlYjZmMjIzNSAxMDA2NDQKLS0tIGEvbGlzcC9v Yi1jb3JlLmVsCisrKyBiL2xpc3Avb2ItY29yZS5lbApAQCAtNzYsNyArNzYsNyBAQAogKGRlY2xh cmUtZnVuY3Rpb24gb3JnLXByZXZpb3VzLWJsb2NrICJvcmciIChhcmcgJm9wdGlvbmFsIGJsb2Nr LXJlZ2V4cCkpCiAoZGVjbGFyZS1mdW5jdGlvbiBvcmctc2hvdy1jb250ZXh0ICJvcmciICgmb3B0 aW9uYWwga2V5KSkKIChkZWNsYXJlLWZ1bmN0aW9uIG9yZy1zcmMtY29kZXJlZi1mb3JtYXQgIm9y Zy1zcmMiICgmb3B0aW9uYWwgZWxlbWVudCkpCi0oZGVjbGFyZS1mdW5jdGlvbiBvcmctc3JjLWNv ZGVyZWYtcmVnZXhwICJvcmctc3JjIiAoZm10ICZvcHRpb25hbCBsYWJlbCkpCisoZGVjbGFyZS1m dW5jdGlvbiBvcmctc3JjLWNvZGVyZWYtcmVnZXhwICJvcmctc3JjIiAoZm10ICZvcHRpb25hbCBs YWJlbCByeC1wcmVmaXgpKQogKGRlY2xhcmUtZnVuY3Rpb24gb3JnLXNyYy1nZXQtbGFuZy1tb2Rl ICJvcmctc3JjIiAobGFuZykpCiAoZGVjbGFyZS1mdW5jdGlvbiBvcmctdGFibGUtYWxpZ24gIm9y Zy10YWJsZSIgKCkpCiAoZGVjbGFyZS1mdW5jdGlvbiBvcmctdGFibGUtY29udmVydC1yZWdpb24g Im9yZy10YWJsZSIgKGJlZzAgZW5kMCAmb3B0aW9uYWwgc2VwYXJhdG9yKSkKQEAgLTM5Miw2ICsz OTIsOSBAQCB0aGVuIHJ1biBgb3JnLWJhYmVsLXN3aXRjaC10by1zZXNzaW9uJy4iCiAoZGVmY29u c3Qgb3JnLWJhYmVsLWNvbW1vbi1oZWFkZXItYXJncy13LXZhbHVlcwogICAnKChjYWNoZQkuICgo bm8geWVzKSkpCiAgICAgKGNtZGxpbmUJLiA6YW55KQorICAgIChjb2RlcmVmLWZvcm1hdCAuIDph bnkpCisgICAgKGNvZGVyZWYtcHJlZml4IC4gOmFueSkKKyAgICAoY29kZXJlZi10YW5nbGUgLiAo KG5pbCB5ZXMgbm8pKSkKICAgICAoY29sbmFtZXMJLiAoKG5pbCBubyB5ZXMpKSkKICAgICAoY29t bWVudHMJLiAoKG5vIGxpbmsgeWVzIG9yZyBib3RoIG5vd2ViKSkpCiAgICAgKGRpcgkuIDphbnkp CkBAIC00MzQsNyArNDM3LDggQEAgTm90ZSB0aGF0IGluZGl2aWR1YWwgbGFuZ3VhZ2VzIG1heSBk ZWZpbmUgdGhlaXIgb3duIGxhbmd1YWdlCiBzcGVjaWZpYyBoZWFkZXIgYXJndW1lbnRzIGFzIHdl bGwuIikKIAogKGRlZmNvbnN0IG9yZy1iYWJlbC1zYWZlLWhlYWRlci1hcmdzCi0gICcoOmNhY2hl IDpjb2xuYW1lcyA6Y29tbWVudHMgOmV4cG9ydHMgOmVwaWxvZ3VlIDpobGluZXMgOm5vZXZhbAor ICAnKDpjYWNoZSA6Y29kZXJlZi1mb3JtYXQgOmNvZGVyZWYtcHJlZml4IDpjb2RlcmVmLXRhbmds ZQorICAgICAgICAgICA6Y29sbmFtZXMgOmNvbW1lbnRzIDpleHBvcnRzIDplcGlsb2d1ZSA6aGxp bmVzIDpub2V2YWwKIAkgICA6bm93ZWIgOm5vd2ViLXJlZiA6bm93ZWItc2VwIDpwYWRsaW5lIDpw cm9sb2d1ZSA6cm93bmFtZXMKIAkgICA6c2VwIDpzZXNzaW9uIDp0YW5nbGUgOndyYXAKIAkgICAo OmV2YWwgLiAoIm5ldmVyIiAicXVlcnkiKSkKQEAgLTYwNywyOSArNjExLDMxIEBAIGEgbGlzdCB3 aXRoIHRoZSBmb2xsb3dpbmcgcGF0dGVybjoKIAkgICAgIChsYW5nLWhlYWRlcnMgKGludGVybgog CQkJICAgIChjb25jYXQgIm9yZy1iYWJlbC1kZWZhdWx0LWhlYWRlci1hcmdzOiIgbGFuZykpKQog CSAgICAgKG5hbWUgKG9yZy1lbGVtZW50LXByb3BlcnR5IDpuYW1lIGRhdHVtKSkKKyAgICAgICAg ICAgICAocGFyYW1zIChhcHBseSAjJ29yZy1iYWJlbC1tZXJnZS1wYXJhbXMKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoaWYgaW5saW5lIG9yZy1iYWJlbC1kZWZhdWx0LWlubGluZS1oZWFk ZXItYXJncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JnLWJhYmVsLWRlZmF1bHQt aGVhZGVyLWFyZ3MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoYm91bmRwIGxh bmctaGVhZGVycykgKGV2YWwgbGFuZy1oZWFkZXJzIHQpKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChhcHBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgSWYgREFUVU0g aXMgcHJvdmlkZWQsIG1ha2Ugc3VyZSB3ZSBnZXQgbm9kZQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA7OyBwcm9wZXJ0aWVzIGFwcGxpY2FibGUgdG8gaXRzIGxvY2F0aW9uIHdpdGhpbgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyB0aGUgZG9jdW1lbnQuCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChvcmctd2l0aC1wb2ludC1hdCAob3JnLWVsZW1lbnQtcHJvcGVy dHkgOmJlZ2luIGRhdHVtKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcmctYmFi ZWwtcGFyYW1zLWZyb20tcHJvcGVydGllcyBsYW5nIGxpZ2h0KSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKG1hcGNhciAobGFtYmRhIChoKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKG9yZy1iYWJlbC1wYXJzZS1oZWFkZXItYXJndW1lbnRzIGggbGlnaHQp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zIChvcmctZWxlbWVu dC1wcm9wZXJ0eSA6cGFyYW1ldGVycyBkYXR1bSkKKwkJCQkgICAgICAgICAgIChvcmctZWxlbWVu dC1wcm9wZXJ0eSA6aGVhZGVyIGRhdHVtKSkpKSkpCiAJICAgICAoaW5mbwogCSAgICAgIChsaXN0 CiAJICAgICAgIGxhbmcKIAkgICAgICAgKG9yZy1iYWJlbC0tbm9ybWFsaXplLWJvZHkgZGF0dW0p Ci0JICAgICAgIChhcHBseSAjJ29yZy1iYWJlbC1tZXJnZS1wYXJhbXMKLQkJICAgICAgKGlmIGlu bGluZSBvcmctYmFiZWwtZGVmYXVsdC1pbmxpbmUtaGVhZGVyLWFyZ3MKLQkJCW9yZy1iYWJlbC1k ZWZhdWx0LWhlYWRlci1hcmdzKQotCQkgICAgICAoYW5kIChib3VuZHAgbGFuZy1oZWFkZXJzKSAo ZXZhbCBsYW5nLWhlYWRlcnMgdCkpCi0JCSAgICAgIChhcHBlbmQKLQkJICAgICAgIDs7IElmIERB VFVNIGlzIHByb3ZpZGVkLCBtYWtlIHN1cmUgd2UgZ2V0IG5vZGUKLQkJICAgICAgIDs7IHByb3Bl cnRpZXMgYXBwbGljYWJsZSB0byBpdHMgbG9jYXRpb24gd2l0aGluCi0JCSAgICAgICA7OyB0aGUg ZG9jdW1lbnQuCi0JCSAgICAgICAob3JnLXdpdGgtcG9pbnQtYXQgKG9yZy1lbGVtZW50LXByb3Bl cnR5IDpiZWdpbiBkYXR1bSkKLQkJCSAob3JnLWJhYmVsLXBhcmFtcy1mcm9tLXByb3BlcnRpZXMg bGFuZyBsaWdodCkpCi0JCSAgICAgICAobWFwY2FyIChsYW1iZGEgKGgpCi0JCQkJIChvcmctYmFi ZWwtcGFyc2UtaGVhZGVyLWFyZ3VtZW50cyBoIGxpZ2h0KSkKLQkJCSAgICAgICAoY29ucyAob3Jn LWVsZW1lbnQtcHJvcGVydHkgOnBhcmFtZXRlcnMgZGF0dW0pCi0JCQkJICAgICAob3JnLWVsZW1l bnQtcHJvcGVydHkgOmhlYWRlciBkYXR1bSkpKSkpCisgICAgICAgICAgICAgICBwYXJhbXMKIAkg ICAgICAgKG9yIChvcmctZWxlbWVudC1wcm9wZXJ0eSA6c3dpdGNoZXMgZGF0dW0pICIiKQogCSAg ICAgICBuYW1lCiAJICAgICAgIChvcmctZWxlbWVudC1wcm9wZXJ0eSAoaWYgaW5saW5lIDpiZWdp biA6cG9zdC1hZmZpbGlhdGVkKQogCQkJCSAgICAgZGF0dW0pCi0JICAgICAgIChhbmQgKG5vdCBp bmxpbmUpIChvcmctc3JjLWNvZGVyZWYtZm9ybWF0IGRhdHVtKSkpKSkKKwkgICAgICAgKGFuZCAo bm90IGlubGluZSkgKG9yIChjZHIgKGFzc3EgOmNvZGVyZWYtZm9ybWF0IHBhcmFtcykpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yZy1zcmMtY29kZXJlZi1mb3JtYXQg ZGF0dW0pKSkpKSkKIAkodW5sZXNzIGxpZ2h0CiAJICAoc2V0ZiAobnRoIDIgaW5mbykgKG9yZy1i YWJlbC1wcm9jZXNzLXBhcmFtcyAobnRoIDIgaW5mbykpKSkKIAkoc2V0ZiAobnRoIDIgaW5mbykg KG9yZy1iYWJlbC1nZW5lcmF0ZS1maWxlLXBhcmFtIG5hbWUgKG50aCAyIGluZm8pKSkKQEAgLTYz OCwxMyArNjQ0LDE0IEBAIGEgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgcGF0dGVybjoKIChkZWZ1 biBvcmctYmFiZWwtLWV4cGFuZC1ib2R5IChpbmZvKQogICAiRXhwYW5kIG5vd2ViIHJlZmVyZW5j ZXMgaW4gYm9keSBhbmQgcmVtb3ZlIGFueSBjb2RlcmVmcy4iCiAgIChsZXQgKChjb2RlcmVmIChu dGggNiBpbmZvKSkKKyAgICAgICAgKGNvZGVyZWYtcHJlZml4IChjZHIgKGFzc3EgOmNvZGVyZWYt cHJlZml4IChudGggMiBpbmZvKSkpKQogCShleHBhbmQKIAkgKGlmIChvcmctYmFiZWwtbm93ZWIt cCAobnRoIDIgaW5mbykgOmV2YWwpCiAJICAgICAob3JnLWJhYmVsLWV4cGFuZC1ub3dlYi1yZWZl cmVuY2VzIGluZm8pCiAJICAgKG50aCAxIGluZm8pKSkpCiAgICAgKGlmIChub3QgY29kZXJlZikg ZXhwYW5kCiAgICAgICAocmVwbGFjZS1yZWdleHAtaW4tc3RyaW5nCi0gICAgICAgKG9yZy1zcmMt Y29kZXJlZi1yZWdleHAgY29kZXJlZikgIiIgZXhwYW5kIG5pbCBuaWwgMSkpKSkKKyAgICAgICAo b3JnLXNyYy1jb2RlcmVmLXJlZ2V4cCBjb2RlcmVmIG5pbCBjb2RlcmVmLXByZWZpeCkgIiIgZXhw YW5kIG5pbCBuaWwgMSkpKSkKIAogKGRlZnVuIG9yZy1iYWJlbC0tZmlsZS1kZXNjIChwYXJhbXMg cmVzdWx0KQogICAiUmV0cmlldmUgZmlsZSBkZXNjcmlwdGlvbi4iCmRpZmYgLS1naXQgYS9saXNw L29iLXRhbmdsZS5lbCBiL2xpc3Avb2ItdGFuZ2xlLmVsCmluZGV4IGFhMDM3M2FiOC4uNjljNDEy ZTA2IDEwMDY0NAotLS0gYS9saXNwL29iLXRhbmdsZS5lbAorKysgYi9saXNwL29iLXRhbmdsZS5l bApAQCAtNDE0LDEwICs0MTQsMTMgQEAgbm9uLW5pbCwgcmV0dXJuIHRoZSBmdWxsIGFzc29jaWF0 aW9uIGxpc3QgdG8gYmUgdXNlZCBieQogCSAoc3JjLWxhbmcgKG50aCAwIGluZm8pKQogCSAocGFy YW1zIChudGggMiBpbmZvKSkKIAkgKGV4dHJhIChudGggMyBpbmZvKSkKLQkgKGNyZWYtZm10IChv ciAoYW5kIChzdHJpbmctbWF0Y2ggIi1sIFwiXFwoLitcXClcIiIgZXh0cmEpCi0JCQkgICAgKG1h dGNoLXN0cmluZyAxIGV4dHJhKSkKLQkJICAgICAgIG9yZy1jb2RlcmVmLWxhYmVsLWZvcm1hdCkp Ci0JIChsaW5rIChsZXQgKChsIChvcmctbm8tcHJvcGVydGllcyAob3JnLXN0b3JlLWxpbmsgbmls KSkpKQorCSAoY29kZXJlZiAobnRoIDYgaW5mbykpCisgICAgICAgICAoY3JlZi1yZWdleHAgKG9y Zy1zcmMtY29kZXJlZi1yZWdleHAKKyAgICAgICAgICAgICAgICAgICAgICAgKG9yIGNvZGVyZWYK KyAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZy1jb2RlcmVmLWxhYmVsLWZvcm1hdCkKKyAg ICAgICAgICAgICAgICAgICAgICAgbmlsCisgICAgICAgICAgICAgICAgICAgICAgIChjZHIgKGFz c3EgOmNvZGVyZWYtcHJlZml4IHBhcmFtcykpKSkKKyAgICAgICAgIChsaW5rIChsZXQgKChsIChv cmctbm8tcHJvcGVydGllcyAob3JnLXN0b3JlLWxpbmsgbmlsKSkpKQogICAgICAgICAgICAgICAg ICAoYW5kIChzdHJpbmctbWF0Y2ggb3JnLWxpbmstYnJhY2tldC1yZSBsKQogICAgICAgICAgICAg ICAgICAgICAgIChtYXRjaC1zdHJpbmcgMSBsKSkpKQogCSAoc291cmNlLW5hbWUKQEAgLTQ0Mywx MCArNDQ2LDEwIEBAIG5vbi1uaWwsIHJldHVybiB0aGUgZnVsbCBhc3NvY2lhdGlvbiBsaXN0IHRv IGJlIHVzZWQgYnkKIAkJICAgICAgKG9yZy1iYWJlbC1leHBhbmQtYm9keTpnZW5lcmljCiAJCSAg ICAgICBib2R5IHBhcmFtcyAoYW5kIChmYm91bmRwIGFzc2lnbm1lbnRzLWNtZCkKIAkJCQkJKGZ1 bmNhbGwgYXNzaWdubWVudHMtY21kIHBhcmFtcykpKSkpKQotCSAgICAgICh3aGVuIChzdHJpbmct bWF0Y2ggIi1yIiBleHRyYSkKKwkgICAgICAod2hlbiAob3IgKHN0cmluZz0gKGNkciAoYXNzcSA6 Y29kZXJlZi10YW5nbGUgcGFyYW1zKSkgIm5vIikKKyAgICAgICAgICAgICAgICAgICAgICAgIChz dHJpbmctbWF0Y2ggIi1yIiBleHRyYSkpCiAJCShnb3RvLWNoYXIgKHBvaW50LW1pbikpCi0JCSh3 aGlsZSAocmUtc2VhcmNoLWZvcndhcmQKLQkJCShyZXBsYWNlLXJlZ2V4cC1pbi1zdHJpbmcgIiVz IiAiLisiIGNyZWYtZm10KSBuaWwgdCkKKwkJKHdoaWxlIChyZS1zZWFyY2gtZm9yd2FyZCBjcmVm LXJlZ2V4cCBuaWwgdCkKIAkJICAocmVwbGFjZS1tYXRjaCAiIikpKQogCSAgICAgIChydW4taG9v a3MgJ29yZy1iYWJlbC10YW5nbGUtYm9keS1ob29rKQogCSAgICAgIChidWZmZXItc3RyaW5nKSkp KQpkaWZmIC0tZ2l0IGEvbGlzcC9vbC5lbCBiL2xpc3Avb2wuZWwKaW5kZXggYjhiZDdkMjM0Li5l MmUzN2JhNmQgMTAwNjQ0Ci0tLSBhL2xpc3Avb2wuZWwKKysrIGIvbGlzcC9vbC5lbApAQCAtNDQs NiArNDQsNyBAQAogKGRlY2xhcmUtZnVuY3Rpb24gY2FsZW5kYXItY3Vyc29yLXRvLWRhdGUgImNh bGVuZGFyIiAoJm9wdGlvbmFsIGVycm9yIGV2ZW50KSkKIChkZWNsYXJlLWZ1bmN0aW9uIGRpcmVk LWdldC1maWxlbmFtZSAiZGlyZWQiICgmb3B0aW9uYWwgbG9jYWxwIG5vLWVycm9yLWlmLW5vdC1m aWxlcCkpCiAoZGVjbGFyZS1mdW5jdGlvbiBvcmctYXQtaGVhZGluZy1wICJvcmciICgmb3B0aW9u YWwgXykpCisoZGVjbGFyZS1mdW5jdGlvbiBvcmctYmFiZWwtZ2V0LXNyYy1ibG9jay1pbmZvICJv Yi1jb3JlIiAoJm9wdGlvbmFsIGxpZ2h0IGRhdHVtKSkKIChkZWNsYXJlLWZ1bmN0aW9uIG9yZy1i YWNrLXRvLWhlYWRpbmcgIm9yZyIgKCZvcHRpb25hbCBpbnZpc2libGUtb2spKQogKGRlY2xhcmUt ZnVuY3Rpb24gb3JnLWJlZm9yZS1maXJzdC1oZWFkaW5nLXAgIm9yZyIgKCkpCiAoZGVjbGFyZS1m dW5jdGlvbiBvcmctZG8tb2NjdXIgIm9yZyIgKHJlZ2V4cCAmb3B0aW9uYWwgY2xlYW51cCkpCkBA IC03MSw3ICs3Miw3IEBACiAoZGVjbGFyZS1mdW5jdGlvbiBvcmctcnVuLWxpa2UtaW4tb3JnLW1v ZGUgIm9yZyIgKGNtZCkpCiAoZGVjbGFyZS1mdW5jdGlvbiBvcmctc2hvdy1jb250ZXh0ICJvcmci ICgmb3B0aW9uYWwga2V5KSkKIChkZWNsYXJlLWZ1bmN0aW9uIG9yZy1zcmMtY29kZXJlZi1mb3Jt YXQgIm9yZy1zcmMiICgmb3B0aW9uYWwgZWxlbWVudCkpCi0oZGVjbGFyZS1mdW5jdGlvbiBvcmct c3JjLWNvZGVyZWYtcmVnZXhwICJvcmctc3JjIiAoZm10ICZvcHRpb25hbCBsYWJlbCkpCisoZGVj bGFyZS1mdW5jdGlvbiBvcmctc3JjLWNvZGVyZWYtcmVnZXhwICJvcmctc3JjIiAoZm10ICZvcHRp b25hbCBsYWJlbCByeC1wcmVmaXgpKQogKGRlY2xhcmUtZnVuY3Rpb24gb3JnLXNyYy1lZGl0LWJ1 ZmZlci1wICJvcmctc3JjIiAoJm9wdGlvbmFsIGJ1ZmZlcikpCiAoZGVjbGFyZS1mdW5jdGlvbiBv cmctc3JjLXNvdXJjZS1idWZmZXIgIm9yZy1zcmMiICgpKQogKGRlY2xhcmUtZnVuY3Rpb24gb3Jn LXNyYy1zb3VyY2UtdHlwZSAib3JnLXNyYyIgKCkpCkBAIC0xMTQ1LDEwICsxMTQ2LDEyIEBAIG9m IG1hdGNoZWQgcmVzdWx0LCB3aGljaCBpcyBlaXRoZXIgYGRlZGljYXRlZCcgb3IgYGZ1enp5Jy4i CiAJICAgIChsZXQgKChlbGVtZW50IChvcmctZWxlbWVudC1hdC1wb2ludCkpKQogCSAgICAgICh3 aGVuIChhbmQgKG1lbXEgKG9yZy1lbGVtZW50LXR5cGUgZWxlbWVudCkKIAkJCSAgICAgICAnKGV4 YW1wbGUtYmxvY2sgc3JjLWJsb2NrKSkKLQkJCSAob3JnLW1hdGNoLWxpbmUKLQkJCSAgKGNvbmNh dCAiLio/IiAob3JnLXNyYy1jb2RlcmVmLXJlZ2V4cAotCQkJCQkgKG9yZy1zcmMtY29kZXJlZi1m b3JtYXQgZWxlbWVudCkKLQkJCQkJIGNvZGVyZWYpKSkpCisgICAgICAgICAgICAgICAgICAgICAg ICAgKGxldCAoKGluZm8gKG9yZy1iYWJlbC1nZXQtc3JjLWJsb2NrLWluZm8gbmlsIGVsZW1lbnQp KSkKKwkJCSAgIChvcmctbWF0Y2gtbGluZQorCQkJICAgIChjb25jYXQgIi4qPyIgKG9yZy1zcmMt Y29kZXJlZi1yZWdleHAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobnRoIDYgaW5mbykKKwkJCQkJICAgY29kZXJlZgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChjZHIgKGFzc3EgOmNvZGVyZWYtcHJlZml4IChudGggMiBpbmZv KSkpKSkpKSkKIAkJKHNldHEgdHlwZSAnZGVkaWNhdGVkKQogCQkoZ290by1jaGFyIChtYXRjaC1i ZWdpbm5pbmcgMikpCiAJCSh0aHJvdyA6Y29kZXJlZi1tYXRjaCBuaWwpKSkpCkBAIC0xNTIzLDcg KzE1MjYsOSBAQCBub24tbmlsLiIKIAkgICA7OyBBIGNvZGUgcmVmZXJlbmNlIGV4aXN0cy4gIFVz ZSBpdC4KIAkgICAoKHNhdmUtZXhjdXJzaW9uCiAJICAgICAgKGJlZ2lubmluZy1vZi1saW5lKQot CSAgICAgIChyZS1zZWFyY2gtZm9yd2FyZCAob3JnLXNyYy1jb2RlcmVmLXJlZ2V4cCBjb2RlcmVm LWZvcm1hdCkKKwkgICAgICAocmUtc2VhcmNoLWZvcndhcmQgKG9yZy1zcmMtY29kZXJlZi1yZWdl eHAgY29kZXJlZi1mb3JtYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG5pbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcngtcHJlZml4KQogCQkJCSAobGluZS1lbmQtcG9zaXRp b24pCiAJCQkJIHQpKQogCSAgICAoc2V0cSBsaW5rIChmdW5jYWxsIGZvcm1hdC1saW5rIChtYXRj aC1zdHJpbmctbm8tcHJvcGVydGllcyAzKSkpKQpkaWZmIC0tZ2l0IGEvbGlzcC9vcmctc3JjLmVs IGIvbGlzcC9vcmctc3JjLmVsCmluZGV4IDIwYWNlZTRlNi4uYjAxMTlkZGJjIDEwMDY0NAotLS0g YS9saXNwL29yZy1zcmMuZWwKKysrIGIvbGlzcC9vcmctc3JjLmVsCkBAIC04NjgsNyArODY4LDcg QEAgdG8gdGhlIHJlbW90ZSBzb3VyY2UgYmxvY2suIgogICAgKChvcmctZWxlbWVudC1wcm9wZXJ0 eSA6bGFiZWwtZm10IChvcmctZWxlbWVudC1hdC1wb2ludCkpKQogICAgKHQgb3JnLWNvZGVyZWYt bGFiZWwtZm9ybWF0KSkpCiAKLShkZWZ1biBvcmctc3JjLWNvZGVyZWYtcmVnZXhwIChmbXQgJm9w dGlvbmFsIGxhYmVsKQorKGRlZnVuIG9yZy1zcmMtY29kZXJlZi1yZWdleHAgKGZtdCAmb3B0aW9u YWwgbGFiZWwgcngtcHJlZml4KQogICAiUmV0dXJuIHJlZ2V4cCBtYXRjaGluZyBhIGNvZGVyZWYg Zm9ybWF0IHN0cmluZyBGTVQuCiAKIFdoZW4gb3B0aW9uYWwgYXJndW1lbnQgTEFCRUwgaXMgbm9u LW5pbCwgbWF0Y2ggY29kZXJlZiBmb3IgdGhhdApAQCAtODc5LDcgKzg3OSw4IEBAIHdoaXRlIHNw YWNlcy4gIE1hdGNoIGdyb3VwIDIgY29udGFpbnMgdGhlIHNhbWUgc3RyaW5nIHdpdGhvdXQgYW55 CiBzdXJyb3VuZGluZyBzcGFjZS4gIE1hdGNoIGdyb3VwIDMgY29udGFpbnMgdGhlIGxhYmVsLgog CiBBIGNvZGVyZWYgZm9ybWF0IHJlZ2V4cCBjYW4gb25seSBtYXRjaCBhdCB0aGUgZW5kIG9mIGEg bGluZS4iCi0gIChmb3JtYXQgIlxcKFsgXHRdKlxcKCVzXFwpWyBcdF0qXFwpJCIKKyAgKGZvcm1h dCAiXFwoJXNcXCglc1xcKVsgXHRdKlxcKSQiCisgICAgICAgICAgKG9yIHJ4LXByZWZpeCAiWyBc dF0qIikKIAkgIChyZXBsYWNlLXJlZ2V4cC1pbi1zdHJpbmcKIAkgICAiJXMiCiAJICAgKGlmIGxh YmVsIChyZWdleHAtcXVvdGUgbGFiZWwpICJcXChbLWEtekEtWjAtOV9dWy1hLXpBLVowLTlfIF0q XFwpIikKZGlmZiAtLWdpdCBhL2xpc3Avb3guZWwgYi9saXNwL294LmVsCmluZGV4IGY3MDViYzgz YS4uZDhmMzE5OTBhIDEwMDY0NAotLS0gYS9saXNwL294LmVsCisrKyBiL2xpc3Avb3guZWwKQEAg LTc4LDggKzc4LDkgQEAKIChyZXF1aXJlICdvcmctbWFjcm8pCiAocmVxdWlyZSAndGFidWxhdGVk LWxpc3QpCiAKKyhkZWNsYXJlLWZ1bmN0aW9uIG9yZy1iYWJlbC1nZXQtc3JjLWJsb2NrLWluZm8g Im9iLWNvcmUiICgmb3B0aW9uYWwgbGlnaHQgZGF0dW0pKQogKGRlY2xhcmUtZnVuY3Rpb24gb3Jn LXNyYy1jb2RlcmVmLWZvcm1hdCAib3JnLXNyYyIgKCZvcHRpb25hbCBlbGVtZW50KSkKLShkZWNs YXJlLWZ1bmN0aW9uIG9yZy1zcmMtY29kZXJlZi1yZWdleHAgIm9yZy1zcmMiIChmbXQgJm9wdGlv bmFsIGxhYmVsKSkKKyhkZWNsYXJlLWZ1bmN0aW9uIG9yZy1zcmMtY29kZXJlZi1yZWdleHAgIm9y Zy1zcmMiIChmbXQgJm9wdGlvbmFsIGxhYmVsIHJ4LXByZWZpeCkpCiAoZGVjbGFyZS1mdW5jdGlv biBvcmctcHVibGlzaCAib3gtcHVibGlzaCIgKHByb2plY3QgJm9wdGlvbmFsIGZvcmNlIGFzeW5j KSkKIChkZWNsYXJlLWZ1bmN0aW9uIG9yZy1wdWJsaXNoLWFsbCAib3gtcHVibGlzaCIgKCZvcHRp b25hbCBmb3JjZSBhc3luYykpCiAoZGVjbGFyZS1mdW5jdGlvbiBvcmctcHVibGlzaC1jdXJyZW50 LWZpbGUgIm94LXB1Ymxpc2giICgmb3B0aW9uYWwgZm9yY2UgYXN5bmMpKQpAQCAtNDIxMyw5ICs0 MjE0LDEyIEBAIGVycm9yIGlmIG5vIGJsb2NrIGNvbnRhaW5zIFJFRi4iCiAJKGxhbWJkYSAoZWwp CiAJICAod2l0aC10ZW1wLWJ1ZmZlcgogCSAgICAoaW5zZXJ0IChvcmctdHJpbSAob3JnLWVsZW1l bnQtcHJvcGVydHkgOnZhbHVlIGVsKSkpCi0JICAgIChsZXQqICgobGFiZWwtZm10IChvciAob3Jn LWVsZW1lbnQtcHJvcGVydHkgOmxhYmVsLWZtdCBlbCkKKwkgICAgKGxldCogKChvYi1pbmZvIChv cmctYmFiZWwtZ2V0LXNyYy1ibG9jay1pbmZvIG5pbCBlbCkpCisgICAgICAgICAgICAgICAgICAg KGxhYmVsLWZtdCAob3IgKG50aCA2IG9iLWluZm8pCiAJCQkJICBvcmctY29kZXJlZi1sYWJlbC1m b3JtYXQpKQotCQkgICAocmVmLXJlIChvcmctc3JjLWNvZGVyZWYtcmVnZXhwIGxhYmVsLWZtdCBy ZWYpKSkKKwkJICAgKHJlZi1yZSAob3JnLXNyYy1jb2RlcmVmLXJlZ2V4cCBsYWJlbC1mbXQKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNkciAoYXNz cSA6Y29kZXJlZi1wcmVmaXggKG50aCAyIG9iLWluZm8pKSkpKSkKIAkgICAgICA7OyBFbGVtZW50 IGNvbnRhaW5pbmcgUkVGIGlzIGZvdW5kLiAgUmVzb2x2ZSBpdCB0bwogCSAgICAgIDs7IGVpdGhl ciBhIGxhYmVsIG9yIGEgbGluZSBudW1iZXIsIGFzIG5lZWRlZC4KIAkgICAgICAod2hlbiAocmUt c2VhcmNoLWJhY2t3YXJkIHJlZi1yZSBuaWwgdCkKQEAgLTQ2MjcsNyArNDYzMSwxMCBAQCByZWZl cmVuY2Ugb24gdGhhdCBsaW5lIChzdHJpbmcpLiIKIAkJICAgIHZhbHVlCiAJCSAgKG9yZy1yZW1v dmUtaW5kZW50YXRpb24gdmFsdWUpKSkpCiAJIDs7IEJ1aWxkIGEgcmVnZXhwIG1hdGNoaW5nIGEg bG9jIHdpdGggYSByZWZlcmVuY2UuCi0JIChyZWYtcmUgKG9yZy1zcmMtY29kZXJlZi1yZWdleHAg KG9yZy1zcmMtY29kZXJlZi1mb3JtYXQgZWxlbWVudCkpKSkKKyAgICAgICAgIChvYi1pbmZvIChv cmctYmFiZWwtZ2V0LXNyYy1ibG9jay1pbmZvIG5pbCBlbGVtZW50KSkKKwkgKHJlZi1yZSAob3Jn LXNyYy1jb2RlcmVmLXJlZ2V4cCAobnRoIDYgb2ItaW5mbykKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbmlsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChjZHIgKGFzc3EgOmNvZGVyZWYtcHJlZml4IChudGggMiBvYi1pbmZvKSkpKSkp CiAgICAgOzsgUmV0dXJuIHZhbHVlLgogICAgIChjb25zCiAgICAgIDs7IENvZGUgd2l0aCByZWZl cmVuY2VzIHJlbW92ZWQuCi0tIAoyLjI2LjMKCg== --00000000000040408205bf34d9ad--