From user-return-454-apmail-phoenix-user-archive=phoenix.apache.org@phoenix.incubator.apache.org Thu Apr 3 23:26:14 2014 Return-Path: X-Original-To: apmail-phoenix-user-archive@minotaur.apache.org Delivered-To: apmail-phoenix-user-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5289C118EB for ; Thu, 3 Apr 2014 23:26:14 +0000 (UTC) Received: (qmail 76876 invoked by uid 500); 3 Apr 2014 23:26:13 -0000 Delivered-To: apmail-phoenix-user-archive@phoenix.apache.org Received: (qmail 76842 invoked by uid 500); 3 Apr 2014 23:26:13 -0000 Mailing-List: contact user-help@phoenix.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@phoenix.incubator.apache.org Delivered-To: mailing list user@phoenix.incubator.apache.org Received: (qmail 76834 invoked by uid 99); 3 Apr 2014 23:26:13 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 Apr 2014 23:26:13 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of ykim@crunchyroll.com designates 209.85.212.180 as permitted sender) Received: from [209.85.212.180] (HELO mail-wi0-f180.google.com) (209.85.212.180) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 Apr 2014 23:26:06 +0000 Received: by mail-wi0-f180.google.com with SMTP id q5so262076wiv.7 for ; Thu, 03 Apr 2014 16:25:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=mPnxt0/HVAXFdr7w0/8ilfa3bKk28efyViw7/yP7A7s=; b=XaVAQ7g5gFjEijVjfM33g7gbYiDf0LbxcMPP3vvvEI1RNtUjuEhRcXz/CSPwjN1AT7 pOOEo66EfDaY2+FPyGB60c/7d+tiFinSiD2/5HHipbDW0q4Tc1sNxofTy87ZjIsfvBpP cp4Bal9ObX/+tPfyFvMlwGPNB3C+KGr8g9Htpp1NX29rjoElL2ZTYIsGSaJNMe4oUPZz gogH9E79qpgdWICrtbbOXQcx5a66+BrPPxaPJhv5RzCPydKKrXwSB+eRlspVsKS8pvWx yx8qJwSARHWddmfhTh+btb3PaBwBs959XDPjPjrRY6jqxUG2nl2RWUre/gLqo1D439AU d+OA== X-Gm-Message-State: ALoCoQmlyA8PTsbpRs57fZ7SzljAvts35zss+l8EznbnqmVJbOOh9YD/JpRnlAndTOvook3b8WVx MIME-Version: 1.0 X-Received: by 10.194.94.39 with SMTP id cz7mr650903wjb.78.1396567544361; Thu, 03 Apr 2014 16:25:44 -0700 (PDT) Received: by 10.216.53.141 with HTTP; Thu, 3 Apr 2014 16:25:44 -0700 (PDT) In-Reply-To: References: Date: Thu, 3 Apr 2014 16:25:44 -0700 Message-ID: Subject: Re: sqllite.py hangs From: Young Kim To: user@phoenix.incubator.apache.org Content-Type: multipart/mixed; boundary=047d7bb03ddc6330bc04f62bb854 X-Virus-Checked: Checked by ClamAV on apache.org --047d7bb03ddc6330bc04f62bb854 Content-Type: multipart/alternative; boundary=047d7bb03ddc6330b704f62bb852 --047d7bb03ddc6330b704f62bb852 Content-Type: text/plain; charset=ISO-8859-1 Thanks for the advice so far! Stan: I changed it to debug, and I got the output as attached. And yes, I'm using CDH 4.6 that is using the Cloudera HBase 0.94.15. Mujtaba: I tried dropping the SYSTEM.CATALOG table, but that doesn't seem to have worked sadly :( On Thu, Apr 3, 2014 at 1:51 PM, Mujtaba Chohan wrote: > - There should be no difference 2.2.3 jars on download page and 2.2.4 from > git. > - You can trouble shoot ZK related issues by running hbase zkcli command > https://hbase.apache.org/book/trouble.tools.html. > - With phoenix-3.0.0-RC3, also try dropping SYSTEM.CATALOG table from > HBase shell before attempting to reconnect. > > > On Thu, Apr 3, 2014 at 1:38 PM, Young Kim wrote: > >> Stan: How would I go about changing the log4j properties? >> >> As a side note, I also tried switching to the 2.0 branch to see if >> phoenix-2.2.4 would resolve the issue, but the results were the same. >> However, using the jar on the main downloads page (phoenix-2.2.3) works >> perfectly fine. Anyone know if there is a real difference between the main >> build and the git ones? >> >> >> >> On Thu, Apr 3, 2014 at 1:33 PM, Stan Campbell wrote: >> >>> I've had this kind of issue when a port is closed and it eventually >>> times out. You might be able to tease out the specifics if you bump your >>> logj4 up to DEBUG logging? >>> >>> >>> On Thu, Apr 3, 2014 at 12:52 PM, Young Kim wrote: >>> >>>> There's no log output from HBase. Zookeeper's output is that the >>>> connection was successfully established. Any other suggestions? :( >>>> >>>> >>>> On Thu, Apr 3, 2014 at 6:22 AM, Abe Weinograd wrote: >>>> >>>>> I have had that problem when something isn't set up properly on the >>>>> HBase side. What do your zookeeper and HBase logs look like? >>>>> >>>>> >>>>> On Wed, Apr 2, 2014 at 10:49 PM, Young Kim wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> I'm currently having trouble running sqlline.py. In particular, when >>>>>> I run it, the following output is displayed, then the program hangs: >>>>>> >>>>>> [cloudera@localhost bin]$ ./sqlline.py localhost >>>>>> Setting property: [isolation, TRANSACTION_READ_COMMITTED] >>>>>> issuing: !connect jdbc:phoenix:localhost none none >>>>>> org.apache.phoenix.jdbc.PhoenixDriver >>>>>> Connecting to jdbc:phoenix:localhost >>>>>> 14/04/02 19:27:00 WARN conf.Configuration: dfs.df.interval is >>>>>> deprecated. Instead, use fs.df.interval >>>>>> 14/04/02 19:27:00 WARN conf.Configuration: hadoop.native.lib is >>>>>> deprecated. Instead, use io.native.lib.available >>>>>> 14/04/02 19:27:00 WARN conf.Configuration: fs.default.name is >>>>>> deprecated. Instead, use fs.defaultFS >>>>>> 14/04/02 19:27:00 WARN conf.Configuration: >>>>>> topology.script.number.args is deprecated. Instead, use >>>>>> net.topology.script.number.args >>>>>> 14/04/02 19:27:00 WARN conf.Configuration: dfs.umaskmode is >>>>>> deprecated. Instead, use fs.permissions.umask-mode >>>>>> 14/04/02 19:27:00 WARN conf.Configuration: >>>>>> topology.node.switch.mapping.impl is deprecated. Instead, use >>>>>> net.topology.node.switch.mapping.impl >>>>>> 14/04/02 19:27:01 WARN conf.Configuration: fs.default.name is >>>>>> deprecated. Instead, use fs.defaultFS >>>>>> 14/04/02 19:27:02 WARN util.NativeCodeLoader: Unable to load >>>>>> native-hadoop library for your platform... using builtin-java classes where >>>>>> applicable >>>>>> >>>>>> I'm currently running this on a standalone Cloudera VM, which is >>>>>> using CDH4.6.0. The version of Phoenix I'm running is >>>>>> v3.0.0-incubating-rc3. Can someone shed some light into this? >>>>>> >>>>>> Thanks, >>>>>> Young Kim >>>>>> >>>>> >>>>> >>>> >>> >> > --047d7bb03ddc6330b704f62bb852 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Thanks for the advice so far!

Stan: I c= hanged it to debug, and I got the output as attached. And yes, I'm usin= g CDH 4.6 that is using the Cloudera HBase 0.94.15.

Mujtaba: I tried dropping the SYSTEM.CATALOG table, but that doesn't se= em to have worked sadly :(


On Thu, Apr 3, 2014 at 1:51 PM, Mujtaba Chohan <= mujtaba@apache.org> wrote:
- There should be no differ= ence 2.2.3 jars on download page and 2.2.4 from git.
- You can trouble = shoot ZK related issues by running hbase zkcli command https://hbase.ap= ache.org/book/trouble.tools.html.
- With phoenix-3.0.0-RC3, also try dropping SYSTEM.CATALOG table from HBase= shell before attempting to reconnect.


= On Thu, Apr 3, 2014 at 1:38 PM, Young Kim <ykim@crunchyroll.com>= wrote:
Stan: How would I go a= bout changing the log4j properties?

As a side note= , I also tried switching to the 2.0 branch to see if phoenix-2.2.4 would re= solve the issue, but the results were the same. However, using the jar on t= he main downloads page (phoenix-2.2.3) works perfectly fine. Anyone know if= there is a real difference between the main build and the git ones?



On Thu, Apr 3, 2014 at 1:33 PM, Stan Campbell <= stan.campbell3@gmail.com> wrote:
I've had this kind of i= ssue when a port is closed and it eventually times out. =A0You might be abl= e to tease out the specifics if you bump your logj4 up to DEBUG logging?


On Thu, Apr 3, 2014 at 12:52 PM, Young Kim <= span dir=3D"ltr"><ykim@crunchyroll.com> wrote:
There's no log output from HBase. Zookeeper's outp= ut is that the connection was successfully established. Any other suggestio= ns? :(


On Thu, Apr 3, 2014 at 6:22 AM, Abe Wein= ograd <abe@flonet.com> wrote:
I have had that problem whe= n something isn't set up properly on the HBase side. =A0What do your zo= okeeper and HBase logs look like?


On = Wed, Apr 2, 2014 at 10:49 PM, Young Kim <ykim@crunchyroll.com> wrote:
Hello,

I'= m currently having trouble running sqlline.py. In particular, when I run it= , the following output is displayed, then the program hangs:

[cloudera@localho= st bin]$ ./sqlline.py localhost
Setting property: [isolation, TRA= NSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:localhost none none org.apache.phoenix.= jdbc.PhoenixDriver
Connecting to jdbc:phoenix:localhost
14/04/02 19:27:00 WARN conf.Configuration: dfs.df.interval is deprecated. = Instead, use fs.df.interval
14/04/02 19:27:00 WARN conf.Configuration: hadoop.native.lib is deprec= ated. Instead, use io.native.lib.available
14/04/02 19:27:00 WARN= conf.Configuration:=A0fs.default.name=A0is deprecated. Instead, use fs.defaultFS
14/04/02 19:27:00 WARN conf.Configuration: topology.script.number.args= is deprecated. Instead, use net.topology.script.number.args
14/0= 4/02 19:27:00 WARN conf.Configuration: dfs.umaskmode is deprecated. Instead= , use fs.permissions.umask-mode
14/04/02 19:27:00 WARN conf.Configuration: topology.node.switch.mappin= g.impl is deprecated. Instead, use net.topology.node.switch.mapping.impl
14/04/02 19:27:01 WARN conf.Configuration:=A0fs.default.name=A0is deprecated. Instea= d, use fs.defaultFS
14/04/02 19:27:02 WARN util.NativeCodeLoader: Unable to load native-ha= doop library for your platform... using builtin-java classes where applicab= le

I'= m currently running this on a standalone Cloudera VM, which is using CDH4.6= .0. The version of Phoenix I'm running is v3.0.0-incubating-rc3. Can so= meone shed some light into this?

Thanks,
Young Kim






--047d7bb03ddc6330b704f62bb852-- --047d7bb03ddc6330bc04f62bb854 Content-Type: application/octet-stream; name="psql.log" Content-Disposition: attachment; filename="psql.log" Content-Transfer-Encoding: base64 X-Attachment-Id: f_htko8apo0 MjAxNC0wNC0wMyAxNTo1NjoxNyw0MzIgV0FSTiBvcmcuYXBhY2hlLmhhZG9vcC5jb25mLkNvbmZp Z3VyYXRpb246IGRmcy5kZi5pbnRlcnZhbCBpcyBkZXByZWNhdGVkLiBJbnN0ZWFkLCB1c2UgZnMu ZGYuaW50ZXJ2YWwKMjAxNC0wNC0wMyAxNTo1NjoxNyw0MzMgV0FSTiBvcmcuYXBhY2hlLmhhZG9v cC5jb25mLkNvbmZpZ3VyYXRpb246IGhhZG9vcC5uYXRpdmUubGliIGlzIGRlcHJlY2F0ZWQuIElu c3RlYWQsIHVzZSBpby5uYXRpdmUubGliLmF2YWlsYWJsZQoyMDE0LTA0LTAzIDE1OjU2OjE3LDQz MyBXQVJOIG9yZy5hcGFjaGUuaGFkb29wLmNvbmYuQ29uZmlndXJhdGlvbjogZnMuZGVmYXVsdC5u YW1lIGlzIGRlcHJlY2F0ZWQuIEluc3RlYWQsIHVzZSBmcy5kZWZhdWx0RlMKMjAxNC0wNC0wMyAx NTo1NjoxNyw0MzQgV0FSTiBvcmcuYXBhY2hlLmhhZG9vcC5jb25mLkNvbmZpZ3VyYXRpb246IHRv cG9sb2d5LnNjcmlwdC5udW1iZXIuYXJncyBpcyBkZXByZWNhdGVkLiBJbnN0ZWFkLCB1c2UgbmV0 LnRvcG9sb2d5LnNjcmlwdC5udW1iZXIuYXJncwoyMDE0LTA0LTAzIDE1OjU2OjE3LDQzNSBXQVJO IG9yZy5hcGFjaGUuaGFkb29wLmNvbmYuQ29uZmlndXJhdGlvbjogZGZzLnVtYXNrbW9kZSBpcyBk ZXByZWNhdGVkLiBJbnN0ZWFkLCB1c2UgZnMucGVybWlzc2lvbnMudW1hc2stbW9kZQoyMDE0LTA0 LTAzIDE1OjU2OjE3LDQzNSBXQVJOIG9yZy5hcGFjaGUuaGFkb29wLmNvbmYuQ29uZmlndXJhdGlv bjogdG9wb2xvZ3kubm9kZS5zd2l0Y2gubWFwcGluZy5pbXBsIGlzIGRlcHJlY2F0ZWQuIEluc3Rl YWQsIHVzZSBuZXQudG9wb2xvZ3kubm9kZS5zd2l0Y2gubWFwcGluZy5pbXBsCjIwMTQtMDQtMDMg MTU6NTY6MTcsOTgyIElORk8gb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVy eVNlcnZpY2VzSW1wbDogRm91bmQgcXVvcnVtOiBsb2NhbGhvc3Q6MjE4MQoyMDE0LTA0LTAzIDE1 OjU2OjE4LDAwOSBXQVJOIG9yZy5hcGFjaGUuaGFkb29wLmNvbmYuQ29uZmlndXJhdGlvbjogZnMu ZGVmYXVsdC5uYW1lIGlzIGRlcHJlY2F0ZWQuIEluc3RlYWQsIHVzZSBmcy5kZWZhdWx0RlMKMjAx NC0wNC0wMyAxNTo1NjoxOCwxMTkgREVCVUcgb3JnLmFwYWNoZS5oYWRvb3AubWV0cmljczIubGli Lk11dGFibGVNZXRyaWNzRmFjdG9yeTogZmllbGQgb3JnLmFwYWNoZS5oYWRvb3AubWV0cmljczIu bGliLk11dGFibGVSYXRlIG9yZy5hcGFjaGUuaGFkb29wLnNlY3VyaXR5LlVzZXJHcm91cEluZm9y bWF0aW9uJFVnaU1ldHJpY3MubG9naW5TdWNjZXNzIHdpdGggYW5ub3RhdGlvbiBAb3JnLmFwYWNo ZS5oYWRvb3AubWV0cmljczIuYW5ub3RhdGlvbi5NZXRyaWModmFsdWVOYW1lPVRpbWUsIGFib3V0 PSwgdmFsdWU9W1JhdGUgb2Ygc3VjY2Vzc2Z1bCBrZXJiZXJvcyBsb2dpbnMgYW5kIGxhdGVuY3kg KG1pbGxpc2Vjb25kcyldLCBhbHdheXM9ZmFsc2UsIHR5cGU9REVGQVVMVCwgc2FtcGxlTmFtZT1P cHMpCjIwMTQtMDQtMDMgMTU6NTY6MTgsMTI2IERFQlVHIG9yZy5hcGFjaGUuaGFkb29wLm1ldHJp Y3MyLmxpYi5NdXRhYmxlTWV0cmljc0ZhY3Rvcnk6IGZpZWxkIG9yZy5hcGFjaGUuaGFkb29wLm1l dHJpY3MyLmxpYi5NdXRhYmxlUmF0ZSBvcmcuYXBhY2hlLmhhZG9vcC5zZWN1cml0eS5Vc2VyR3Jv dXBJbmZvcm1hdGlvbiRVZ2lNZXRyaWNzLmxvZ2luRmFpbHVyZSB3aXRoIGFubm90YXRpb24gQG9y Zy5hcGFjaGUuaGFkb29wLm1ldHJpY3MyLmFubm90YXRpb24uTWV0cmljKHZhbHVlTmFtZT1UaW1l LCBhYm91dD0sIHZhbHVlPVtSYXRlIG9mIGZhaWxlZCBrZXJiZXJvcyBsb2dpbnMgYW5kIGxhdGVu Y3kgKG1pbGxpc2Vjb25kcyldLCBhbHdheXM9ZmFsc2UsIHR5cGU9REVGQVVMVCwgc2FtcGxlTmFt ZT1PcHMpCjIwMTQtMDQtMDMgMTU6NTY6MTgsMTI3IERFQlVHIG9yZy5hcGFjaGUuaGFkb29wLm1l dHJpY3MyLmltcGwuTWV0cmljc1N5c3RlbUltcGw6IFVnaU1ldHJpY3MsIFVzZXIgYW5kIGdyb3Vw IHJlbGF0ZWQgbWV0cmljcwoyMDE0LTA0LTAzIDE1OjU2OjE4LDMyMiBERUJVRyBvcmcuYXBhY2hl LmhhZG9vcC5zZWN1cml0eS5Hcm91cHM6ICBDcmVhdGluZyBuZXcgR3JvdXBzIG9iamVjdAoyMDE0 LTA0LTAzIDE1OjU2OjE4LDMyNCBERUJVRyBvcmcuYXBhY2hlLmhhZG9vcC51dGlsLk5hdGl2ZUNv ZGVMb2FkZXI6IFRyeWluZyB0byBsb2FkIHRoZSBjdXN0b20tYnVpbHQgbmF0aXZlLWhhZG9vcCBs aWJyYXJ5Li4uCjIwMTQtMDQtMDMgMTU6NTY6MTgsMzI0IERFQlVHIG9yZy5hcGFjaGUuaGFkb29w LnV0aWwuTmF0aXZlQ29kZUxvYWRlcjogRmFpbGVkIHRvIGxvYWQgbmF0aXZlLWhhZG9vcCB3aXRo IGVycm9yOiBqYXZhLmxhbmcuVW5zYXRpc2ZpZWRMaW5rRXJyb3I6IG5vIGhhZG9vcCBpbiBqYXZh LmxpYnJhcnkucGF0aAoyMDE0LTA0LTAzIDE1OjU2OjE4LDMyNCBERUJVRyBvcmcuYXBhY2hlLmhh ZG9vcC51dGlsLk5hdGl2ZUNvZGVMb2FkZXI6IGphdmEubGlicmFyeS5wYXRoPS91c3IvamF2YS9q ZGsxLjYuMF8zMi9qcmUvbGliL2FtZDY0L3NlcnZlcjovdXNyL2phdmEvamRrMS42LjBfMzIvanJl L2xpYi9hbWQ2NDovdXNyL2phdmEvamRrMS42LjBfMzIvanJlLy4uL2xpYi9hbWQ2NDovdXNyL2ph dmEvcGFja2FnZXMvbGliL2FtZDY0Oi91c3IvbGliNjQ6L2xpYjY0Oi9saWI6L3Vzci9saWIKMjAx NC0wNC0wMyAxNTo1NjoxOCwzMjQgV0FSTiBvcmcuYXBhY2hlLmhhZG9vcC51dGlsLk5hdGl2ZUNv ZGVMb2FkZXI6IFVuYWJsZSB0byBsb2FkIG5hdGl2ZS1oYWRvb3AgbGlicmFyeSBmb3IgeW91ciBw bGF0Zm9ybS4uLiB1c2luZyBidWlsdGluLWphdmEgY2xhc3NlcyB3aGVyZSBhcHBsaWNhYmxlCjIw MTQtMDQtMDMgMTU6NTY6MTgsMzI0IERFQlVHIG9yZy5hcGFjaGUuaGFkb29wLnNlY3VyaXR5Lkpu aUJhc2VkVW5peEdyb3Vwc01hcHBpbmdXaXRoRmFsbGJhY2s6IEZhbGxpbmcgYmFjayB0byBzaGVs bCBiYXNlZAoyMDE0LTA0LTAzIDE1OjU2OjE4LDMyNSBERUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5z ZWN1cml0eS5KbmlCYXNlZFVuaXhHcm91cHNNYXBwaW5nV2l0aEZhbGxiYWNrOiBHcm91cCBtYXBw aW5nIGltcGw9b3JnLmFwYWNoZS5oYWRvb3Auc2VjdXJpdHkuU2hlbGxCYXNlZFVuaXhHcm91cHNN YXBwaW5nCjIwMTQtMDQtMDMgMTU6NTY6MTgsMzI1IERFQlVHIG9yZy5hcGFjaGUuaGFkb29wLnNl Y3VyaXR5Lkdyb3VwczogR3JvdXAgbWFwcGluZyBpbXBsPW9yZy5hcGFjaGUuaGFkb29wLnNlY3Vy aXR5LkpuaUJhc2VkVW5peEdyb3Vwc01hcHBpbmdXaXRoRmFsbGJhY2s7IGNhY2hlVGltZW91dD0z MDAwMDAKMjAxNC0wNC0wMyAxNTo1NjoxOCwzMzIgREVCVUcgb3JnLmFwYWNoZS5oYWRvb3Auc2Vj dXJpdHkuVXNlckdyb3VwSW5mb3JtYXRpb246IGhhZG9vcCBsb2dpbgoyMDE0LTA0LTAzIDE1OjU2 OjE4LDMzMyBERUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5zZWN1cml0eS5Vc2VyR3JvdXBJbmZvcm1h dGlvbjogaGFkb29wIGxvZ2luIGNvbW1pdAoyMDE0LTA0LTAzIDE1OjU2OjE4LDMzNSBERUJVRyBv cmcuYXBhY2hlLmhhZG9vcC5zZWN1cml0eS5Vc2VyR3JvdXBJbmZvcm1hdGlvbjogdXNpbmcgbG9j YWwgdXNlcjpVbml4UHJpbmNpcGFsOiBjbG91ZGVyYQoyMDE0LTA0LTAzIDE1OjU2OjE4LDM0MSBE RUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5zZWN1cml0eS5Vc2VyR3JvdXBJbmZvcm1hdGlvbjogVUdJ IGxvZ2luVXNlcjpjbG91ZGVyYSAoYXV0aDpTSU1QTEUpCjIwMTQtMDQtMDMgMTU6NTY6MTgsNDI5 IERFQlVHIG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLnpvb2tlZXBlci5aS1V0aWw6IGhjb25uZWN0 aW9uIG9wZW5pbmcgY29ubmVjdGlvbiB0byBab29LZWVwZXIgd2l0aCBlbnNlbWJsZSAobG9jYWxo b3N0OjIxODEpCjIwMTQtMDQtMDMgMTU6NTY6MTgsNDUwIElORk8gb3JnLmFwYWNoZS56b29rZWVw ZXIuWm9vS2VlcGVyOiBDbGllbnQgZW52aXJvbm1lbnQ6em9va2VlcGVyLnZlcnNpb249My40LjUt MTM5MjA5MCwgYnVpbHQgb24gMDkvMzAvMjAxMiAxNzo1MiBHTVQKMjAxNC0wNC0wMyAxNTo1Njox OCw0NTEgSU5GTyBvcmcuYXBhY2hlLnpvb2tlZXBlci5ab29LZWVwZXI6IENsaWVudCBlbnZpcm9u bWVudDpob3N0Lm5hbWU9bG9jYWxob3N0LmxvY2FsZG9tYWluCjIwMTQtMDQtMDMgMTU6NTY6MTgs NDUxIElORk8gb3JnLmFwYWNoZS56b29rZWVwZXIuWm9vS2VlcGVyOiBDbGllbnQgZW52aXJvbm1l bnQ6amF2YS52ZXJzaW9uPTEuNi4wXzMyCjIwMTQtMDQtMDMgMTU6NTY6MTgsNDUxIElORk8gb3Jn LmFwYWNoZS56b29rZWVwZXIuWm9vS2VlcGVyOiBDbGllbnQgZW52aXJvbm1lbnQ6amF2YS52ZW5k b3I9U3VuIE1pY3Jvc3lzdGVtcyBJbmMuCjIwMTQtMDQtMDMgMTU6NTY6MTgsNDUxIElORk8gb3Jn LmFwYWNoZS56b29rZWVwZXIuWm9vS2VlcGVyOiBDbGllbnQgZW52aXJvbm1lbnQ6amF2YS5ob21l PS91c3IvamF2YS9qZGsxLjYuMF8zMi9qcmUKMjAxNC0wNC0wMyAxNTo1NjoxOCw0NTEgSU5GTyBv cmcuYXBhY2hlLnpvb2tlZXBlci5ab29LZWVwZXI6IENsaWVudCBlbnZpcm9ubWVudDpqYXZhLmNs YXNzLnBhdGg9LjovaG9tZS9jbG91ZGVyYS9pbmN1YmF0b3ItcGhvZW5peC9iaW4vLi4vcGhvZW5p eC1hc3NlbWJseS90YXJnZXQvcGhvZW5peC0zLjAuMC1pbmN1YmF0aW5nLWNsaWVudC5qYXIKMjAx NC0wNC0wMyAxNTo1NjoxOCw0NTEgSU5GTyBvcmcuYXBhY2hlLnpvb2tlZXBlci5ab29LZWVwZXI6 IENsaWVudCBlbnZpcm9ubWVudDpqYXZhLmxpYnJhcnkucGF0aD0vdXNyL2phdmEvamRrMS42LjBf MzIvanJlL2xpYi9hbWQ2NC9zZXJ2ZXI6L3Vzci9qYXZhL2pkazEuNi4wXzMyL2pyZS9saWIvYW1k NjQ6L3Vzci9qYXZhL2pkazEuNi4wXzMyL2pyZS8uLi9saWIvYW1kNjQ6L3Vzci9qYXZhL3BhY2th Z2VzL2xpYi9hbWQ2NDovdXNyL2xpYjY0Oi9saWI2NDovbGliOi91c3IvbGliCjIwMTQtMDQtMDMg MTU6NTY6MTgsNDUxIElORk8gb3JnLmFwYWNoZS56b29rZWVwZXIuWm9vS2VlcGVyOiBDbGllbnQg ZW52aXJvbm1lbnQ6amF2YS5pby50bXBkaXI9L3RtcAoyMDE0LTA0LTAzIDE1OjU2OjE4LDQ1MSBJ TkZPIG9yZy5hcGFjaGUuem9va2VlcGVyLlpvb0tlZXBlcjogQ2xpZW50IGVudmlyb25tZW50Omph dmEuY29tcGlsZXI9PE5BPgoyMDE0LTA0LTAzIDE1OjU2OjE4LDQ1MSBJTkZPIG9yZy5hcGFjaGUu em9va2VlcGVyLlpvb0tlZXBlcjogQ2xpZW50IGVudmlyb25tZW50Om9zLm5hbWU9TGludXgKMjAx NC0wNC0wMyAxNTo1NjoxOCw0NTEgSU5GTyBvcmcuYXBhY2hlLnpvb2tlZXBlci5ab29LZWVwZXI6 IENsaWVudCBlbnZpcm9ubWVudDpvcy5hcmNoPWFtZDY0CjIwMTQtMDQtMDMgMTU6NTY6MTgsNDUx IElORk8gb3JnLmFwYWNoZS56b29rZWVwZXIuWm9vS2VlcGVyOiBDbGllbnQgZW52aXJvbm1lbnQ6 b3MudmVyc2lvbj0yLjYuMzItNDMxLjExLjIuZWw2Lng4Nl82NAoyMDE0LTA0LTAzIDE1OjU2OjE4 LDQ1MSBJTkZPIG9yZy5hcGFjaGUuem9va2VlcGVyLlpvb0tlZXBlcjogQ2xpZW50IGVudmlyb25t ZW50OnVzZXIubmFtZT1jbG91ZGVyYQoyMDE0LTA0LTAzIDE1OjU2OjE4LDQ1MSBJTkZPIG9yZy5h cGFjaGUuem9va2VlcGVyLlpvb0tlZXBlcjogQ2xpZW50IGVudmlyb25tZW50OnVzZXIuaG9tZT0v aG9tZS9jbG91ZGVyYQoyMDE0LTA0LTAzIDE1OjU2OjE4LDQ1MSBJTkZPIG9yZy5hcGFjaGUuem9v a2VlcGVyLlpvb0tlZXBlcjogQ2xpZW50IGVudmlyb25tZW50OnVzZXIuZGlyPS9ob21lL2Nsb3Vk ZXJhL2luY3ViYXRvci1waG9lbml4L2JpbgoyMDE0LTA0LTAzIDE1OjU2OjE4LDQ1MiBJTkZPIG9y Zy5hcGFjaGUuem9va2VlcGVyLlpvb0tlZXBlcjogSW5pdGlhdGluZyBjbGllbnQgY29ubmVjdGlv biwgY29ubmVjdFN0cmluZz1sb2NhbGhvc3Q6MjE4MSBzZXNzaW9uVGltZW91dD02MDAwMCB3YXRj aGVyPWhjb25uZWN0aW9uCjIwMTQtMDQtMDMgMTU6NTY6MTgsNDYwIERFQlVHIG9yZy5hcGFjaGUu em9va2VlcGVyLkNsaWVudENueG46IHpvb2tlZXBlci5kaXNhYmxlQXV0b1dhdGNoUmVzZXQgaXMg ZmFsc2UKMjAxNC0wNC0wMyAxNTo1NjoxOCw0ODMgSU5GTyBvcmcuYXBhY2hlLmhhZG9vcC5oYmFz ZS56b29rZWVwZXIuUmVjb3ZlcmFibGVab29LZWVwZXI6IFRoZSBpZGVudGlmaWVyIG9mIHRoaXMg cHJvY2VzcyBpcyAyNDkyOEBsb2NhbGhvc3QubG9jYWxkb21haW4KMjAxNC0wNC0wMyAxNTo1Njox OCw0OTAgSU5GTyBvcmcuYXBhY2hlLnpvb2tlZXBlci5DbGllbnRDbnhuOiBPcGVuaW5nIHNvY2tl dCBjb25uZWN0aW9uIHRvIHNlcnZlciBsb2NhbGhvc3QubG9jYWxkb21haW4vMTI3LjAuMC4xOjIx ODEuIFdpbGwgbm90IGF0dGVtcHQgdG8gYXV0aGVudGljYXRlIHVzaW5nIFNBU0wgKFVuYWJsZSB0 byBsb2NhdGUgYSBsb2dpbiBjb25maWd1cmF0aW9uKQoyMDE0LTA0LTAzIDE1OjU2OjE4LDQ5NSBJ TkZPIG9yZy5hcGFjaGUuem9va2VlcGVyLkNsaWVudENueG46IFNvY2tldCBjb25uZWN0aW9uIGVz dGFibGlzaGVkIHRvIGxvY2FsaG9zdC5sb2NhbGRvbWFpbi8xMjcuMC4wLjE6MjE4MSwgaW5pdGlh dGluZyBzZXNzaW9uCjIwMTQtMDQtMDMgMTU6NTY6MTgsNDk2IERFQlVHIG9yZy5hcGFjaGUuem9v a2VlcGVyLkNsaWVudENueG46IFNlc3Npb24gZXN0YWJsaXNobWVudCByZXF1ZXN0IHNlbnQgb24g bG9jYWxob3N0LmxvY2FsZG9tYWluLzEyNy4wLjAuMToyMTgxCjIwMTQtMDQtMDMgMTU6NTY6MTgs NDk2IERFQlVHIG9yZy5hcGFjaGUuem9va2VlcGVyLmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50 OiBDb3VsZCBub3QgcmV0cmlldmUgbG9naW4gY29uZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3Vy aXR5RXhjZXB0aW9uOiBVbmFibGUgdG8gbG9jYXRlIGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0 LTA0LTAzIDE1OjU2OjE4LDQ5OCBERUJVRyBvcmcuYXBhY2hlLnpvb2tlZXBlci5jbGllbnQuWm9v S2VlcGVyU2FzbENsaWVudDogQ291bGQgbm90IHJldHJpZXZlIGxvZ2luIGNvbmZpZ3VyYXRpb246 IGphdmEubGFuZy5TZWN1cml0eUV4Y2VwdGlvbjogVW5hYmxlIHRvIGxvY2F0ZSBhIGxvZ2luIGNv bmZpZ3VyYXRpb24KMjAxNC0wNC0wMyAxNTo1NjoxOCw1MTQgSU5GTyBvcmcuYXBhY2hlLnpvb2tl ZXBlci5DbGllbnRDbnhuOiBTZXNzaW9uIGVzdGFibGlzaG1lbnQgY29tcGxldGUgb24gc2VydmVy IGxvY2FsaG9zdC5sb2NhbGRvbWFpbi8xMjcuMC4wLjE6MjE4MSwgc2Vzc2lvbmlkID0gMHgxNDUy OTQzNWVkNzAwNGMsIG5lZ290aWF0ZWQgdGltZW91dCA9IDYwMDAwCjIwMTQtMDQtMDMgMTU6NTY6 MTgsNTE3IERFQlVHIG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLnpvb2tlZXBlci5ab29LZWVwZXJX YXRjaGVyOiBoY29ubmVjdGlvbiBSZWNlaXZlZCBab29LZWVwZXIgRXZlbnQsIHR5cGU9Tm9uZSwg c3RhdGU9U3luY0Nvbm5lY3RlZCwgcGF0aD1udWxsCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTE3IERF QlVHIG9yZy5hcGFjaGUuem9va2VlcGVyLmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBDb3Vs ZCBub3QgcmV0cmlldmUgbG9naW4gY29uZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5RXhj ZXB0aW9uOiBVbmFibGUgdG8gbG9jYXRlIGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0LTAz IDE1OjU2OjE4LDUxNyBERUJVRyBvcmcuYXBhY2hlLnpvb2tlZXBlci5jbGllbnQuWm9vS2VlcGVy U2FzbENsaWVudDogQ291bGQgbm90IHJldHJpZXZlIGxvZ2luIGNvbmZpZ3VyYXRpb246IGphdmEu bGFuZy5TZWN1cml0eUV4Y2VwdGlvbjogVW5hYmxlIHRvIGxvY2F0ZSBhIGxvZ2luIGNvbmZpZ3Vy YXRpb24KMjAxNC0wNC0wMyAxNTo1NjoxOCw1MTcgREVCVUcgb3JnLmFwYWNoZS56b29rZWVwZXIu Y2xpZW50Llpvb0tlZXBlclNhc2xDbGllbnQ6IENvdWxkIG5vdCByZXRyaWV2ZSBsb2dpbiBjb25m aWd1cmF0aW9uOiBqYXZhLmxhbmcuU2VjdXJpdHlFeGNlcHRpb246IFVuYWJsZSB0byBsb2NhdGUg YSBsb2dpbiBjb25maWd1cmF0aW9uCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTE4IERFQlVHIG9yZy5h cGFjaGUuem9va2VlcGVyLmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBDb3VsZCBub3QgcmV0 cmlldmUgbG9naW4gY29uZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5RXhjZXB0aW9uOiBV bmFibGUgdG8gbG9jYXRlIGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0LTAzIDE1OjU2OjE4 LDUyMiBERUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS56b29rZWVwZXIuWm9vS2VlcGVyV2F0 Y2hlcjogaGNvbm5lY3Rpb24tMHgxNDUyOTQzNWVkNzAwNGMgY29ubmVjdGVkCjIwMTQtMDQtMDMg MTU6NTY6MTgsNTIzIERFQlVHIG9yZy5hcGFjaGUuem9va2VlcGVyLkNsaWVudENueG46IFJlYWRp bmcgcmVwbHkgc2Vzc2lvbmlkOjB4MTQ1Mjk0MzVlZDcwMDRjLCBwYWNrZXQ6OiBjbGllbnRQYXRo Om51bGwgc2VydmVyUGF0aDpudWxsIGZpbmlzaGVkOmZhbHNlIGhlYWRlcjo6IDEsMyAgcmVwbHlI ZWFkZXI6OiAxLDEwNTksMCAgcmVxdWVzdDo6ICcvaGJhc2UvaGJhc2VpZCxGICByZXNwb25zZTo6 IHN7NTQsMTAwNiwxMzk2NDgwNDk1NzY0LDEzOTY1NjUxMzcwMDEsOSwwLDAsMCw2OCwwLDU0fSAK MjAxNC0wNC0wMyAxNTo1NjoxOCw1MjUgREVCVUcgb3JnLmFwYWNoZS56b29rZWVwZXIuY2xpZW50 Llpvb0tlZXBlclNhc2xDbGllbnQ6IENvdWxkIG5vdCByZXRyaWV2ZSBsb2dpbiBjb25maWd1cmF0 aW9uOiBqYXZhLmxhbmcuU2VjdXJpdHlFeGNlcHRpb246IFVuYWJsZSB0byBsb2NhdGUgYSBsb2dp biBjb25maWd1cmF0aW9uCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTI1IERFQlVHIG9yZy5hcGFjaGUu em9va2VlcGVyLmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBDb3VsZCBub3QgcmV0cmlldmUg bG9naW4gY29uZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5RXhjZXB0aW9uOiBVbmFibGUg dG8gbG9jYXRlIGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0LTAzIDE1OjU2OjE4LDUyNiBE RUJVRyBvcmcuYXBhY2hlLnpvb2tlZXBlci5jbGllbnQuWm9vS2VlcGVyU2FzbENsaWVudDogQ291 bGQgbm90IHJldHJpZXZlIGxvZ2luIGNvbmZpZ3VyYXRpb246IGphdmEubGFuZy5TZWN1cml0eUV4 Y2VwdGlvbjogVW5hYmxlIHRvIGxvY2F0ZSBhIGxvZ2luIGNvbmZpZ3VyYXRpb24KMjAxNC0wNC0w MyAxNTo1NjoxOCw1MjYgREVCVUcgb3JnLmFwYWNoZS56b29rZWVwZXIuY2xpZW50Llpvb0tlZXBl clNhc2xDbGllbnQ6IENvdWxkIG5vdCByZXRyaWV2ZSBsb2dpbiBjb25maWd1cmF0aW9uOiBqYXZh LmxhbmcuU2VjdXJpdHlFeGNlcHRpb246IFVuYWJsZSB0byBsb2NhdGUgYSBsb2dpbiBjb25maWd1 cmF0aW9uCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTI3IERFQlVHIG9yZy5hcGFjaGUuem9va2VlcGVy LmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBDb3VsZCBub3QgcmV0cmlldmUgbG9naW4gY29u ZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5RXhjZXB0aW9uOiBVbmFibGUgdG8gbG9jYXRl IGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0LTAzIDE1OjU2OjE4LDUyOCBERUJVRyBvcmcu YXBhY2hlLnpvb2tlZXBlci5DbGllbnRDbnhuOiBSZWFkaW5nIHJlcGx5IHNlc3Npb25pZDoweDE0 NTI5NDM1ZWQ3MDA0YywgcGFja2V0OjogY2xpZW50UGF0aDpudWxsIHNlcnZlclBhdGg6bnVsbCBm aW5pc2hlZDpmYWxzZSBoZWFkZXI6OiAyLDQgIHJlcGx5SGVhZGVyOjogMiwxMDU5LDAgIHJlcXVl c3Q6OiAnL2hiYXNlL2hiYXNlaWQsRiAgcmVzcG9uc2U6OiAjZmZmZmZmZmYwMDAxYjMyMzMzMzM4 Mzg0MDZjNmY2MzYxNmM2ODZmNzM3NDJlNmM2ZjYzNjE2YzY0NmY2ZDYxNjk2ZTY1MzQ2NjM1MzIz MzY1MzEyZDMxMzkzNTM3MmQzNDM0MzEzNTJkMzk2NDM2NjQyZDMwNjQ2NTMwMzc2MTY1NjY2MTM3 MzY2MixzezU0LDEwMDYsMTM5NjQ4MDQ5NTc2NCwxMzk2NTY1MTM3MDAxLDksMCwwLDAsNjgsMCw1 NH0gCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTI4IERFQlVHIG9yZy5hcGFjaGUuaGFkb29wLmhiYXNl Lnpvb2tlZXBlci5aS1V0aWw6IGhjb25uZWN0aW9uLTB4MTQ1Mjk0MzVlZDcwMDRjIFJldHJpZXZl ZCAzNiBieXRlKHMpIG9mIGRhdGEgZnJvbSB6bm9kZSAvaGJhc2UvaGJhc2VpZDsgZGF0YT1lNGY1 MjNlMS0xOTU3LTQ0MTUtOWQ2ZC0wZGUwNy4uLgoyMDE0LTA0LTAzIDE1OjU2OjE4LDUzMSBERUJV RyBvcmcuYXBhY2hlLnpvb2tlZXBlci5jbGllbnQuWm9vS2VlcGVyU2FzbENsaWVudDogQ291bGQg bm90IHJldHJpZXZlIGxvZ2luIGNvbmZpZ3VyYXRpb246IGphdmEubGFuZy5TZWN1cml0eUV4Y2Vw dGlvbjogVW5hYmxlIHRvIGxvY2F0ZSBhIGxvZ2luIGNvbmZpZ3VyYXRpb24KMjAxNC0wNC0wMyAx NTo1NjoxOCw1MzEgREVCVUcgb3JnLmFwYWNoZS56b29rZWVwZXIuY2xpZW50Llpvb0tlZXBlclNh c2xDbGllbnQ6IENvdWxkIG5vdCByZXRyaWV2ZSBsb2dpbiBjb25maWd1cmF0aW9uOiBqYXZhLmxh bmcuU2VjdXJpdHlFeGNlcHRpb246IFVuYWJsZSB0byBsb2NhdGUgYSBsb2dpbiBjb25maWd1cmF0 aW9uCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTMyIERFQlVHIG9yZy5hcGFjaGUuem9va2VlcGVyLmNs aWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBDb3VsZCBub3QgcmV0cmlldmUgbG9naW4gY29uZmln dXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5RXhjZXB0aW9uOiBVbmFibGUgdG8gbG9jYXRlIGEg bG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0LTAzIDE1OjU2OjE4LDUzMyBERUJVRyBvcmcuYXBh Y2hlLnpvb2tlZXBlci5jbGllbnQuWm9vS2VlcGVyU2FzbENsaWVudDogQ291bGQgbm90IHJldHJp ZXZlIGxvZ2luIGNvbmZpZ3VyYXRpb246IGphdmEubGFuZy5TZWN1cml0eUV4Y2VwdGlvbjogVW5h YmxlIHRvIGxvY2F0ZSBhIGxvZ2luIGNvbmZpZ3VyYXRpb24KMjAxNC0wNC0wMyAxNTo1NjoxOCw1 MzMgREVCVUcgb3JnLmFwYWNoZS56b29rZWVwZXIuY2xpZW50Llpvb0tlZXBlclNhc2xDbGllbnQ6 IENvdWxkIG5vdCByZXRyaWV2ZSBsb2dpbiBjb25maWd1cmF0aW9uOiBqYXZhLmxhbmcuU2VjdXJp dHlFeGNlcHRpb246IFVuYWJsZSB0byBsb2NhdGUgYSBsb2dpbiBjb25maWd1cmF0aW9uCjIwMTQt MDQtMDMgMTU6NTY6MTgsNTM0IERFQlVHIG9yZy5hcGFjaGUuem9va2VlcGVyLkNsaWVudENueG46 IFJlYWRpbmcgcmVwbHkgc2Vzc2lvbmlkOjB4MTQ1Mjk0MzVlZDcwMDRjLCBwYWNrZXQ6OiBjbGll bnRQYXRoOm51bGwgc2VydmVyUGF0aDpudWxsIGZpbmlzaGVkOmZhbHNlIGhlYWRlcjo6IDMsMyAg cmVwbHlIZWFkZXI6OiAzLDEwNTksMCAgcmVxdWVzdDo6ICcvaGJhc2UvbWFzdGVyLFQgIHJlc3Bv bnNlOjogc3sxMDA0LDEwMDQsMTM5NjU2NTEzNDg2NSwxMzk2NTY1MTM0ODY1LDAsMCwwLDkxNTI0 NzM2NzYxNjU5NDQ5LDc1LDAsMTAwNH0gCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTM0IERFQlVHIG9y Zy5hcGFjaGUuaGFkb29wLmhiYXNlLnpvb2tlZXBlci5aS1V0aWw6IGhjb25uZWN0aW9uLTB4MTQ1 Mjk0MzVlZDcwMDRjIFNldCB3YXRjaGVyIG9uIGV4aXN0aW5nIHpub2RlIC9oYmFzZS9tYXN0ZXIK MjAxNC0wNC0wMyAxNTo1NjoxOCw1MzQgREVCVUcgb3JnLmFwYWNoZS56b29rZWVwZXIuY2xpZW50 Llpvb0tlZXBlclNhc2xDbGllbnQ6IENvdWxkIG5vdCByZXRyaWV2ZSBsb2dpbiBjb25maWd1cmF0 aW9uOiBqYXZhLmxhbmcuU2VjdXJpdHlFeGNlcHRpb246IFVuYWJsZSB0byBsb2NhdGUgYSBsb2dp biBjb25maWd1cmF0aW9uCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTM0IERFQlVHIG9yZy5hcGFjaGUu em9va2VlcGVyLmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBDb3VsZCBub3QgcmV0cmlldmUg bG9naW4gY29uZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5RXhjZXB0aW9uOiBVbmFibGUg dG8gbG9jYXRlIGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0LTAzIDE1OjU2OjE4LDUzNSBE RUJVRyBvcmcuYXBhY2hlLnpvb2tlZXBlci5jbGllbnQuWm9vS2VlcGVyU2FzbENsaWVudDogQ291 bGQgbm90IHJldHJpZXZlIGxvZ2luIGNvbmZpZ3VyYXRpb246IGphdmEubGFuZy5TZWN1cml0eUV4 Y2VwdGlvbjogVW5hYmxlIHRvIGxvY2F0ZSBhIGxvZ2luIGNvbmZpZ3VyYXRpb24KMjAxNC0wNC0w MyAxNTo1NjoxOCw1MzUgREVCVUcgb3JnLmFwYWNoZS56b29rZWVwZXIuY2xpZW50Llpvb0tlZXBl clNhc2xDbGllbnQ6IENvdWxkIG5vdCByZXRyaWV2ZSBsb2dpbiBjb25maWd1cmF0aW9uOiBqYXZh LmxhbmcuU2VjdXJpdHlFeGNlcHRpb246IFVuYWJsZSB0byBsb2NhdGUgYSBsb2dpbiBjb25maWd1 cmF0aW9uCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTM2IERFQlVHIG9yZy5hcGFjaGUuem9va2VlcGVy LmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBDb3VsZCBub3QgcmV0cmlldmUgbG9naW4gY29u ZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5RXhjZXB0aW9uOiBVbmFibGUgdG8gbG9jYXRl IGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0LTAzIDE1OjU2OjE4LDUzNiBERUJVRyBvcmcu YXBhY2hlLnpvb2tlZXBlci5DbGllbnRDbnhuOiBSZWFkaW5nIHJlcGx5IHNlc3Npb25pZDoweDE0 NTI5NDM1ZWQ3MDA0YywgcGFja2V0OjogY2xpZW50UGF0aDpudWxsIHNlcnZlclBhdGg6bnVsbCBm aW5pc2hlZDpmYWxzZSBoZWFkZXI6OiA0LDQgIHJlcGx5SGVhZGVyOjogNCwxMDU5LDAgIHJlcXVl c3Q6OiAnL2hiYXNlL21hc3RlcixUICByZXNwb25zZTo6ICNmZmZmZmZmZjAwMDFiMzIzMzMzMzgz ODQwNmM2ZjYzNjE2YzY4NmY3Mzc0MmU2YzZmNjM2MTZjNjQ2ZjZkNjE2OTZlMDA2YzZmNjM2MTZj Njg2ZjczNzQyZTZjNmY2MzYxNmM2NDZmNmQ2MTY5NmUyYzM2MzAzMDMwMzAyYzMxMzMzOTM2MzUz NjM1MzEzMzMyMzUzMzM2LHN7MTAwNCwxMDA0LDEzOTY1NjUxMzQ4NjUsMTM5NjU2NTEzNDg2NSww LDAsMCw5MTUyNDczNjc2MTY1OTQ0OSw3NSwwLDEwMDR9IAoyMDE0LTA0LTAzIDE1OjU2OjE4LDUz NyBERUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS56b29rZWVwZXIuWktVdGlsOiBoY29ubmVj dGlvbi0weDE0NTI5NDM1ZWQ3MDA0YyBSZXRyaWV2ZWQgNDMgYnl0ZShzKSBvZiBkYXRhIGZyb20g em5vZGUgL2hiYXNlL21hc3RlciBhbmQgc2V0IHdhdGNoZXI7IFx4MDBceDAwbG9jYWxob3N0Lmxv Y2FsZG9tYWluLi4uCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTM3IERFQlVHIG9yZy5hcGFjaGUuem9v a2VlcGVyLmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBDb3VsZCBub3QgcmV0cmlldmUgbG9n aW4gY29uZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5RXhjZXB0aW9uOiBVbmFibGUgdG8g bG9jYXRlIGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0LTAzIDE1OjU2OjE4LDUzOCBERUJV RyBvcmcuYXBhY2hlLnpvb2tlZXBlci5jbGllbnQuWm9vS2VlcGVyU2FzbENsaWVudDogQ291bGQg bm90IHJldHJpZXZlIGxvZ2luIGNvbmZpZ3VyYXRpb246IGphdmEubGFuZy5TZWN1cml0eUV4Y2Vw dGlvbjogVW5hYmxlIHRvIGxvY2F0ZSBhIGxvZ2luIGNvbmZpZ3VyYXRpb24KMjAxNC0wNC0wMyAx NTo1NjoxOCw1MzkgREVCVUcgb3JnLmFwYWNoZS56b29rZWVwZXIuY2xpZW50Llpvb0tlZXBlclNh c2xDbGllbnQ6IENvdWxkIG5vdCByZXRyaWV2ZSBsb2dpbiBjb25maWd1cmF0aW9uOiBqYXZhLmxh bmcuU2VjdXJpdHlFeGNlcHRpb246IFVuYWJsZSB0byBsb2NhdGUgYSBsb2dpbiBjb25maWd1cmF0 aW9uCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTM5IERFQlVHIG9yZy5hcGFjaGUuem9va2VlcGVyLmNs aWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBDb3VsZCBub3QgcmV0cmlldmUgbG9naW4gY29uZmln dXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5RXhjZXB0aW9uOiBVbmFibGUgdG8gbG9jYXRlIGEg bG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0LTAzIDE1OjU2OjE4LDU0MCBERUJVRyBvcmcuYXBh Y2hlLnpvb2tlZXBlci5jbGllbnQuWm9vS2VlcGVyU2FzbENsaWVudDogQ291bGQgbm90IHJldHJp ZXZlIGxvZ2luIGNvbmZpZ3VyYXRpb246IGphdmEubGFuZy5TZWN1cml0eUV4Y2VwdGlvbjogVW5h YmxlIHRvIGxvY2F0ZSBhIGxvZ2luIGNvbmZpZ3VyYXRpb24KMjAxNC0wNC0wMyAxNTo1NjoxOCw1 NDEgREVCVUcgb3JnLmFwYWNoZS56b29rZWVwZXIuQ2xpZW50Q254bjogUmVhZGluZyByZXBseSBz ZXNzaW9uaWQ6MHgxNDUyOTQzNWVkNzAwNGMsIHBhY2tldDo6IGNsaWVudFBhdGg6bnVsbCBzZXJ2 ZXJQYXRoOm51bGwgZmluaXNoZWQ6ZmFsc2UgaGVhZGVyOjogNSwzICByZXBseUhlYWRlcjo6IDUs MTA1OSwwICByZXF1ZXN0OjogJy9oYmFzZS9yb290LXJlZ2lvbi1zZXJ2ZXIsVCAgcmVzcG9uc2U6 OiBzezEwMjMsMTAyMywxMzk2NTY1MTQyMzMwLDEzOTY1NjUxNDIzMzAsMCwwLDAsMCw3MywwLDEw MjN9IAoyMDE0LTA0LTAzIDE1OjU2OjE4LDU0MSBERUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5oYmFz ZS56b29rZWVwZXIuWktVdGlsOiBoY29ubmVjdGlvbi0weDE0NTI5NDM1ZWQ3MDA0YyBTZXQgd2F0 Y2hlciBvbiBleGlzdGluZyB6bm9kZSAvaGJhc2Uvcm9vdC1yZWdpb24tc2VydmVyCjIwMTQtMDQt MDMgMTU6NTY6MTgsNTQxIERFQlVHIG9yZy5hcGFjaGUuem9va2VlcGVyLmNsaWVudC5ab29LZWVw ZXJTYXNsQ2xpZW50OiBDb3VsZCBub3QgcmV0cmlldmUgbG9naW4gY29uZmlndXJhdGlvbjogamF2 YS5sYW5nLlNlY3VyaXR5RXhjZXB0aW9uOiBVbmFibGUgdG8gbG9jYXRlIGEgbG9naW4gY29uZmln dXJhdGlvbgoyMDE0LTA0LTAzIDE1OjU2OjE4LDU0MiBERUJVRyBvcmcuYXBhY2hlLnpvb2tlZXBl ci5jbGllbnQuWm9vS2VlcGVyU2FzbENsaWVudDogQ291bGQgbm90IHJldHJpZXZlIGxvZ2luIGNv bmZpZ3VyYXRpb246IGphdmEubGFuZy5TZWN1cml0eUV4Y2VwdGlvbjogVW5hYmxlIHRvIGxvY2F0 ZSBhIGxvZ2luIGNvbmZpZ3VyYXRpb24KMjAxNC0wNC0wMyAxNTo1NjoxOCw1NDIgREVCVUcgb3Jn LmFwYWNoZS56b29rZWVwZXIuY2xpZW50Llpvb0tlZXBlclNhc2xDbGllbnQ6IENvdWxkIG5vdCBy ZXRyaWV2ZSBsb2dpbiBjb25maWd1cmF0aW9uOiBqYXZhLmxhbmcuU2VjdXJpdHlFeGNlcHRpb246 IFVuYWJsZSB0byBsb2NhdGUgYSBsb2dpbiBjb25maWd1cmF0aW9uCjIwMTQtMDQtMDMgMTU6NTY6 MTgsNTQzIERFQlVHIG9yZy5hcGFjaGUuem9va2VlcGVyLmNsaWVudC5ab29LZWVwZXJTYXNsQ2xp ZW50OiBDb3VsZCBub3QgcmV0cmlldmUgbG9naW4gY29uZmlndXJhdGlvbjogamF2YS5sYW5nLlNl Y3VyaXR5RXhjZXB0aW9uOiBVbmFibGUgdG8gbG9jYXRlIGEgbG9naW4gY29uZmlndXJhdGlvbgoy MDE0LTA0LTAzIDE1OjU2OjE4LDU0MyBERUJVRyBvcmcuYXBhY2hlLnpvb2tlZXBlci5jbGllbnQu Wm9vS2VlcGVyU2FzbENsaWVudDogQ291bGQgbm90IHJldHJpZXZlIGxvZ2luIGNvbmZpZ3VyYXRp b246IGphdmEubGFuZy5TZWN1cml0eUV4Y2VwdGlvbjogVW5hYmxlIHRvIGxvY2F0ZSBhIGxvZ2lu IGNvbmZpZ3VyYXRpb24KMjAxNC0wNC0wMyAxNTo1NjoxOCw1NDQgREVCVUcgb3JnLmFwYWNoZS56 b29rZWVwZXIuQ2xpZW50Q254bjogUmVhZGluZyByZXBseSBzZXNzaW9uaWQ6MHgxNDUyOTQzNWVk NzAwNGMsIHBhY2tldDo6IGNsaWVudFBhdGg6bnVsbCBzZXJ2ZXJQYXRoOm51bGwgZmluaXNoZWQ6 ZmFsc2UgaGVhZGVyOjogNiw0ICByZXBseUhlYWRlcjo6IDYsMTA1OSwwICByZXF1ZXN0OjogJy9o YmFzZS9yb290LXJlZ2lvbi1zZXJ2ZXIsVCAgcmVzcG9uc2U6OiAjZmZmZmZmZmYwMDAxYjMyMzMz MzM0MzY0MDZjNmY2MzYxNmM2ODZmNzM3NDJlNmM2ZjYzNjE2YzY0NmY2ZDYxNjk2ZTZjNmY2MzYx NmM2ODZmNzM3NDJlNmM2ZjYzNjE2YzY0NmY2ZDYxNjk2ZTJjMzYzMDMwMzIzMDJjMzEzMzM5MzYz NTM2MzUzMTMzMzIzNjM1MzIsc3sxMDIzLDEwMjMsMTM5NjU2NTE0MjMzMCwxMzk2NTY1MTQyMzMw LDAsMCwwLDAsNzMsMCwxMDIzfSAKMjAxNC0wNC0wMyAxNTo1NjoxOCw1NDQgREVCVUcgb3JnLmFw YWNoZS5oYWRvb3AuaGJhc2Uuem9va2VlcGVyLlpLVXRpbDogaGNvbm5lY3Rpb24tMHgxNDUyOTQz NWVkNzAwNGMgUmV0cmlldmVkIDQxIGJ5dGUocykgb2YgZGF0YSBmcm9tIHpub2RlIC9oYmFzZS9y b290LXJlZ2lvbi1zZXJ2ZXIgYW5kIHNldCB3YXRjaGVyOyBsb2NhbGhvc3QubG9jYWxkb21haW4s NjAwMjAsMS4uLgoyMDE0LTA0LTAzIDE1OjU2OjE4LDU0OCBERUJVRyBvcmcuYXBhY2hlLmhhZG9v cC5pcGMuSEJhc2VSUEM6IFVzaW5nIFJwY0VuZ2luZTogb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2Uu aXBjLldyaXRhYmxlUnBjRW5naW5lCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTUwIERFQlVHIG9yZy5h cGFjaGUuem9va2VlcGVyLmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBDb3VsZCBub3QgcmV0 cmlldmUgbG9naW4gY29uZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5RXhjZXB0aW9uOiBV bmFibGUgdG8gbG9jYXRlIGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0LTAzIDE1OjU2OjE4 LDU1NyBERUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5pcGMuSEJhc2VDbGllbnQ6IFRoZSBwaW5nIGlu dGVydmFsIGlzNjAwMDBtcy4KMjAxNC0wNC0wMyAxNTo1NjoxOCw1NjAgREVCVUcgb3JnLmFwYWNo ZS56b29rZWVwZXIuY2xpZW50Llpvb0tlZXBlclNhc2xDbGllbnQ6IENvdWxkIG5vdCByZXRyaWV2 ZSBsb2dpbiBjb25maWd1cmF0aW9uOiBqYXZhLmxhbmcuU2VjdXJpdHlFeGNlcHRpb246IFVuYWJs ZSB0byBsb2NhdGUgYSBsb2dpbiBjb25maWd1cmF0aW9uCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTYx IERFQlVHIG9yZy5hcGFjaGUuem9va2VlcGVyLmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBD b3VsZCBub3QgcmV0cmlldmUgbG9naW4gY29uZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5 RXhjZXB0aW9uOiBVbmFibGUgdG8gbG9jYXRlIGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0 LTAzIDE1OjU2OjE4LDU2MSBERUJVRyBvcmcuYXBhY2hlLnpvb2tlZXBlci5jbGllbnQuWm9vS2Vl cGVyU2FzbENsaWVudDogQ291bGQgbm90IHJldHJpZXZlIGxvZ2luIGNvbmZpZ3VyYXRpb246IGph dmEubGFuZy5TZWN1cml0eUV4Y2VwdGlvbjogVW5hYmxlIHRvIGxvY2F0ZSBhIGxvZ2luIGNvbmZp Z3VyYXRpb24KMjAxNC0wNC0wMyAxNTo1NjoxOCw1NjIgREVCVUcgb3JnLmFwYWNoZS56b29rZWVw ZXIuY2xpZW50Llpvb0tlZXBlclNhc2xDbGllbnQ6IENvdWxkIG5vdCByZXRyaWV2ZSBsb2dpbiBj b25maWd1cmF0aW9uOiBqYXZhLmxhbmcuU2VjdXJpdHlFeGNlcHRpb246IFVuYWJsZSB0byBsb2Nh dGUgYSBsb2dpbiBjb25maWd1cmF0aW9uCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTYyIERFQlVHIG9y Zy5hcGFjaGUuem9va2VlcGVyLmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBDb3VsZCBub3Qg cmV0cmlldmUgbG9naW4gY29uZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5RXhjZXB0aW9u OiBVbmFibGUgdG8gbG9jYXRlIGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0LTAzIDE1OjU2 OjE4LDU2MyBERUJVRyBvcmcuYXBhY2hlLnpvb2tlZXBlci5DbGllbnRDbnhuOiBSZWFkaW5nIHJl cGx5IHNlc3Npb25pZDoweDE0NTI5NDM1ZWQ3MDA0YywgcGFja2V0OjogY2xpZW50UGF0aDpudWxs IHNlcnZlclBhdGg6bnVsbCBmaW5pc2hlZDpmYWxzZSBoZWFkZXI6OiA3LDMgIHJlcGx5SGVhZGVy OjogNywxMDU5LDAgIHJlcXVlc3Q6OiAnL2hiYXNlLEYgIHJlc3BvbnNlOjogc3s0Myw0MywxMzk2 NDgwNDg5NTQzLDEzOTY0ODA0ODk1NDMsMCw2MywwLDAsMCwxMywxMDIzfSAKMjAxNC0wNC0wMyAx NTo1NjoxOCw1NjMgREVCVUcgb3JnLmFwYWNoZS56b29rZWVwZXIuY2xpZW50Llpvb0tlZXBlclNh c2xDbGllbnQ6IENvdWxkIG5vdCByZXRyaWV2ZSBsb2dpbiBjb25maWd1cmF0aW9uOiBqYXZhLmxh bmcuU2VjdXJpdHlFeGNlcHRpb246IFVuYWJsZSB0byBsb2NhdGUgYSBsb2dpbiBjb25maWd1cmF0 aW9uCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTg5IERFQlVHIG9yZy5hcGFjaGUuaGFkb29wLmlwYy5I QmFzZUNsaWVudDogQ29ubmVjdGluZyB0byBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJh c2VDbGllbnQkQ29ubmVjdGlvbklkQDgzZmJiOWRkCjIwMTQtMDQtMDMgMTU6NTY6MTgsNTk5IERF QlVHIG9yZy5hcGFjaGUuaGFkb29wLmlwYy5IQmFzZUNsaWVudDogY2xvc2luZyBpcGMgY29ubmVj dGlvbiB0byBsb2NhbGhvc3QubG9jYWxkb21haW4vMTI3LjAuMC4xOjYwMDAwOiBDb3VsZCBub3Qg c2V0IHVwIElPIFN0cmVhbXMKamF2YS5pby5JT0V4Y2VwdGlvbjogQ291bGQgbm90IHNldCB1cCBJ TyBTdHJlYW1zCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQkQ29u bmVjdGlvbi5zZXR1cElPc3RyZWFtcyhIQmFzZUNsaWVudC5qYXZhOjQ1NikKCWF0IG9yZy5hcGFj aGUuaGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudC5nZXRDb25uZWN0aW9uKEhCYXNlQ2xpZW50 LmphdmE6MTE0MSkKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudC5j YWxsKEhCYXNlQ2xpZW50LmphdmE6OTg4KQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBj LldyaXRhYmxlUnBjRW5naW5lJEludm9rZXIuaW52b2tlKFdyaXRhYmxlUnBjRW5naW5lLmphdmE6 ODcpCglhdCAkUHJveHk3LmdldFByb3RvY29sVmVyc2lvbihVbmtub3duIFNvdXJjZSkKCWF0IG9y Zy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5Xcml0YWJsZVJwY0VuZ2luZS5nZXRQcm94eShXcml0 YWJsZVJwY0VuZ2luZS5qYXZhOjE0MSkKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmNsaWVu dC5IQ29ubmVjdGlvbk1hbmFnZXIkSENvbm5lY3Rpb25JbXBsZW1lbnRhdGlvbi5nZXRNYXN0ZXIo SENvbm5lY3Rpb25NYW5hZ2VyLmphdmE6ODEzKQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2Uu Y2xpZW50LkhCYXNlQWRtaW4uPGluaXQ+KEhCYXNlQWRtaW4uamF2YToxMjcpCglhdCBvcmcuYXBh Y2hlLnBob2VuaXgucXVlcnkuQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmVuc3VyZVRhYmxl Q3JlYXRlZChDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YTo3MzkpCglhdCBvcmcuYXBh Y2hlLnBob2VuaXgucXVlcnkuQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmNyZWF0ZVRhYmxl KENvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5qYXZhOjEwMjEpCglhdCBvcmcuYXBhY2hlLnBo b2VuaXguc2NoZW1hLk1ldGFEYXRhQ2xpZW50LmNyZWF0ZVRhYmxlSW50ZXJuYWwoTWV0YURhdGFD bGllbnQuamF2YToxMTU2KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnNjaGVtYS5NZXRhRGF0YUNs aWVudC5jcmVhdGVUYWJsZShNZXRhRGF0YUNsaWVudC5qYXZhOjQyMikKCWF0IG9yZy5hcGFjaGUu cGhvZW5peC5jb21waWxlLkNyZWF0ZVRhYmxlQ29tcGlsZXIkMi5leGVjdXRlKENyZWF0ZVRhYmxl Q29tcGlsZXIuamF2YToxODMpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4U3Rh dGVtZW50LmV4ZWN1dGVNdXRhdGlvbihQaG9lbml4U3RhdGVtZW50LmphdmE6MjI2KQoJYXQgb3Jn LmFwYWNoZS5waG9lbml4LmpkYmMuUGhvZW5peFN0YXRlbWVudC5leGVjdXRlVXBkYXRlKFBob2Vu aXhTdGF0ZW1lbnQuamF2YTo5MDgpCglhdCBvcmcuYXBhY2hlLnBob2VuaXgucXVlcnkuQ29ubmVj dGlvblF1ZXJ5U2VydmljZXNJbXBsLmluaXQoQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmph dmE6MTM1MSkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhEcml2ZXIuZ2V0Q29u bmVjdGlvblF1ZXJ5U2VydmljZXMoUGhvZW5peERyaXZlci5qYXZhOjEzMSkKCWF0IG9yZy5hcGFj aGUucGhvZW5peC5qZGJjLlBob2VuaXhFbWJlZGRlZERyaXZlci5jb25uZWN0KFBob2VuaXhFbWJl ZGRlZERyaXZlci5qYXZhOjExMikKCWF0IHNxbGxpbmUuU3FsTGluZSREYXRhYmFzZUNvbm5lY3Rp b24uY29ubmVjdChTcWxMaW5lLmphdmE6NDY1MCkKCWF0IHNxbGxpbmUuU3FsTGluZSREYXRhYmFz ZUNvbm5lY3Rpb24uZ2V0Q29ubmVjdGlvbihTcWxMaW5lLmphdmE6NDcwMSkKCWF0IHNxbGxpbmUu U3FsTGluZSRDb21tYW5kcy5jb25uZWN0KFNxbExpbmUuamF2YTozOTQyKQoJYXQgc3FsbGluZS5T cWxMaW5lJENvbW1hbmRzLmNvbm5lY3QoU3FsTGluZS5qYXZhOjM4NTEpCglhdCBzdW4ucmVmbGVj dC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3Vu LnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nl c3NvckltcGwuamF2YTozOSkKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3Nv ckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YToyNSkKCWF0IGph dmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NTk3KQoJYXQgc3FsbGlu ZS5TcWxMaW5lJFJlZmxlY3RpdmVDb21tYW5kSGFuZGxlci5leGVjdXRlKFNxbExpbmUuamF2YToy ODEwKQoJYXQgc3FsbGluZS5TcWxMaW5lLmRpc3BhdGNoKFNxbExpbmUuamF2YTo4MTcpCglhdCBz cWxsaW5lLlNxbExpbmUuaW5pdEFyZ3MoU3FsTGluZS5qYXZhOjYzMykKCWF0IHNxbGxpbmUuU3Fs TGluZS5iZWdpbihTcWxMaW5lLmphdmE6NjgwKQoJYXQgc3FsbGluZS5TcWxMaW5lLm1haW5XaXRo SW5wdXRSZWRpcmVjdGlvbihTcWxMaW5lLmphdmE6NDQxKQoJYXQgc3FsbGluZS5TcWxMaW5lLm1h aW4oU3FsTGluZS5qYXZhOjQyNCkKQ2F1c2VkIGJ5OiBqYXZhLmxhbmcuTm9TdWNoTWV0aG9kRXJy b3I6IG9yZy5hcGFjaGUuaGFkb29wLm5ldC5OZXRVdGlscy5nZXRJbnB1dFN0cmVhbShMamF2YS9u ZXQvU29ja2V0OylMamF2YS9pby9JbnB1dFN0cmVhbTsKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhi YXNlLmlwYy5IQmFzZUNsaWVudCRDb25uZWN0aW9uLnNldHVwSU9zdHJlYW1zKEhCYXNlQ2xpZW50 LmphdmE6NDM5KQoJLi4uIDMxIG1vcmUKMjAxNC0wNC0wMyAxNTo1NjoxOCw2MDIgREVCVUcgb3Jn LmFwYWNoZS5oYWRvb3AuaXBjLkhCYXNlQ2xpZW50OiBJUEMgQ2xpZW50ICgxNjgxNjk4OTMzKSBj b25uZWN0aW9uIHRvIGxvY2FsaG9zdC5sb2NhbGRvbWFpbi8xMjcuMC4wLjE6NjAwMDAgZnJvbSBj bG91ZGVyYTogY2xvc2VkCjIwMTQtMDQtMDMgMTU6NTY6MTgsNjAyIElORk8gb3JnLmFwYWNoZS5o YWRvb3AuaGJhc2UuY2xpZW50LkhDb25uZWN0aW9uTWFuYWdlciRIQ29ubmVjdGlvbkltcGxlbWVu dGF0aW9uOiBnZXRNYXN0ZXIgYXR0ZW1wdCAwIG9mIDEwIGZhaWxlZDsgcmV0cnlpbmcgYWZ0ZXIg c2xlZXAgb2YgMTAwOQpqYXZhLmlvLklPRXhjZXB0aW9uOiBDb3VsZCBub3Qgc2V0IHVwIElPIFN0 cmVhbXMKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudCRDb25uZWN0 aW9uLnNldHVwSU9zdHJlYW1zKEhCYXNlQ2xpZW50LmphdmE6NDU2KQoJYXQgb3JnLmFwYWNoZS5o YWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50LmdldENvbm5lY3Rpb24oSEJhc2VDbGllbnQuamF2 YToxMTQxKQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50LmNhbGwo SEJhc2VDbGllbnQuamF2YTo5ODgpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuV3Jp dGFibGVScGNFbmdpbmUkSW52b2tlci5pbnZva2UoV3JpdGFibGVScGNFbmdpbmUuamF2YTo4NykK CWF0ICRQcm94eTcuZ2V0UHJvdG9jb2xWZXJzaW9uKFVua25vd24gU291cmNlKQoJYXQgb3JnLmFw YWNoZS5oYWRvb3AuaGJhc2UuaXBjLldyaXRhYmxlUnBjRW5naW5lLmdldFByb3h5KFdyaXRhYmxl UnBjRW5naW5lLmphdmE6MTQxKQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuY2xpZW50LkhD b25uZWN0aW9uTWFuYWdlciRIQ29ubmVjdGlvbkltcGxlbWVudGF0aW9uLmdldE1hc3RlcihIQ29u bmVjdGlvbk1hbmFnZXIuamF2YTo4MTMpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5jbGll bnQuSEJhc2VBZG1pbi48aW5pdD4oSEJhc2VBZG1pbi5qYXZhOjEyNykKCWF0IG9yZy5hcGFjaGUu cGhvZW5peC5xdWVyeS5Db25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuZW5zdXJlVGFibGVDcmVh dGVkKENvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5qYXZhOjczOSkKCWF0IG9yZy5hcGFjaGUu cGhvZW5peC5xdWVyeS5Db25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuY3JlYXRlVGFibGUoQ29u bmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmphdmE6MTAyMSkKCWF0IG9yZy5hcGFjaGUucGhvZW5p eC5zY2hlbWEuTWV0YURhdGFDbGllbnQuY3JlYXRlVGFibGVJbnRlcm5hbChNZXRhRGF0YUNsaWVu dC5qYXZhOjExNTYpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguc2NoZW1hLk1ldGFEYXRhQ2xpZW50 LmNyZWF0ZVRhYmxlKE1ldGFEYXRhQ2xpZW50LmphdmE6NDIyKQoJYXQgb3JnLmFwYWNoZS5waG9l bml4LmNvbXBpbGUuQ3JlYXRlVGFibGVDb21waWxlciQyLmV4ZWN1dGUoQ3JlYXRlVGFibGVDb21w aWxlci5qYXZhOjE4MykKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhTdGF0ZW1l bnQuZXhlY3V0ZU11dGF0aW9uKFBob2VuaXhTdGF0ZW1lbnQuamF2YToyMjYpCglhdCBvcmcuYXBh Y2hlLnBob2VuaXguamRiYy5QaG9lbml4U3RhdGVtZW50LmV4ZWN1dGVVcGRhdGUoUGhvZW5peFN0 YXRlbWVudC5qYXZhOjkwOCkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5xdWVyeS5Db25uZWN0aW9u UXVlcnlTZXJ2aWNlc0ltcGwuaW5pdChDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YTox MzUxKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmpkYmMuUGhvZW5peERyaXZlci5nZXRDb25uZWN0 aW9uUXVlcnlTZXJ2aWNlcyhQaG9lbml4RHJpdmVyLmphdmE6MTMxKQoJYXQgb3JnLmFwYWNoZS5w aG9lbml4LmpkYmMuUGhvZW5peEVtYmVkZGVkRHJpdmVyLmNvbm5lY3QoUGhvZW5peEVtYmVkZGVk RHJpdmVyLmphdmE6MTEyKQoJYXQgc3FsbGluZS5TcWxMaW5lJERhdGFiYXNlQ29ubmVjdGlvbi5j b25uZWN0KFNxbExpbmUuamF2YTo0NjUwKQoJYXQgc3FsbGluZS5TcWxMaW5lJERhdGFiYXNlQ29u bmVjdGlvbi5nZXRDb25uZWN0aW9uKFNxbExpbmUuamF2YTo0NzAxKQoJYXQgc3FsbGluZS5TcWxM aW5lJENvbW1hbmRzLmNvbm5lY3QoU3FsTGluZS5qYXZhOjM5NDIpCglhdCBzcWxsaW5lLlNxbExp bmUkQ29tbWFuZHMuY29ubmVjdChTcWxMaW5lLmphdmE6Mzg1MSkKCWF0IHN1bi5yZWZsZWN0Lk5h dGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4ucmVm bGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29y SW1wbC5qYXZhOjM5KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1w bC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjI1KQoJYXQgamF2YS5s YW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo1OTcpCglhdCBzcWxsaW5lLlNx bExpbmUkUmVmbGVjdGl2ZUNvbW1hbmRIYW5kbGVyLmV4ZWN1dGUoU3FsTGluZS5qYXZhOjI4MTAp CglhdCBzcWxsaW5lLlNxbExpbmUuZGlzcGF0Y2goU3FsTGluZS5qYXZhOjgxNykKCWF0IHNxbGxp bmUuU3FsTGluZS5pbml0QXJncyhTcWxMaW5lLmphdmE6NjMzKQoJYXQgc3FsbGluZS5TcWxMaW5l LmJlZ2luKFNxbExpbmUuamF2YTo2ODApCglhdCBzcWxsaW5lLlNxbExpbmUubWFpbldpdGhJbnB1 dFJlZGlyZWN0aW9uKFNxbExpbmUuamF2YTo0NDEpCglhdCBzcWxsaW5lLlNxbExpbmUubWFpbihT cWxMaW5lLmphdmE6NDI0KQpDYXVzZWQgYnk6IGphdmEubGFuZy5Ob1N1Y2hNZXRob2RFcnJvcjog b3JnLmFwYWNoZS5oYWRvb3AubmV0Lk5ldFV0aWxzLmdldElucHV0U3RyZWFtKExqYXZhL25ldC9T b2NrZXQ7KUxqYXZhL2lvL0lucHV0U3RyZWFtOwoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2Uu aXBjLkhCYXNlQ2xpZW50JENvbm5lY3Rpb24uc2V0dXBJT3N0cmVhbXMoSEJhc2VDbGllbnQuamF2 YTo0MzkpCgkuLi4gMzEgbW9yZQoyMDE0LTA0LTAzIDE1OjU2OjE5LDYwNSBERUJVRyBvcmcuYXBh Y2hlLmhhZG9vcC5pcGMuSEJhc2VDbGllbnQ6IE5vdCB0cnlpbmcgdG8gY29ubmVjdCB0byBsb2Nh bGhvc3QubG9jYWxkb21haW4vMTI3LjAuMC4xOjYwMDAwIHRoaXMgc2VydmVyIGlzIGluIHRoZSBm YWlsZWQgc2VydmVycyBsaXN0CjIwMTQtMDQtMDMgMTU6NTY6MTksNjA1IERFQlVHIG9yZy5hcGFj aGUuaGFkb29wLmlwYy5IQmFzZUNsaWVudDogY2xvc2luZyBpcGMgY29ubmVjdGlvbiB0byBsb2Nh bGhvc3QubG9jYWxkb21haW4vMTI3LjAuMC4xOjYwMDAwOiBUaGlzIHNlcnZlciBpcyBpbiB0aGUg ZmFpbGVkIHNlcnZlcnMgbGlzdDogbG9jYWxob3N0LmxvY2FsZG9tYWluLzEyNy4wLjAuMTo2MDAw MApvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQkRmFpbGVkU2VydmVyRXhj ZXB0aW9uOiBUaGlzIHNlcnZlciBpcyBpbiB0aGUgZmFpbGVkIHNlcnZlcnMgbGlzdDogbG9jYWxo b3N0LmxvY2FsZG9tYWluLzEyNy4wLjAuMTo2MDAwMAoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJh c2UuaXBjLkhCYXNlQ2xpZW50JENvbm5lY3Rpb24uc2V0dXBJT3N0cmVhbXMoSEJhc2VDbGllbnQu amF2YTo0MjcpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQuZ2V0 Q29ubmVjdGlvbihIQmFzZUNsaWVudC5qYXZhOjExNDEpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5o YmFzZS5pcGMuSEJhc2VDbGllbnQuY2FsbChIQmFzZUNsaWVudC5qYXZhOjk4OCkKCWF0IG9yZy5h cGFjaGUuaGFkb29wLmhiYXNlLmlwYy5Xcml0YWJsZVJwY0VuZ2luZSRJbnZva2VyLmludm9rZShX cml0YWJsZVJwY0VuZ2luZS5qYXZhOjg3KQoJYXQgJFByb3h5Ny5nZXRQcm90b2NvbFZlcnNpb24o VW5rbm93biBTb3VyY2UpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuV3JpdGFibGVS cGNFbmdpbmUuZ2V0UHJveHkoV3JpdGFibGVScGNFbmdpbmUuamF2YToxNDEpCglhdCBvcmcuYXBh Y2hlLmhhZG9vcC5oYmFzZS5jbGllbnQuSENvbm5lY3Rpb25NYW5hZ2VyJEhDb25uZWN0aW9uSW1w bGVtZW50YXRpb24uZ2V0TWFzdGVyKEhDb25uZWN0aW9uTWFuYWdlci5qYXZhOjgxMykKCWF0IG9y Zy5hcGFjaGUuaGFkb29wLmhiYXNlLmNsaWVudC5IQmFzZUFkbWluLjxpbml0PihIQmFzZUFkbWlu LmphdmE6MTI3KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNl cnZpY2VzSW1wbC5lbnN1cmVUYWJsZUNyZWF0ZWQoQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBs LmphdmE6NzM5KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNl cnZpY2VzSW1wbC5jcmVhdGVUYWJsZShDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YTox MDIxKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnNjaGVtYS5NZXRhRGF0YUNsaWVudC5jcmVhdGVU YWJsZUludGVybmFsKE1ldGFEYXRhQ2xpZW50LmphdmE6MTE1NikKCWF0IG9yZy5hcGFjaGUucGhv ZW5peC5zY2hlbWEuTWV0YURhdGFDbGllbnQuY3JlYXRlVGFibGUoTWV0YURhdGFDbGllbnQuamF2 YTo0MjIpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguY29tcGlsZS5DcmVhdGVUYWJsZUNvbXBpbGVy JDIuZXhlY3V0ZShDcmVhdGVUYWJsZUNvbXBpbGVyLmphdmE6MTgzKQoJYXQgb3JnLmFwYWNoZS5w aG9lbml4LmpkYmMuUGhvZW5peFN0YXRlbWVudC5leGVjdXRlTXV0YXRpb24oUGhvZW5peFN0YXRl bWVudC5qYXZhOjIyNikKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhTdGF0ZW1l bnQuZXhlY3V0ZVVwZGF0ZShQaG9lbml4U3RhdGVtZW50LmphdmE6OTA4KQoJYXQgb3JnLmFwYWNo ZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5pbml0KENvbm5lY3Rp b25RdWVyeVNlcnZpY2VzSW1wbC5qYXZhOjEzNTEpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRi Yy5QaG9lbml4RHJpdmVyLmdldENvbm5lY3Rpb25RdWVyeVNlcnZpY2VzKFBob2VuaXhEcml2ZXIu amF2YToxMzEpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4RW1iZWRkZWREcml2 ZXIuY29ubmVjdChQaG9lbml4RW1iZWRkZWREcml2ZXIuamF2YToxMTIpCglhdCBzcWxsaW5lLlNx bExpbmUkRGF0YWJhc2VDb25uZWN0aW9uLmNvbm5lY3QoU3FsTGluZS5qYXZhOjQ2NTApCglhdCBz cWxsaW5lLlNxbExpbmUkRGF0YWJhc2VDb25uZWN0aW9uLmdldENvbm5lY3Rpb24oU3FsTGluZS5q YXZhOjQ3MDEpCglhdCBzcWxsaW5lLlNxbExpbmUkQ29tbWFuZHMuY29ubmVjdChTcWxMaW5lLmph dmE6Mzk0MikKCWF0IHNxbGxpbmUuU3FsTGluZSRDb21tYW5kcy5jb25uZWN0KFNxbExpbmUuamF2 YTozODUxKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAo TmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5p bnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6MzkpCglhdCBzdW4ucmVmbGVjdC5E ZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNz b3JJbXBsLmphdmE6MjUpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhv ZC5qYXZhOjU5NykKCWF0IHNxbGxpbmUuU3FsTGluZSRSZWZsZWN0aXZlQ29tbWFuZEhhbmRsZXIu ZXhlY3V0ZShTcWxMaW5lLmphdmE6MjgxMCkKCWF0IHNxbGxpbmUuU3FsTGluZS5kaXNwYXRjaChT cWxMaW5lLmphdmE6ODE3KQoJYXQgc3FsbGluZS5TcWxMaW5lLmluaXRBcmdzKFNxbExpbmUuamF2 YTo2MzMpCglhdCBzcWxsaW5lLlNxbExpbmUuYmVnaW4oU3FsTGluZS5qYXZhOjY4MCkKCWF0IHNx bGxpbmUuU3FsTGluZS5tYWluV2l0aElucHV0UmVkaXJlY3Rpb24oU3FsTGluZS5qYXZhOjQ0MSkK CWF0IHNxbGxpbmUuU3FsTGluZS5tYWluKFNxbExpbmUuamF2YTo0MjQpCjIwMTQtMDQtMDMgMTU6 NTY6MTksNjA2IERFQlVHIG9yZy5hcGFjaGUuaGFkb29wLmlwYy5IQmFzZUNsaWVudDogSVBDIENs aWVudCAoMTY4MTY5ODkzMykgY29ubmVjdGlvbiB0byBsb2NhbGhvc3QubG9jYWxkb21haW4vMTI3 LjAuMC4xOjYwMDAwIGZyb20gY2xvdWRlcmE6IGNsb3NlZAoyMDE0LTA0LTAzIDE1OjU2OjE5LDYw NiBJTkZPIG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmNsaWVudC5IQ29ubmVjdGlvbk1hbmFnZXIk SENvbm5lY3Rpb25JbXBsZW1lbnRhdGlvbjogZ2V0TWFzdGVyIGF0dGVtcHQgMSBvZiAxMCBmYWls ZWQ7IHJldHJ5aW5nIGFmdGVyIHNsZWVwIG9mIDEwMDIKb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2Uu aXBjLkhCYXNlQ2xpZW50JEZhaWxlZFNlcnZlckV4Y2VwdGlvbjogVGhpcyBzZXJ2ZXIgaXMgaW4g dGhlIGZhaWxlZCBzZXJ2ZXJzIGxpc3Q6IGxvY2FsaG9zdC5sb2NhbGRvbWFpbi8xMjcuMC4wLjE6 NjAwMDAKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudCRDb25uZWN0 aW9uLnNldHVwSU9zdHJlYW1zKEhCYXNlQ2xpZW50LmphdmE6NDI3KQoJYXQgb3JnLmFwYWNoZS5o YWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50LmdldENvbm5lY3Rpb24oSEJhc2VDbGllbnQuamF2 YToxMTQxKQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50LmNhbGwo SEJhc2VDbGllbnQuamF2YTo5ODgpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuV3Jp dGFibGVScGNFbmdpbmUkSW52b2tlci5pbnZva2UoV3JpdGFibGVScGNFbmdpbmUuamF2YTo4NykK CWF0ICRQcm94eTcuZ2V0UHJvdG9jb2xWZXJzaW9uKFVua25vd24gU291cmNlKQoJYXQgb3JnLmFw YWNoZS5oYWRvb3AuaGJhc2UuaXBjLldyaXRhYmxlUnBjRW5naW5lLmdldFByb3h5KFdyaXRhYmxl UnBjRW5naW5lLmphdmE6MTQxKQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuY2xpZW50LkhD b25uZWN0aW9uTWFuYWdlciRIQ29ubmVjdGlvbkltcGxlbWVudGF0aW9uLmdldE1hc3RlcihIQ29u bmVjdGlvbk1hbmFnZXIuamF2YTo4MTMpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5jbGll bnQuSEJhc2VBZG1pbi48aW5pdD4oSEJhc2VBZG1pbi5qYXZhOjEyNykKCWF0IG9yZy5hcGFjaGUu cGhvZW5peC5xdWVyeS5Db25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuZW5zdXJlVGFibGVDcmVh dGVkKENvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5qYXZhOjczOSkKCWF0IG9yZy5hcGFjaGUu cGhvZW5peC5xdWVyeS5Db25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuY3JlYXRlVGFibGUoQ29u bmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmphdmE6MTAyMSkKCWF0IG9yZy5hcGFjaGUucGhvZW5p eC5zY2hlbWEuTWV0YURhdGFDbGllbnQuY3JlYXRlVGFibGVJbnRlcm5hbChNZXRhRGF0YUNsaWVu dC5qYXZhOjExNTYpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguc2NoZW1hLk1ldGFEYXRhQ2xpZW50 LmNyZWF0ZVRhYmxlKE1ldGFEYXRhQ2xpZW50LmphdmE6NDIyKQoJYXQgb3JnLmFwYWNoZS5waG9l bml4LmNvbXBpbGUuQ3JlYXRlVGFibGVDb21waWxlciQyLmV4ZWN1dGUoQ3JlYXRlVGFibGVDb21w aWxlci5qYXZhOjE4MykKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhTdGF0ZW1l bnQuZXhlY3V0ZU11dGF0aW9uKFBob2VuaXhTdGF0ZW1lbnQuamF2YToyMjYpCglhdCBvcmcuYXBh Y2hlLnBob2VuaXguamRiYy5QaG9lbml4U3RhdGVtZW50LmV4ZWN1dGVVcGRhdGUoUGhvZW5peFN0 YXRlbWVudC5qYXZhOjkwOCkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5xdWVyeS5Db25uZWN0aW9u UXVlcnlTZXJ2aWNlc0ltcGwuaW5pdChDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YTox MzUxKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmpkYmMuUGhvZW5peERyaXZlci5nZXRDb25uZWN0 aW9uUXVlcnlTZXJ2aWNlcyhQaG9lbml4RHJpdmVyLmphdmE6MTMxKQoJYXQgb3JnLmFwYWNoZS5w aG9lbml4LmpkYmMuUGhvZW5peEVtYmVkZGVkRHJpdmVyLmNvbm5lY3QoUGhvZW5peEVtYmVkZGVk RHJpdmVyLmphdmE6MTEyKQoJYXQgc3FsbGluZS5TcWxMaW5lJERhdGFiYXNlQ29ubmVjdGlvbi5j b25uZWN0KFNxbExpbmUuamF2YTo0NjUwKQoJYXQgc3FsbGluZS5TcWxMaW5lJERhdGFiYXNlQ29u bmVjdGlvbi5nZXRDb25uZWN0aW9uKFNxbExpbmUuamF2YTo0NzAxKQoJYXQgc3FsbGluZS5TcWxM aW5lJENvbW1hbmRzLmNvbm5lY3QoU3FsTGluZS5qYXZhOjM5NDIpCglhdCBzcWxsaW5lLlNxbExp bmUkQ29tbWFuZHMuY29ubmVjdChTcWxMaW5lLmphdmE6Mzg1MSkKCWF0IHN1bi5yZWZsZWN0Lk5h dGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4ucmVm bGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29y SW1wbC5qYXZhOjM5KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1w bC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjI1KQoJYXQgamF2YS5s YW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo1OTcpCglhdCBzcWxsaW5lLlNx bExpbmUkUmVmbGVjdGl2ZUNvbW1hbmRIYW5kbGVyLmV4ZWN1dGUoU3FsTGluZS5qYXZhOjI4MTAp CglhdCBzcWxsaW5lLlNxbExpbmUuZGlzcGF0Y2goU3FsTGluZS5qYXZhOjgxNykKCWF0IHNxbGxp bmUuU3FsTGluZS5pbml0QXJncyhTcWxMaW5lLmphdmE6NjMzKQoJYXQgc3FsbGluZS5TcWxMaW5l LmJlZ2luKFNxbExpbmUuamF2YTo2ODApCglhdCBzcWxsaW5lLlNxbExpbmUubWFpbldpdGhJbnB1 dFJlZGlyZWN0aW9uKFNxbExpbmUuamF2YTo0NDEpCglhdCBzcWxsaW5lLlNxbExpbmUubWFpbihT cWxMaW5lLmphdmE6NDI0KQoyMDE0LTA0LTAzIDE1OjU2OjIwLDYwOCBERUJVRyBvcmcuYXBhY2hl LmhhZG9vcC5pcGMuSEJhc2VDbGllbnQ6IENvbm5lY3RpbmcgdG8gb3JnLmFwYWNoZS5oYWRvb3Au aGJhc2UuaXBjLkhCYXNlQ2xpZW50JENvbm5lY3Rpb25JZEA4M2ZiYjlkZAoyMDE0LTA0LTAzIDE1 OjU2OjIwLDYwOCBERUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5pcGMuSEJhc2VDbGllbnQ6IGNsb3Np bmcgaXBjIGNvbm5lY3Rpb24gdG8gbG9jYWxob3N0LmxvY2FsZG9tYWluLzEyNy4wLjAuMTo2MDAw MDogQ291bGQgbm90IHNldCB1cCBJTyBTdHJlYW1zCmphdmEuaW8uSU9FeGNlcHRpb246IENvdWxk IG5vdCBzZXQgdXAgSU8gU3RyZWFtcwoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhC YXNlQ2xpZW50JENvbm5lY3Rpb24uc2V0dXBJT3N0cmVhbXMoSEJhc2VDbGllbnQuamF2YTo0NTYp CglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQuZ2V0Q29ubmVjdGlv bihIQmFzZUNsaWVudC5qYXZhOjExNDEpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMu SEJhc2VDbGllbnQuY2FsbChIQmFzZUNsaWVudC5qYXZhOjk4OCkKCWF0IG9yZy5hcGFjaGUuaGFk b29wLmhiYXNlLmlwYy5Xcml0YWJsZVJwY0VuZ2luZSRJbnZva2VyLmludm9rZShXcml0YWJsZVJw Y0VuZ2luZS5qYXZhOjg3KQoJYXQgJFByb3h5Ny5nZXRQcm90b2NvbFZlcnNpb24oVW5rbm93biBT b3VyY2UpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuV3JpdGFibGVScGNFbmdpbmUu Z2V0UHJveHkoV3JpdGFibGVScGNFbmdpbmUuamF2YToxNDEpCglhdCBvcmcuYXBhY2hlLmhhZG9v cC5oYmFzZS5jbGllbnQuSENvbm5lY3Rpb25NYW5hZ2VyJEhDb25uZWN0aW9uSW1wbGVtZW50YXRp b24uZ2V0TWFzdGVyKEhDb25uZWN0aW9uTWFuYWdlci5qYXZhOjgxMykKCWF0IG9yZy5hcGFjaGUu aGFkb29wLmhiYXNlLmNsaWVudC5IQmFzZUFkbWluLjxpbml0PihIQmFzZUFkbWluLmphdmE6MTI3 KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1w bC5lbnN1cmVUYWJsZUNyZWF0ZWQoQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmphdmE6NzM5 KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1w bC5jcmVhdGVUYWJsZShDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YToxMDIxKQoJYXQg b3JnLmFwYWNoZS5waG9lbml4LnNjaGVtYS5NZXRhRGF0YUNsaWVudC5jcmVhdGVUYWJsZUludGVy bmFsKE1ldGFEYXRhQ2xpZW50LmphdmE6MTE1NikKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5zY2hl bWEuTWV0YURhdGFDbGllbnQuY3JlYXRlVGFibGUoTWV0YURhdGFDbGllbnQuamF2YTo0MjIpCglh dCBvcmcuYXBhY2hlLnBob2VuaXguY29tcGlsZS5DcmVhdGVUYWJsZUNvbXBpbGVyJDIuZXhlY3V0 ZShDcmVhdGVUYWJsZUNvbXBpbGVyLmphdmE6MTgzKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4Lmpk YmMuUGhvZW5peFN0YXRlbWVudC5leGVjdXRlTXV0YXRpb24oUGhvZW5peFN0YXRlbWVudC5qYXZh OjIyNikKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhTdGF0ZW1lbnQuZXhlY3V0 ZVVwZGF0ZShQaG9lbml4U3RhdGVtZW50LmphdmE6OTA4KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4 LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5pbml0KENvbm5lY3Rpb25RdWVyeVNl cnZpY2VzSW1wbC5qYXZhOjEzNTEpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4 RHJpdmVyLmdldENvbm5lY3Rpb25RdWVyeVNlcnZpY2VzKFBob2VuaXhEcml2ZXIuamF2YToxMzEp CglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4RW1iZWRkZWREcml2ZXIuY29ubmVj dChQaG9lbml4RW1iZWRkZWREcml2ZXIuamF2YToxMTIpCglhdCBzcWxsaW5lLlNxbExpbmUkRGF0 YWJhc2VDb25uZWN0aW9uLmNvbm5lY3QoU3FsTGluZS5qYXZhOjQ2NTApCglhdCBzcWxsaW5lLlNx bExpbmUkRGF0YWJhc2VDb25uZWN0aW9uLmdldENvbm5lY3Rpb24oU3FsTGluZS5qYXZhOjQ3MDEp CglhdCBzcWxsaW5lLlNxbExpbmUkQ29tbWFuZHMuY29ubmVjdChTcWxMaW5lLmphdmE6Mzk0MikK CWF0IHNxbGxpbmUuU3FsTGluZSRDb21tYW5kcy5jb25uZWN0KFNxbExpbmUuamF2YTozODUxKQoJ YXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1l dGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0 aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6MzkpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5n TWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmph dmE6MjUpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjU5 NykKCWF0IHNxbGxpbmUuU3FsTGluZSRSZWZsZWN0aXZlQ29tbWFuZEhhbmRsZXIuZXhlY3V0ZShT cWxMaW5lLmphdmE6MjgxMCkKCWF0IHNxbGxpbmUuU3FsTGluZS5kaXNwYXRjaChTcWxMaW5lLmph dmE6ODE3KQoJYXQgc3FsbGluZS5TcWxMaW5lLmluaXRBcmdzKFNxbExpbmUuamF2YTo2MzMpCglh dCBzcWxsaW5lLlNxbExpbmUuYmVnaW4oU3FsTGluZS5qYXZhOjY4MCkKCWF0IHNxbGxpbmUuU3Fs TGluZS5tYWluV2l0aElucHV0UmVkaXJlY3Rpb24oU3FsTGluZS5qYXZhOjQ0MSkKCWF0IHNxbGxp bmUuU3FsTGluZS5tYWluKFNxbExpbmUuamF2YTo0MjQpCkNhdXNlZCBieTogamF2YS5sYW5nLk5v U3VjaE1ldGhvZEVycm9yOiBvcmcuYXBhY2hlLmhhZG9vcC5uZXQuTmV0VXRpbHMuZ2V0SW5wdXRT dHJlYW0oTGphdmEvbmV0L1NvY2tldDspTGphdmEvaW8vSW5wdXRTdHJlYW07CglhdCBvcmcuYXBh Y2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQkQ29ubmVjdGlvbi5zZXR1cElPc3RyZWFt cyhIQmFzZUNsaWVudC5qYXZhOjQzOSkKCS4uLiAzMSBtb3JlCjIwMTQtMDQtMDMgMTU6NTY6MjAs NjA5IERFQlVHIG9yZy5hcGFjaGUuaGFkb29wLmlwYy5IQmFzZUNsaWVudDogSVBDIENsaWVudCAo MTY4MTY5ODkzMykgY29ubmVjdGlvbiB0byBsb2NhbGhvc3QubG9jYWxkb21haW4vMTI3LjAuMC4x OjYwMDAwIGZyb20gY2xvdWRlcmE6IGNsb3NlZAoyMDE0LTA0LTAzIDE1OjU2OjIwLDYwOSBJTkZP IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmNsaWVudC5IQ29ubmVjdGlvbk1hbmFnZXIkSENvbm5l Y3Rpb25JbXBsZW1lbnRhdGlvbjogZ2V0TWFzdGVyIGF0dGVtcHQgMiBvZiAxMCBmYWlsZWQ7IHJl dHJ5aW5nIGFmdGVyIHNsZWVwIG9mIDEwMDgKamF2YS5pby5JT0V4Y2VwdGlvbjogQ291bGQgbm90 IHNldCB1cCBJTyBTdHJlYW1zCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VD bGllbnQkQ29ubmVjdGlvbi5zZXR1cElPc3RyZWFtcyhIQmFzZUNsaWVudC5qYXZhOjQ1NikKCWF0 IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudC5nZXRDb25uZWN0aW9uKEhC YXNlQ2xpZW50LmphdmE6MTE0MSkKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5IQmFz ZUNsaWVudC5jYWxsKEhCYXNlQ2xpZW50LmphdmE6OTg4KQoJYXQgb3JnLmFwYWNoZS5oYWRvb3Au aGJhc2UuaXBjLldyaXRhYmxlUnBjRW5naW5lJEludm9rZXIuaW52b2tlKFdyaXRhYmxlUnBjRW5n aW5lLmphdmE6ODcpCglhdCAkUHJveHk3LmdldFByb3RvY29sVmVyc2lvbihVbmtub3duIFNvdXJj ZSkKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5Xcml0YWJsZVJwY0VuZ2luZS5nZXRQ cm94eShXcml0YWJsZVJwY0VuZ2luZS5qYXZhOjE0MSkKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhi YXNlLmNsaWVudC5IQ29ubmVjdGlvbk1hbmFnZXIkSENvbm5lY3Rpb25JbXBsZW1lbnRhdGlvbi5n ZXRNYXN0ZXIoSENvbm5lY3Rpb25NYW5hZ2VyLmphdmE6ODEzKQoJYXQgb3JnLmFwYWNoZS5oYWRv b3AuaGJhc2UuY2xpZW50LkhCYXNlQWRtaW4uPGluaXQ+KEhCYXNlQWRtaW4uamF2YToxMjcpCglh dCBvcmcuYXBhY2hlLnBob2VuaXgucXVlcnkuQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmVu c3VyZVRhYmxlQ3JlYXRlZChDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YTo3MzkpCglh dCBvcmcuYXBhY2hlLnBob2VuaXgucXVlcnkuQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmNy ZWF0ZVRhYmxlKENvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5qYXZhOjEwMjEpCglhdCBvcmcu YXBhY2hlLnBob2VuaXguc2NoZW1hLk1ldGFEYXRhQ2xpZW50LmNyZWF0ZVRhYmxlSW50ZXJuYWwo TWV0YURhdGFDbGllbnQuamF2YToxMTU2KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnNjaGVtYS5N ZXRhRGF0YUNsaWVudC5jcmVhdGVUYWJsZShNZXRhRGF0YUNsaWVudC5qYXZhOjQyMikKCWF0IG9y Zy5hcGFjaGUucGhvZW5peC5jb21waWxlLkNyZWF0ZVRhYmxlQ29tcGlsZXIkMi5leGVjdXRlKENy ZWF0ZVRhYmxlQ29tcGlsZXIuamF2YToxODMpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5Q aG9lbml4U3RhdGVtZW50LmV4ZWN1dGVNdXRhdGlvbihQaG9lbml4U3RhdGVtZW50LmphdmE6MjI2 KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmpkYmMuUGhvZW5peFN0YXRlbWVudC5leGVjdXRlVXBk YXRlKFBob2VuaXhTdGF0ZW1lbnQuamF2YTo5MDgpCglhdCBvcmcuYXBhY2hlLnBob2VuaXgucXVl cnkuQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmluaXQoQ29ubmVjdGlvblF1ZXJ5U2Vydmlj ZXNJbXBsLmphdmE6MTM1MSkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhEcml2 ZXIuZ2V0Q29ubmVjdGlvblF1ZXJ5U2VydmljZXMoUGhvZW5peERyaXZlci5qYXZhOjEzMSkKCWF0 IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhFbWJlZGRlZERyaXZlci5jb25uZWN0KFBo b2VuaXhFbWJlZGRlZERyaXZlci5qYXZhOjExMikKCWF0IHNxbGxpbmUuU3FsTGluZSREYXRhYmFz ZUNvbm5lY3Rpb24uY29ubmVjdChTcWxMaW5lLmphdmE6NDY1MCkKCWF0IHNxbGxpbmUuU3FsTGlu ZSREYXRhYmFzZUNvbm5lY3Rpb24uZ2V0Q29ubmVjdGlvbihTcWxMaW5lLmphdmE6NDcwMSkKCWF0 IHNxbGxpbmUuU3FsTGluZSRDb21tYW5kcy5jb25uZWN0KFNxbExpbmUuamF2YTozOTQyKQoJYXQg c3FsbGluZS5TcWxMaW5lJENvbW1hbmRzLmNvbm5lY3QoU3FsTGluZS5qYXZhOjM4NTEpCglhdCBz dW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9k KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVN ZXRob2RBY2Nlc3NvckltcGwuamF2YTozOSkKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRo b2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YToy NSkKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NTk3KQoJ YXQgc3FsbGluZS5TcWxMaW5lJFJlZmxlY3RpdmVDb21tYW5kSGFuZGxlci5leGVjdXRlKFNxbExp bmUuamF2YToyODEwKQoJYXQgc3FsbGluZS5TcWxMaW5lLmRpc3BhdGNoKFNxbExpbmUuamF2YTo4 MTcpCglhdCBzcWxsaW5lLlNxbExpbmUuaW5pdEFyZ3MoU3FsTGluZS5qYXZhOjYzMykKCWF0IHNx bGxpbmUuU3FsTGluZS5iZWdpbihTcWxMaW5lLmphdmE6NjgwKQoJYXQgc3FsbGluZS5TcWxMaW5l Lm1haW5XaXRoSW5wdXRSZWRpcmVjdGlvbihTcWxMaW5lLmphdmE6NDQxKQoJYXQgc3FsbGluZS5T cWxMaW5lLm1haW4oU3FsTGluZS5qYXZhOjQyNCkKQ2F1c2VkIGJ5OiBqYXZhLmxhbmcuTm9TdWNo TWV0aG9kRXJyb3I6IG9yZy5hcGFjaGUuaGFkb29wLm5ldC5OZXRVdGlscy5nZXRJbnB1dFN0cmVh bShMamF2YS9uZXQvU29ja2V0OylMamF2YS9pby9JbnB1dFN0cmVhbTsKCWF0IG9yZy5hcGFjaGUu aGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudCRDb25uZWN0aW9uLnNldHVwSU9zdHJlYW1zKEhC YXNlQ2xpZW50LmphdmE6NDM5KQoJLi4uIDMxIG1vcmUKMjAxNC0wNC0wMyAxNTo1NjoyMSw2MTQg REVCVUcgb3JnLmFwYWNoZS5oYWRvb3AuaXBjLkhCYXNlQ2xpZW50OiBOb3QgdHJ5aW5nIHRvIGNv bm5lY3QgdG8gbG9jYWxob3N0LmxvY2FsZG9tYWluLzEyNy4wLjAuMTo2MDAwMCB0aGlzIHNlcnZl ciBpcyBpbiB0aGUgZmFpbGVkIHNlcnZlcnMgbGlzdAoyMDE0LTA0LTAzIDE1OjU2OjIxLDYxNSBE RUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5pcGMuSEJhc2VDbGllbnQ6IGNsb3NpbmcgaXBjIGNvbm5l Y3Rpb24gdG8gbG9jYWxob3N0LmxvY2FsZG9tYWluLzEyNy4wLjAuMTo2MDAwMDogVGhpcyBzZXJ2 ZXIgaXMgaW4gdGhlIGZhaWxlZCBzZXJ2ZXJzIGxpc3Q6IGxvY2FsaG9zdC5sb2NhbGRvbWFpbi8x MjcuMC4wLjE6NjAwMDAKb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50JEZh aWxlZFNlcnZlckV4Y2VwdGlvbjogVGhpcyBzZXJ2ZXIgaXMgaW4gdGhlIGZhaWxlZCBzZXJ2ZXJz IGxpc3Q6IGxvY2FsaG9zdC5sb2NhbGRvbWFpbi8xMjcuMC4wLjE6NjAwMDAKCWF0IG9yZy5hcGFj aGUuaGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudCRDb25uZWN0aW9uLnNldHVwSU9zdHJlYW1z KEhCYXNlQ2xpZW50LmphdmE6NDI3KQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhC YXNlQ2xpZW50LmdldENvbm5lY3Rpb24oSEJhc2VDbGllbnQuamF2YToxMTQxKQoJYXQgb3JnLmFw YWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50LmNhbGwoSEJhc2VDbGllbnQuamF2YTo5 ODgpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuV3JpdGFibGVScGNFbmdpbmUkSW52 b2tlci5pbnZva2UoV3JpdGFibGVScGNFbmdpbmUuamF2YTo4NykKCWF0ICRQcm94eTcuZ2V0UHJv dG9jb2xWZXJzaW9uKFVua25vd24gU291cmNlKQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2Uu aXBjLldyaXRhYmxlUnBjRW5naW5lLmdldFByb3h5KFdyaXRhYmxlUnBjRW5naW5lLmphdmE6MTQx KQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuY2xpZW50LkhDb25uZWN0aW9uTWFuYWdlciRI Q29ubmVjdGlvbkltcGxlbWVudGF0aW9uLmdldE1hc3RlcihIQ29ubmVjdGlvbk1hbmFnZXIuamF2 YTo4MTMpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5jbGllbnQuSEJhc2VBZG1pbi48aW5p dD4oSEJhc2VBZG1pbi5qYXZhOjEyNykKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5xdWVyeS5Db25u ZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuZW5zdXJlVGFibGVDcmVhdGVkKENvbm5lY3Rpb25RdWVy eVNlcnZpY2VzSW1wbC5qYXZhOjczOSkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5xdWVyeS5Db25u ZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuY3JlYXRlVGFibGUoQ29ubmVjdGlvblF1ZXJ5U2Vydmlj ZXNJbXBsLmphdmE6MTAyMSkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5zY2hlbWEuTWV0YURhdGFD bGllbnQuY3JlYXRlVGFibGVJbnRlcm5hbChNZXRhRGF0YUNsaWVudC5qYXZhOjExNTYpCglhdCBv cmcuYXBhY2hlLnBob2VuaXguc2NoZW1hLk1ldGFEYXRhQ2xpZW50LmNyZWF0ZVRhYmxlKE1ldGFE YXRhQ2xpZW50LmphdmE6NDIyKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmNvbXBpbGUuQ3JlYXRl VGFibGVDb21waWxlciQyLmV4ZWN1dGUoQ3JlYXRlVGFibGVDb21waWxlci5qYXZhOjE4MykKCWF0 IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhTdGF0ZW1lbnQuZXhlY3V0ZU11dGF0aW9u KFBob2VuaXhTdGF0ZW1lbnQuamF2YToyMjYpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5Q aG9lbml4U3RhdGVtZW50LmV4ZWN1dGVVcGRhdGUoUGhvZW5peFN0YXRlbWVudC5qYXZhOjkwOCkK CWF0IG9yZy5hcGFjaGUucGhvZW5peC5xdWVyeS5Db25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwu aW5pdChDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YToxMzUxKQoJYXQgb3JnLmFwYWNo ZS5waG9lbml4LmpkYmMuUGhvZW5peERyaXZlci5nZXRDb25uZWN0aW9uUXVlcnlTZXJ2aWNlcyhQ aG9lbml4RHJpdmVyLmphdmE6MTMxKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmpkYmMuUGhvZW5p eEVtYmVkZGVkRHJpdmVyLmNvbm5lY3QoUGhvZW5peEVtYmVkZGVkRHJpdmVyLmphdmE6MTEyKQoJ YXQgc3FsbGluZS5TcWxMaW5lJERhdGFiYXNlQ29ubmVjdGlvbi5jb25uZWN0KFNxbExpbmUuamF2 YTo0NjUwKQoJYXQgc3FsbGluZS5TcWxMaW5lJERhdGFiYXNlQ29ubmVjdGlvbi5nZXRDb25uZWN0 aW9uKFNxbExpbmUuamF2YTo0NzAxKQoJYXQgc3FsbGluZS5TcWxMaW5lJENvbW1hbmRzLmNvbm5l Y3QoU3FsTGluZS5qYXZhOjM5NDIpCglhdCBzcWxsaW5lLlNxbExpbmUkQ29tbWFuZHMuY29ubmVj dChTcWxMaW5lLmphdmE6Mzg1MSkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29y SW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RB Y2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjM5KQoJYXQg c3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGlu Z01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjI1KQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9k Lmludm9rZShNZXRob2QuamF2YTo1OTcpCglhdCBzcWxsaW5lLlNxbExpbmUkUmVmbGVjdGl2ZUNv bW1hbmRIYW5kbGVyLmV4ZWN1dGUoU3FsTGluZS5qYXZhOjI4MTApCglhdCBzcWxsaW5lLlNxbExp bmUuZGlzcGF0Y2goU3FsTGluZS5qYXZhOjgxNykKCWF0IHNxbGxpbmUuU3FsTGluZS5pbml0QXJn cyhTcWxMaW5lLmphdmE6NjMzKQoJYXQgc3FsbGluZS5TcWxMaW5lLmJlZ2luKFNxbExpbmUuamF2 YTo2ODApCglhdCBzcWxsaW5lLlNxbExpbmUubWFpbldpdGhJbnB1dFJlZGlyZWN0aW9uKFNxbExp bmUuamF2YTo0NDEpCglhdCBzcWxsaW5lLlNxbExpbmUubWFpbihTcWxMaW5lLmphdmE6NDI0KQoy MDE0LTA0LTAzIDE1OjU2OjIxLDYxNSBERUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5pcGMuSEJhc2VD bGllbnQ6IElQQyBDbGllbnQgKDE2ODE2OTg5MzMpIGNvbm5lY3Rpb24gdG8gbG9jYWxob3N0Lmxv Y2FsZG9tYWluLzEyNy4wLjAuMTo2MDAwMCBmcm9tIGNsb3VkZXJhOiBjbG9zZWQKMjAxNC0wNC0w MyAxNTo1NjoyMSw2MTUgSU5GTyBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5jbGllbnQuSENvbm5l Y3Rpb25NYW5hZ2VyJEhDb25uZWN0aW9uSW1wbGVtZW50YXRpb246IGdldE1hc3RlciBhdHRlbXB0 IDMgb2YgMTAgZmFpbGVkOyByZXRyeWluZyBhZnRlciBzbGVlcCBvZiAyMDAyCm9yZy5hcGFjaGUu aGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudCRGYWlsZWRTZXJ2ZXJFeGNlcHRpb246IFRoaXMg c2VydmVyIGlzIGluIHRoZSBmYWlsZWQgc2VydmVycyBsaXN0OiBsb2NhbGhvc3QubG9jYWxkb21h aW4vMTI3LjAuMC4xOjYwMDAwCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VD bGllbnQkQ29ubmVjdGlvbi5zZXR1cElPc3RyZWFtcyhIQmFzZUNsaWVudC5qYXZhOjQyNykKCWF0 IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudC5nZXRDb25uZWN0aW9uKEhC YXNlQ2xpZW50LmphdmE6MTE0MSkKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5IQmFz ZUNsaWVudC5jYWxsKEhCYXNlQ2xpZW50LmphdmE6OTg4KQoJYXQgb3JnLmFwYWNoZS5oYWRvb3Au aGJhc2UuaXBjLldyaXRhYmxlUnBjRW5naW5lJEludm9rZXIuaW52b2tlKFdyaXRhYmxlUnBjRW5n aW5lLmphdmE6ODcpCglhdCAkUHJveHk3LmdldFByb3RvY29sVmVyc2lvbihVbmtub3duIFNvdXJj ZSkKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5Xcml0YWJsZVJwY0VuZ2luZS5nZXRQ cm94eShXcml0YWJsZVJwY0VuZ2luZS5qYXZhOjE0MSkKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhi YXNlLmNsaWVudC5IQ29ubmVjdGlvbk1hbmFnZXIkSENvbm5lY3Rpb25JbXBsZW1lbnRhdGlvbi5n ZXRNYXN0ZXIoSENvbm5lY3Rpb25NYW5hZ2VyLmphdmE6ODEzKQoJYXQgb3JnLmFwYWNoZS5oYWRv b3AuaGJhc2UuY2xpZW50LkhCYXNlQWRtaW4uPGluaXQ+KEhCYXNlQWRtaW4uamF2YToxMjcpCglh dCBvcmcuYXBhY2hlLnBob2VuaXgucXVlcnkuQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmVu c3VyZVRhYmxlQ3JlYXRlZChDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YTo3MzkpCglh dCBvcmcuYXBhY2hlLnBob2VuaXgucXVlcnkuQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmNy ZWF0ZVRhYmxlKENvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5qYXZhOjEwMjEpCglhdCBvcmcu YXBhY2hlLnBob2VuaXguc2NoZW1hLk1ldGFEYXRhQ2xpZW50LmNyZWF0ZVRhYmxlSW50ZXJuYWwo TWV0YURhdGFDbGllbnQuamF2YToxMTU2KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnNjaGVtYS5N ZXRhRGF0YUNsaWVudC5jcmVhdGVUYWJsZShNZXRhRGF0YUNsaWVudC5qYXZhOjQyMikKCWF0IG9y Zy5hcGFjaGUucGhvZW5peC5jb21waWxlLkNyZWF0ZVRhYmxlQ29tcGlsZXIkMi5leGVjdXRlKENy ZWF0ZVRhYmxlQ29tcGlsZXIuamF2YToxODMpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5Q aG9lbml4U3RhdGVtZW50LmV4ZWN1dGVNdXRhdGlvbihQaG9lbml4U3RhdGVtZW50LmphdmE6MjI2 KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmpkYmMuUGhvZW5peFN0YXRlbWVudC5leGVjdXRlVXBk YXRlKFBob2VuaXhTdGF0ZW1lbnQuamF2YTo5MDgpCglhdCBvcmcuYXBhY2hlLnBob2VuaXgucXVl cnkuQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmluaXQoQ29ubmVjdGlvblF1ZXJ5U2Vydmlj ZXNJbXBsLmphdmE6MTM1MSkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhEcml2 ZXIuZ2V0Q29ubmVjdGlvblF1ZXJ5U2VydmljZXMoUGhvZW5peERyaXZlci5qYXZhOjEzMSkKCWF0 IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhFbWJlZGRlZERyaXZlci5jb25uZWN0KFBo b2VuaXhFbWJlZGRlZERyaXZlci5qYXZhOjExMikKCWF0IHNxbGxpbmUuU3FsTGluZSREYXRhYmFz ZUNvbm5lY3Rpb24uY29ubmVjdChTcWxMaW5lLmphdmE6NDY1MCkKCWF0IHNxbGxpbmUuU3FsTGlu ZSREYXRhYmFzZUNvbm5lY3Rpb24uZ2V0Q29ubmVjdGlvbihTcWxMaW5lLmphdmE6NDcwMSkKCWF0 IHNxbGxpbmUuU3FsTGluZSRDb21tYW5kcy5jb25uZWN0KFNxbExpbmUuamF2YTozOTQyKQoJYXQg c3FsbGluZS5TcWxMaW5lJENvbW1hbmRzLmNvbm5lY3QoU3FsTGluZS5qYXZhOjM4NTEpCglhdCBz dW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9k KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVN ZXRob2RBY2Nlc3NvckltcGwuamF2YTozOSkKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRo b2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YToy NSkKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NTk3KQoJ YXQgc3FsbGluZS5TcWxMaW5lJFJlZmxlY3RpdmVDb21tYW5kSGFuZGxlci5leGVjdXRlKFNxbExp bmUuamF2YToyODEwKQoJYXQgc3FsbGluZS5TcWxMaW5lLmRpc3BhdGNoKFNxbExpbmUuamF2YTo4 MTcpCglhdCBzcWxsaW5lLlNxbExpbmUuaW5pdEFyZ3MoU3FsTGluZS5qYXZhOjYzMykKCWF0IHNx bGxpbmUuU3FsTGluZS5iZWdpbihTcWxMaW5lLmphdmE6NjgwKQoJYXQgc3FsbGluZS5TcWxMaW5l Lm1haW5XaXRoSW5wdXRSZWRpcmVjdGlvbihTcWxMaW5lLmphdmE6NDQxKQoJYXQgc3FsbGluZS5T cWxMaW5lLm1haW4oU3FsTGluZS5qYXZhOjQyNCkKMjAxNC0wNC0wMyAxNTo1NjoyMyw2MTkgREVC VUcgb3JnLmFwYWNoZS5oYWRvb3AuaXBjLkhCYXNlQ2xpZW50OiBDb25uZWN0aW5nIHRvIG9yZy5h cGFjaGUuaGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudCRDb25uZWN0aW9uSWRAODNmYmI5ZGQK MjAxNC0wNC0wMyAxNTo1NjoyMyw2MjAgREVCVUcgb3JnLmFwYWNoZS5oYWRvb3AuaXBjLkhCYXNl Q2xpZW50OiBjbG9zaW5nIGlwYyBjb25uZWN0aW9uIHRvIGxvY2FsaG9zdC5sb2NhbGRvbWFpbi8x MjcuMC4wLjE6NjAwMDA6IENvdWxkIG5vdCBzZXQgdXAgSU8gU3RyZWFtcwpqYXZhLmlvLklPRXhj ZXB0aW9uOiBDb3VsZCBub3Qgc2V0IHVwIElPIFN0cmVhbXMKCWF0IG9yZy5hcGFjaGUuaGFkb29w LmhiYXNlLmlwYy5IQmFzZUNsaWVudCRDb25uZWN0aW9uLnNldHVwSU9zdHJlYW1zKEhCYXNlQ2xp ZW50LmphdmE6NDU2KQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50 LmdldENvbm5lY3Rpb24oSEJhc2VDbGllbnQuamF2YToxMTQxKQoJYXQgb3JnLmFwYWNoZS5oYWRv b3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50LmNhbGwoSEJhc2VDbGllbnQuamF2YTo5ODgpCglhdCBv cmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuV3JpdGFibGVScGNFbmdpbmUkSW52b2tlci5pbnZv a2UoV3JpdGFibGVScGNFbmdpbmUuamF2YTo4NykKCWF0ICRQcm94eTcuZ2V0UHJvdG9jb2xWZXJz aW9uKFVua25vd24gU291cmNlKQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLldyaXRh YmxlUnBjRW5naW5lLmdldFByb3h5KFdyaXRhYmxlUnBjRW5naW5lLmphdmE6MTQxKQoJYXQgb3Jn LmFwYWNoZS5oYWRvb3AuaGJhc2UuY2xpZW50LkhDb25uZWN0aW9uTWFuYWdlciRIQ29ubmVjdGlv bkltcGxlbWVudGF0aW9uLmdldE1hc3RlcihIQ29ubmVjdGlvbk1hbmFnZXIuamF2YTo4MTMpCglh dCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5jbGllbnQuSEJhc2VBZG1pbi48aW5pdD4oSEJhc2VB ZG1pbi5qYXZhOjEyNykKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5xdWVyeS5Db25uZWN0aW9uUXVl cnlTZXJ2aWNlc0ltcGwuZW5zdXJlVGFibGVDcmVhdGVkKENvbm5lY3Rpb25RdWVyeVNlcnZpY2Vz SW1wbC5qYXZhOjczOSkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5xdWVyeS5Db25uZWN0aW9uUXVl cnlTZXJ2aWNlc0ltcGwuY3JlYXRlVGFibGUoQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmph dmE6MTAyMSkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5zY2hlbWEuTWV0YURhdGFDbGllbnQuY3Jl YXRlVGFibGVJbnRlcm5hbChNZXRhRGF0YUNsaWVudC5qYXZhOjExNTYpCglhdCBvcmcuYXBhY2hl LnBob2VuaXguc2NoZW1hLk1ldGFEYXRhQ2xpZW50LmNyZWF0ZVRhYmxlKE1ldGFEYXRhQ2xpZW50 LmphdmE6NDIyKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmNvbXBpbGUuQ3JlYXRlVGFibGVDb21w aWxlciQyLmV4ZWN1dGUoQ3JlYXRlVGFibGVDb21waWxlci5qYXZhOjE4MykKCWF0IG9yZy5hcGFj aGUucGhvZW5peC5qZGJjLlBob2VuaXhTdGF0ZW1lbnQuZXhlY3V0ZU11dGF0aW9uKFBob2VuaXhT dGF0ZW1lbnQuamF2YToyMjYpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4U3Rh dGVtZW50LmV4ZWN1dGVVcGRhdGUoUGhvZW5peFN0YXRlbWVudC5qYXZhOjkwOCkKCWF0IG9yZy5h cGFjaGUucGhvZW5peC5xdWVyeS5Db25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuaW5pdChDb25u ZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YToxMzUxKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4 LmpkYmMuUGhvZW5peERyaXZlci5nZXRDb25uZWN0aW9uUXVlcnlTZXJ2aWNlcyhQaG9lbml4RHJp dmVyLmphdmE6MTMxKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmpkYmMuUGhvZW5peEVtYmVkZGVk RHJpdmVyLmNvbm5lY3QoUGhvZW5peEVtYmVkZGVkRHJpdmVyLmphdmE6MTEyKQoJYXQgc3FsbGlu ZS5TcWxMaW5lJERhdGFiYXNlQ29ubmVjdGlvbi5jb25uZWN0KFNxbExpbmUuamF2YTo0NjUwKQoJ YXQgc3FsbGluZS5TcWxMaW5lJERhdGFiYXNlQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uKFNxbExp bmUuamF2YTo0NzAxKQoJYXQgc3FsbGluZS5TcWxMaW5lJENvbW1hbmRzLmNvbm5lY3QoU3FsTGlu ZS5qYXZhOjM5NDIpCglhdCBzcWxsaW5lLlNxbExpbmUkQ29tbWFuZHMuY29ubmVjdChTcWxMaW5l LmphdmE6Mzg1MSkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZv a2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3Nvcklt cGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjM5KQoJYXQgc3VuLnJlZmxl Y3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFj Y2Vzc29ySW1wbC5qYXZhOjI1KQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShN ZXRob2QuamF2YTo1OTcpCglhdCBzcWxsaW5lLlNxbExpbmUkUmVmbGVjdGl2ZUNvbW1hbmRIYW5k bGVyLmV4ZWN1dGUoU3FsTGluZS5qYXZhOjI4MTApCglhdCBzcWxsaW5lLlNxbExpbmUuZGlzcGF0 Y2goU3FsTGluZS5qYXZhOjgxNykKCWF0IHNxbGxpbmUuU3FsTGluZS5pbml0QXJncyhTcWxMaW5l LmphdmE6NjMzKQoJYXQgc3FsbGluZS5TcWxMaW5lLmJlZ2luKFNxbExpbmUuamF2YTo2ODApCglh dCBzcWxsaW5lLlNxbExpbmUubWFpbldpdGhJbnB1dFJlZGlyZWN0aW9uKFNxbExpbmUuamF2YTo0 NDEpCglhdCBzcWxsaW5lLlNxbExpbmUubWFpbihTcWxMaW5lLmphdmE6NDI0KQpDYXVzZWQgYnk6 IGphdmEubGFuZy5Ob1N1Y2hNZXRob2RFcnJvcjogb3JnLmFwYWNoZS5oYWRvb3AubmV0Lk5ldFV0 aWxzLmdldElucHV0U3RyZWFtKExqYXZhL25ldC9Tb2NrZXQ7KUxqYXZhL2lvL0lucHV0U3RyZWFt OwoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50JENvbm5lY3Rpb24u c2V0dXBJT3N0cmVhbXMoSEJhc2VDbGllbnQuamF2YTo0MzkpCgkuLi4gMzEgbW9yZQoyMDE0LTA0 LTAzIDE1OjU2OjIzLDYyMCBERUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5pcGMuSEJhc2VDbGllbnQ6 IElQQyBDbGllbnQgKDE2ODE2OTg5MzMpIGNvbm5lY3Rpb24gdG8gbG9jYWxob3N0LmxvY2FsZG9t YWluLzEyNy4wLjAuMTo2MDAwMCBmcm9tIGNsb3VkZXJhOiBjbG9zZWQKMjAxNC0wNC0wMyAxNTo1 NjoyMyw2MjAgSU5GTyBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5jbGllbnQuSENvbm5lY3Rpb25N YW5hZ2VyJEhDb25uZWN0aW9uSW1wbGVtZW50YXRpb246IGdldE1hc3RlciBhdHRlbXB0IDQgb2Yg MTAgZmFpbGVkOyByZXRyeWluZyBhZnRlciBzbGVlcCBvZiAyMDAxCmphdmEuaW8uSU9FeGNlcHRp b246IENvdWxkIG5vdCBzZXQgdXAgSU8gU3RyZWFtcwoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJh c2UuaXBjLkhCYXNlQ2xpZW50JENvbm5lY3Rpb24uc2V0dXBJT3N0cmVhbXMoSEJhc2VDbGllbnQu amF2YTo0NTYpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQuZ2V0 Q29ubmVjdGlvbihIQmFzZUNsaWVudC5qYXZhOjExNDEpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5o YmFzZS5pcGMuSEJhc2VDbGllbnQuY2FsbChIQmFzZUNsaWVudC5qYXZhOjk4OCkKCWF0IG9yZy5h cGFjaGUuaGFkb29wLmhiYXNlLmlwYy5Xcml0YWJsZVJwY0VuZ2luZSRJbnZva2VyLmludm9rZShX cml0YWJsZVJwY0VuZ2luZS5qYXZhOjg3KQoJYXQgJFByb3h5Ny5nZXRQcm90b2NvbFZlcnNpb24o VW5rbm93biBTb3VyY2UpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuV3JpdGFibGVS cGNFbmdpbmUuZ2V0UHJveHkoV3JpdGFibGVScGNFbmdpbmUuamF2YToxNDEpCglhdCBvcmcuYXBh Y2hlLmhhZG9vcC5oYmFzZS5jbGllbnQuSENvbm5lY3Rpb25NYW5hZ2VyJEhDb25uZWN0aW9uSW1w bGVtZW50YXRpb24uZ2V0TWFzdGVyKEhDb25uZWN0aW9uTWFuYWdlci5qYXZhOjgxMykKCWF0IG9y Zy5hcGFjaGUuaGFkb29wLmhiYXNlLmNsaWVudC5IQmFzZUFkbWluLjxpbml0PihIQmFzZUFkbWlu LmphdmE6MTI3KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNl cnZpY2VzSW1wbC5lbnN1cmVUYWJsZUNyZWF0ZWQoQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBs LmphdmE6NzM5KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNl cnZpY2VzSW1wbC5jcmVhdGVUYWJsZShDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YTox MDIxKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnNjaGVtYS5NZXRhRGF0YUNsaWVudC5jcmVhdGVU YWJsZUludGVybmFsKE1ldGFEYXRhQ2xpZW50LmphdmE6MTE1NikKCWF0IG9yZy5hcGFjaGUucGhv ZW5peC5zY2hlbWEuTWV0YURhdGFDbGllbnQuY3JlYXRlVGFibGUoTWV0YURhdGFDbGllbnQuamF2 YTo0MjIpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguY29tcGlsZS5DcmVhdGVUYWJsZUNvbXBpbGVy JDIuZXhlY3V0ZShDcmVhdGVUYWJsZUNvbXBpbGVyLmphdmE6MTgzKQoJYXQgb3JnLmFwYWNoZS5w aG9lbml4LmpkYmMuUGhvZW5peFN0YXRlbWVudC5leGVjdXRlTXV0YXRpb24oUGhvZW5peFN0YXRl bWVudC5qYXZhOjIyNikKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhTdGF0ZW1l bnQuZXhlY3V0ZVVwZGF0ZShQaG9lbml4U3RhdGVtZW50LmphdmE6OTA4KQoJYXQgb3JnLmFwYWNo ZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5pbml0KENvbm5lY3Rp b25RdWVyeVNlcnZpY2VzSW1wbC5qYXZhOjEzNTEpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRi Yy5QaG9lbml4RHJpdmVyLmdldENvbm5lY3Rpb25RdWVyeVNlcnZpY2VzKFBob2VuaXhEcml2ZXIu amF2YToxMzEpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4RW1iZWRkZWREcml2 ZXIuY29ubmVjdChQaG9lbml4RW1iZWRkZWREcml2ZXIuamF2YToxMTIpCglhdCBzcWxsaW5lLlNx bExpbmUkRGF0YWJhc2VDb25uZWN0aW9uLmNvbm5lY3QoU3FsTGluZS5qYXZhOjQ2NTApCglhdCBz cWxsaW5lLlNxbExpbmUkRGF0YWJhc2VDb25uZWN0aW9uLmdldENvbm5lY3Rpb24oU3FsTGluZS5q YXZhOjQ3MDEpCglhdCBzcWxsaW5lLlNxbExpbmUkQ29tbWFuZHMuY29ubmVjdChTcWxMaW5lLmph dmE6Mzk0MikKCWF0IHNxbGxpbmUuU3FsTGluZSRDb21tYW5kcy5jb25uZWN0KFNxbExpbmUuamF2 YTozODUxKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAo TmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5p bnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6MzkpCglhdCBzdW4ucmVmbGVjdC5E ZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNz b3JJbXBsLmphdmE6MjUpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhv ZC5qYXZhOjU5NykKCWF0IHNxbGxpbmUuU3FsTGluZSRSZWZsZWN0aXZlQ29tbWFuZEhhbmRsZXIu ZXhlY3V0ZShTcWxMaW5lLmphdmE6MjgxMCkKCWF0IHNxbGxpbmUuU3FsTGluZS5kaXNwYXRjaChT cWxMaW5lLmphdmE6ODE3KQoJYXQgc3FsbGluZS5TcWxMaW5lLmluaXRBcmdzKFNxbExpbmUuamF2 YTo2MzMpCglhdCBzcWxsaW5lLlNxbExpbmUuYmVnaW4oU3FsTGluZS5qYXZhOjY4MCkKCWF0IHNx bGxpbmUuU3FsTGluZS5tYWluV2l0aElucHV0UmVkaXJlY3Rpb24oU3FsTGluZS5qYXZhOjQ0MSkK CWF0IHNxbGxpbmUuU3FsTGluZS5tYWluKFNxbExpbmUuamF2YTo0MjQpCkNhdXNlZCBieTogamF2 YS5sYW5nLk5vU3VjaE1ldGhvZEVycm9yOiBvcmcuYXBhY2hlLmhhZG9vcC5uZXQuTmV0VXRpbHMu Z2V0SW5wdXRTdHJlYW0oTGphdmEvbmV0L1NvY2tldDspTGphdmEvaW8vSW5wdXRTdHJlYW07Cglh dCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQkQ29ubmVjdGlvbi5zZXR1 cElPc3RyZWFtcyhIQmFzZUNsaWVudC5qYXZhOjQzOSkKCS4uLiAzMSBtb3JlCjIwMTQtMDQtMDMg MTU6NTY6MjUsNjIyIERFQlVHIG9yZy5hcGFjaGUuaGFkb29wLmlwYy5IQmFzZUNsaWVudDogQ29u bmVjdGluZyB0byBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQkQ29ubmVj dGlvbklkQDgzZmJiOWRkCjIwMTQtMDQtMDMgMTU6NTY6MjUsNjIzIERFQlVHIG9yZy5hcGFjaGUu aGFkb29wLmlwYy5IQmFzZUNsaWVudDogY2xvc2luZyBpcGMgY29ubmVjdGlvbiB0byBsb2NhbGhv c3QubG9jYWxkb21haW4vMTI3LjAuMC4xOjYwMDAwOiBDb3VsZCBub3Qgc2V0IHVwIElPIFN0cmVh bXMKamF2YS5pby5JT0V4Y2VwdGlvbjogQ291bGQgbm90IHNldCB1cCBJTyBTdHJlYW1zCglhdCBv cmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQkQ29ubmVjdGlvbi5zZXR1cElP c3RyZWFtcyhIQmFzZUNsaWVudC5qYXZhOjQ1NikKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNl LmlwYy5IQmFzZUNsaWVudC5nZXRDb25uZWN0aW9uKEhCYXNlQ2xpZW50LmphdmE6MTE0MSkKCWF0 IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudC5jYWxsKEhCYXNlQ2xpZW50 LmphdmE6OTg4KQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLldyaXRhYmxlUnBjRW5n aW5lJEludm9rZXIuaW52b2tlKFdyaXRhYmxlUnBjRW5naW5lLmphdmE6ODcpCglhdCAkUHJveHk3 LmdldFByb3RvY29sVmVyc2lvbihVbmtub3duIFNvdXJjZSkKCWF0IG9yZy5hcGFjaGUuaGFkb29w LmhiYXNlLmlwYy5Xcml0YWJsZVJwY0VuZ2luZS5nZXRQcm94eShXcml0YWJsZVJwY0VuZ2luZS5q YXZhOjE0MSkKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmNsaWVudC5IQ29ubmVjdGlvbk1h bmFnZXIkSENvbm5lY3Rpb25JbXBsZW1lbnRhdGlvbi5nZXRNYXN0ZXIoSENvbm5lY3Rpb25NYW5h Z2VyLmphdmE6ODEzKQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuY2xpZW50LkhCYXNlQWRt aW4uPGluaXQ+KEhCYXNlQWRtaW4uamF2YToxMjcpCglhdCBvcmcuYXBhY2hlLnBob2VuaXgucXVl cnkuQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmVuc3VyZVRhYmxlQ3JlYXRlZChDb25uZWN0 aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YTo3MzkpCglhdCBvcmcuYXBhY2hlLnBob2VuaXgucXVl cnkuQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmNyZWF0ZVRhYmxlKENvbm5lY3Rpb25RdWVy eVNlcnZpY2VzSW1wbC5qYXZhOjEwMjEpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguc2NoZW1hLk1l dGFEYXRhQ2xpZW50LmNyZWF0ZVRhYmxlSW50ZXJuYWwoTWV0YURhdGFDbGllbnQuamF2YToxMTU2 KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnNjaGVtYS5NZXRhRGF0YUNsaWVudC5jcmVhdGVUYWJs ZShNZXRhRGF0YUNsaWVudC5qYXZhOjQyMikKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5jb21waWxl LkNyZWF0ZVRhYmxlQ29tcGlsZXIkMi5leGVjdXRlKENyZWF0ZVRhYmxlQ29tcGlsZXIuamF2YTox ODMpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4U3RhdGVtZW50LmV4ZWN1dGVN dXRhdGlvbihQaG9lbml4U3RhdGVtZW50LmphdmE6MjI2KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4 LmpkYmMuUGhvZW5peFN0YXRlbWVudC5leGVjdXRlVXBkYXRlKFBob2VuaXhTdGF0ZW1lbnQuamF2 YTo5MDgpCglhdCBvcmcuYXBhY2hlLnBob2VuaXgucXVlcnkuQ29ubmVjdGlvblF1ZXJ5U2Vydmlj ZXNJbXBsLmluaXQoQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmphdmE6MTM1MSkKCWF0IG9y Zy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhEcml2ZXIuZ2V0Q29ubmVjdGlvblF1ZXJ5U2Vy dmljZXMoUGhvZW5peERyaXZlci5qYXZhOjEzMSkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJj LlBob2VuaXhFbWJlZGRlZERyaXZlci5jb25uZWN0KFBob2VuaXhFbWJlZGRlZERyaXZlci5qYXZh OjExMikKCWF0IHNxbGxpbmUuU3FsTGluZSREYXRhYmFzZUNvbm5lY3Rpb24uY29ubmVjdChTcWxM aW5lLmphdmE6NDY1MCkKCWF0IHNxbGxpbmUuU3FsTGluZSREYXRhYmFzZUNvbm5lY3Rpb24uZ2V0 Q29ubmVjdGlvbihTcWxMaW5lLmphdmE6NDcwMSkKCWF0IHNxbGxpbmUuU3FsTGluZSRDb21tYW5k cy5jb25uZWN0KFNxbExpbmUuamF2YTozOTQyKQoJYXQgc3FsbGluZS5TcWxMaW5lJENvbW1hbmRz LmNvbm5lY3QoU3FsTGluZS5qYXZhOjM4NTEpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RB Y2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZl TWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuamF2YToz OSkKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERl bGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YToyNSkKCWF0IGphdmEubGFuZy5yZWZsZWN0 Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NTk3KQoJYXQgc3FsbGluZS5TcWxMaW5lJFJlZmxl Y3RpdmVDb21tYW5kSGFuZGxlci5leGVjdXRlKFNxbExpbmUuamF2YToyODEwKQoJYXQgc3FsbGlu ZS5TcWxMaW5lLmRpc3BhdGNoKFNxbExpbmUuamF2YTo4MTcpCglhdCBzcWxsaW5lLlNxbExpbmUu aW5pdEFyZ3MoU3FsTGluZS5qYXZhOjYzMykKCWF0IHNxbGxpbmUuU3FsTGluZS5iZWdpbihTcWxM aW5lLmphdmE6NjgwKQoJYXQgc3FsbGluZS5TcWxMaW5lLm1haW5XaXRoSW5wdXRSZWRpcmVjdGlv bihTcWxMaW5lLmphdmE6NDQxKQoJYXQgc3FsbGluZS5TcWxMaW5lLm1haW4oU3FsTGluZS5qYXZh OjQyNCkKQ2F1c2VkIGJ5OiBqYXZhLmxhbmcuTm9TdWNoTWV0aG9kRXJyb3I6IG9yZy5hcGFjaGUu aGFkb29wLm5ldC5OZXRVdGlscy5nZXRJbnB1dFN0cmVhbShMamF2YS9uZXQvU29ja2V0OylMamF2 YS9pby9JbnB1dFN0cmVhbTsKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5IQmFzZUNs aWVudCRDb25uZWN0aW9uLnNldHVwSU9zdHJlYW1zKEhCYXNlQ2xpZW50LmphdmE6NDM5KQoJLi4u IDMxIG1vcmUKMjAxNC0wNC0wMyAxNTo1NjoyNSw2MjMgREVCVUcgb3JnLmFwYWNoZS5oYWRvb3Au aXBjLkhCYXNlQ2xpZW50OiBJUEMgQ2xpZW50ICgxNjgxNjk4OTMzKSBjb25uZWN0aW9uIHRvIGxv Y2FsaG9zdC5sb2NhbGRvbWFpbi8xMjcuMC4wLjE6NjAwMDAgZnJvbSBjbG91ZGVyYTogY2xvc2Vk CjIwMTQtMDQtMDMgMTU6NTY6MjUsNjIzIElORk8gb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuY2xp ZW50LkhDb25uZWN0aW9uTWFuYWdlciRIQ29ubmVjdGlvbkltcGxlbWVudGF0aW9uOiBnZXRNYXN0 ZXIgYXR0ZW1wdCA1IG9mIDEwIGZhaWxlZDsgcmV0cnlpbmcgYWZ0ZXIgc2xlZXAgb2YgNDAwNQpq YXZhLmlvLklPRXhjZXB0aW9uOiBDb3VsZCBub3Qgc2V0IHVwIElPIFN0cmVhbXMKCWF0IG9yZy5h cGFjaGUuaGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudCRDb25uZWN0aW9uLnNldHVwSU9zdHJl YW1zKEhCYXNlQ2xpZW50LmphdmE6NDU2KQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBj LkhCYXNlQ2xpZW50LmdldENvbm5lY3Rpb24oSEJhc2VDbGllbnQuamF2YToxMTQxKQoJYXQgb3Jn LmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50LmNhbGwoSEJhc2VDbGllbnQuamF2 YTo5ODgpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuV3JpdGFibGVScGNFbmdpbmUk SW52b2tlci5pbnZva2UoV3JpdGFibGVScGNFbmdpbmUuamF2YTo4NykKCWF0ICRQcm94eTcuZ2V0 UHJvdG9jb2xWZXJzaW9uKFVua25vd24gU291cmNlKQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJh c2UuaXBjLldyaXRhYmxlUnBjRW5naW5lLmdldFByb3h5KFdyaXRhYmxlUnBjRW5naW5lLmphdmE6 MTQxKQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuY2xpZW50LkhDb25uZWN0aW9uTWFuYWdl ciRIQ29ubmVjdGlvbkltcGxlbWVudGF0aW9uLmdldE1hc3RlcihIQ29ubmVjdGlvbk1hbmFnZXIu amF2YTo4MTMpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5jbGllbnQuSEJhc2VBZG1pbi48 aW5pdD4oSEJhc2VBZG1pbi5qYXZhOjEyNykKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5xdWVyeS5D b25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuZW5zdXJlVGFibGVDcmVhdGVkKENvbm5lY3Rpb25R dWVyeVNlcnZpY2VzSW1wbC5qYXZhOjczOSkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5xdWVyeS5D b25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuY3JlYXRlVGFibGUoQ29ubmVjdGlvblF1ZXJ5U2Vy dmljZXNJbXBsLmphdmE6MTAyMSkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5zY2hlbWEuTWV0YURh dGFDbGllbnQuY3JlYXRlVGFibGVJbnRlcm5hbChNZXRhRGF0YUNsaWVudC5qYXZhOjExNTYpCglh dCBvcmcuYXBhY2hlLnBob2VuaXguc2NoZW1hLk1ldGFEYXRhQ2xpZW50LmNyZWF0ZVRhYmxlKE1l dGFEYXRhQ2xpZW50LmphdmE6NDIyKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmNvbXBpbGUuQ3Jl YXRlVGFibGVDb21waWxlciQyLmV4ZWN1dGUoQ3JlYXRlVGFibGVDb21waWxlci5qYXZhOjE4MykK CWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhTdGF0ZW1lbnQuZXhlY3V0ZU11dGF0 aW9uKFBob2VuaXhTdGF0ZW1lbnQuamF2YToyMjYpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRi Yy5QaG9lbml4U3RhdGVtZW50LmV4ZWN1dGVVcGRhdGUoUGhvZW5peFN0YXRlbWVudC5qYXZhOjkw OCkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5xdWVyeS5Db25uZWN0aW9uUXVlcnlTZXJ2aWNlc0lt cGwuaW5pdChDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YToxMzUxKQoJYXQgb3JnLmFw YWNoZS5waG9lbml4LmpkYmMuUGhvZW5peERyaXZlci5nZXRDb25uZWN0aW9uUXVlcnlTZXJ2aWNl cyhQaG9lbml4RHJpdmVyLmphdmE6MTMxKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmpkYmMuUGhv ZW5peEVtYmVkZGVkRHJpdmVyLmNvbm5lY3QoUGhvZW5peEVtYmVkZGVkRHJpdmVyLmphdmE6MTEy KQoJYXQgc3FsbGluZS5TcWxMaW5lJERhdGFiYXNlQ29ubmVjdGlvbi5jb25uZWN0KFNxbExpbmUu amF2YTo0NjUwKQoJYXQgc3FsbGluZS5TcWxMaW5lJERhdGFiYXNlQ29ubmVjdGlvbi5nZXRDb25u ZWN0aW9uKFNxbExpbmUuamF2YTo0NzAxKQoJYXQgc3FsbGluZS5TcWxMaW5lJENvbW1hbmRzLmNv bm5lY3QoU3FsTGluZS5qYXZhOjM5NDIpCglhdCBzcWxsaW5lLlNxbExpbmUkQ29tbWFuZHMuY29u bmVjdChTcWxMaW5lLmphdmE6Mzg1MSkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vz c29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRo b2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjM5KQoJ YXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdh dGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjI1KQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0 aG9kLmludm9rZShNZXRob2QuamF2YTo1OTcpCglhdCBzcWxsaW5lLlNxbExpbmUkUmVmbGVjdGl2 ZUNvbW1hbmRIYW5kbGVyLmV4ZWN1dGUoU3FsTGluZS5qYXZhOjI4MTApCglhdCBzcWxsaW5lLlNx bExpbmUuZGlzcGF0Y2goU3FsTGluZS5qYXZhOjgxNykKCWF0IHNxbGxpbmUuU3FsTGluZS5pbml0 QXJncyhTcWxMaW5lLmphdmE6NjMzKQoJYXQgc3FsbGluZS5TcWxMaW5lLmJlZ2luKFNxbExpbmUu amF2YTo2ODApCglhdCBzcWxsaW5lLlNxbExpbmUubWFpbldpdGhJbnB1dFJlZGlyZWN0aW9uKFNx bExpbmUuamF2YTo0NDEpCglhdCBzcWxsaW5lLlNxbExpbmUubWFpbihTcWxMaW5lLmphdmE6NDI0 KQpDYXVzZWQgYnk6IGphdmEubGFuZy5Ob1N1Y2hNZXRob2RFcnJvcjogb3JnLmFwYWNoZS5oYWRv b3AubmV0Lk5ldFV0aWxzLmdldElucHV0U3RyZWFtKExqYXZhL25ldC9Tb2NrZXQ7KUxqYXZhL2lv L0lucHV0U3RyZWFtOwoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50 JENvbm5lY3Rpb24uc2V0dXBJT3N0cmVhbXMoSEJhc2VDbGllbnQuamF2YTo0MzkpCgkuLi4gMzEg bW9yZQoyMDE0LTA0LTAzIDE1OjU2OjI5LDY2NSBERUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5pcGMu SEJhc2VDbGllbnQ6IENvbm5lY3RpbmcgdG8gb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhC YXNlQ2xpZW50JENvbm5lY3Rpb25JZEA4M2ZiYjlkZAoyMDE0LTA0LTAzIDE1OjU2OjI5LDY2NSBE RUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5pcGMuSEJhc2VDbGllbnQ6IGNsb3NpbmcgaXBjIGNvbm5l Y3Rpb24gdG8gbG9jYWxob3N0LmxvY2FsZG9tYWluLzEyNy4wLjAuMTo2MDAwMDogQ291bGQgbm90 IHNldCB1cCBJTyBTdHJlYW1zCmphdmEuaW8uSU9FeGNlcHRpb246IENvdWxkIG5vdCBzZXQgdXAg SU8gU3RyZWFtcwoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50JENv bm5lY3Rpb24uc2V0dXBJT3N0cmVhbXMoSEJhc2VDbGllbnQuamF2YTo0NTYpCglhdCBvcmcuYXBh Y2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQuZ2V0Q29ubmVjdGlvbihIQmFzZUNsaWVu dC5qYXZhOjExNDEpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQu Y2FsbChIQmFzZUNsaWVudC5qYXZhOjk4OCkKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlw Yy5Xcml0YWJsZVJwY0VuZ2luZSRJbnZva2VyLmludm9rZShXcml0YWJsZVJwY0VuZ2luZS5qYXZh Ojg3KQoJYXQgJFByb3h5Ny5nZXRQcm90b2NvbFZlcnNpb24oVW5rbm93biBTb3VyY2UpCglhdCBv cmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuV3JpdGFibGVScGNFbmdpbmUuZ2V0UHJveHkoV3Jp dGFibGVScGNFbmdpbmUuamF2YToxNDEpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5jbGll bnQuSENvbm5lY3Rpb25NYW5hZ2VyJEhDb25uZWN0aW9uSW1wbGVtZW50YXRpb24uZ2V0TWFzdGVy KEhDb25uZWN0aW9uTWFuYWdlci5qYXZhOjgxMykKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNl LmNsaWVudC5IQmFzZUFkbWluLjxpbml0PihIQmFzZUFkbWluLmphdmE6MTI3KQoJYXQgb3JnLmFw YWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5lbnN1cmVUYWJs ZUNyZWF0ZWQoQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmphdmE6NzM5KQoJYXQgb3JnLmFw YWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5jcmVhdGVUYWJs ZShDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YToxMDIxKQoJYXQgb3JnLmFwYWNoZS5w aG9lbml4LnNjaGVtYS5NZXRhRGF0YUNsaWVudC5jcmVhdGVUYWJsZUludGVybmFsKE1ldGFEYXRh Q2xpZW50LmphdmE6MTE1NikKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5zY2hlbWEuTWV0YURhdGFD bGllbnQuY3JlYXRlVGFibGUoTWV0YURhdGFDbGllbnQuamF2YTo0MjIpCglhdCBvcmcuYXBhY2hl LnBob2VuaXguY29tcGlsZS5DcmVhdGVUYWJsZUNvbXBpbGVyJDIuZXhlY3V0ZShDcmVhdGVUYWJs ZUNvbXBpbGVyLmphdmE6MTgzKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmpkYmMuUGhvZW5peFN0 YXRlbWVudC5leGVjdXRlTXV0YXRpb24oUGhvZW5peFN0YXRlbWVudC5qYXZhOjIyNikKCWF0IG9y Zy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhTdGF0ZW1lbnQuZXhlY3V0ZVVwZGF0ZShQaG9l bml4U3RhdGVtZW50LmphdmE6OTA4KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5l Y3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5pbml0KENvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5q YXZhOjEzNTEpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4RHJpdmVyLmdldENv bm5lY3Rpb25RdWVyeVNlcnZpY2VzKFBob2VuaXhEcml2ZXIuamF2YToxMzEpCglhdCBvcmcuYXBh Y2hlLnBob2VuaXguamRiYy5QaG9lbml4RW1iZWRkZWREcml2ZXIuY29ubmVjdChQaG9lbml4RW1i ZWRkZWREcml2ZXIuamF2YToxMTIpCglhdCBzcWxsaW5lLlNxbExpbmUkRGF0YWJhc2VDb25uZWN0 aW9uLmNvbm5lY3QoU3FsTGluZS5qYXZhOjQ2NTApCglhdCBzcWxsaW5lLlNxbExpbmUkRGF0YWJh c2VDb25uZWN0aW9uLmdldENvbm5lY3Rpb24oU3FsTGluZS5qYXZhOjQ3MDEpCglhdCBzcWxsaW5l LlNxbExpbmUkQ29tbWFuZHMuY29ubmVjdChTcWxMaW5lLmphdmE6Mzk0MikKCWF0IHNxbGxpbmUu U3FsTGluZSRDb21tYW5kcy5jb25uZWN0KFNxbExpbmUuamF2YTozODUxKQoJYXQgc3VuLnJlZmxl Y3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1 bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNj ZXNzb3JJbXBsLmphdmE6MzkpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNz b3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6MjUpCglhdCBq YXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjU5NykKCWF0IHNxbGxp bmUuU3FsTGluZSRSZWZsZWN0aXZlQ29tbWFuZEhhbmRsZXIuZXhlY3V0ZShTcWxMaW5lLmphdmE6 MjgxMCkKCWF0IHNxbGxpbmUuU3FsTGluZS5kaXNwYXRjaChTcWxMaW5lLmphdmE6ODE3KQoJYXQg c3FsbGluZS5TcWxMaW5lLmluaXRBcmdzKFNxbExpbmUuamF2YTo2MzMpCglhdCBzcWxsaW5lLlNx bExpbmUuYmVnaW4oU3FsTGluZS5qYXZhOjY4MCkKCWF0IHNxbGxpbmUuU3FsTGluZS5tYWluV2l0 aElucHV0UmVkaXJlY3Rpb24oU3FsTGluZS5qYXZhOjQ0MSkKCWF0IHNxbGxpbmUuU3FsTGluZS5t YWluKFNxbExpbmUuamF2YTo0MjQpCkNhdXNlZCBieTogamF2YS5sYW5nLk5vU3VjaE1ldGhvZEVy cm9yOiBvcmcuYXBhY2hlLmhhZG9vcC5uZXQuTmV0VXRpbHMuZ2V0SW5wdXRTdHJlYW0oTGphdmEv bmV0L1NvY2tldDspTGphdmEvaW8vSW5wdXRTdHJlYW07CglhdCBvcmcuYXBhY2hlLmhhZG9vcC5o YmFzZS5pcGMuSEJhc2VDbGllbnQkQ29ubmVjdGlvbi5zZXR1cElPc3RyZWFtcyhIQmFzZUNsaWVu dC5qYXZhOjQzOSkKCS4uLiAzMSBtb3JlCjIwMTQtMDQtMDMgMTU6NTY6MjksNjY2IERFQlVHIG9y Zy5hcGFjaGUuaGFkb29wLmlwYy5IQmFzZUNsaWVudDogSVBDIENsaWVudCAoMTY4MTY5ODkzMykg Y29ubmVjdGlvbiB0byBsb2NhbGhvc3QubG9jYWxkb21haW4vMTI3LjAuMC4xOjYwMDAwIGZyb20g Y2xvdWRlcmE6IGNsb3NlZAoyMDE0LTA0LTAzIDE1OjU2OjI5LDY2NiBJTkZPIG9yZy5hcGFjaGUu aGFkb29wLmhiYXNlLmNsaWVudC5IQ29ubmVjdGlvbk1hbmFnZXIkSENvbm5lY3Rpb25JbXBsZW1l bnRhdGlvbjogZ2V0TWFzdGVyIGF0dGVtcHQgNiBvZiAxMCBmYWlsZWQ7IHJldHJ5aW5nIGFmdGVy IHNsZWVwIG9mIDQwMDUKamF2YS5pby5JT0V4Y2VwdGlvbjogQ291bGQgbm90IHNldCB1cCBJTyBT dHJlYW1zCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQkQ29ubmVj dGlvbi5zZXR1cElPc3RyZWFtcyhIQmFzZUNsaWVudC5qYXZhOjQ1NikKCWF0IG9yZy5hcGFjaGUu aGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudC5nZXRDb25uZWN0aW9uKEhCYXNlQ2xpZW50Lmph dmE6MTE0MSkKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudC5jYWxs KEhCYXNlQ2xpZW50LmphdmE6OTg4KQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLldy aXRhYmxlUnBjRW5naW5lJEludm9rZXIuaW52b2tlKFdyaXRhYmxlUnBjRW5naW5lLmphdmE6ODcp CglhdCAkUHJveHk3LmdldFByb3RvY29sVmVyc2lvbihVbmtub3duIFNvdXJjZSkKCWF0IG9yZy5h cGFjaGUuaGFkb29wLmhiYXNlLmlwYy5Xcml0YWJsZVJwY0VuZ2luZS5nZXRQcm94eShXcml0YWJs ZVJwY0VuZ2luZS5qYXZhOjE0MSkKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmNsaWVudC5I Q29ubmVjdGlvbk1hbmFnZXIkSENvbm5lY3Rpb25JbXBsZW1lbnRhdGlvbi5nZXRNYXN0ZXIoSENv bm5lY3Rpb25NYW5hZ2VyLmphdmE6ODEzKQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuY2xp ZW50LkhCYXNlQWRtaW4uPGluaXQ+KEhCYXNlQWRtaW4uamF2YToxMjcpCglhdCBvcmcuYXBhY2hl LnBob2VuaXgucXVlcnkuQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmVuc3VyZVRhYmxlQ3Jl YXRlZChDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YTo3MzkpCglhdCBvcmcuYXBhY2hl LnBob2VuaXgucXVlcnkuQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmNyZWF0ZVRhYmxlKENv bm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5qYXZhOjEwMjEpCglhdCBvcmcuYXBhY2hlLnBob2Vu aXguc2NoZW1hLk1ldGFEYXRhQ2xpZW50LmNyZWF0ZVRhYmxlSW50ZXJuYWwoTWV0YURhdGFDbGll bnQuamF2YToxMTU2KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnNjaGVtYS5NZXRhRGF0YUNsaWVu dC5jcmVhdGVUYWJsZShNZXRhRGF0YUNsaWVudC5qYXZhOjQyMikKCWF0IG9yZy5hcGFjaGUucGhv ZW5peC5jb21waWxlLkNyZWF0ZVRhYmxlQ29tcGlsZXIkMi5leGVjdXRlKENyZWF0ZVRhYmxlQ29t cGlsZXIuamF2YToxODMpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4U3RhdGVt ZW50LmV4ZWN1dGVNdXRhdGlvbihQaG9lbml4U3RhdGVtZW50LmphdmE6MjI2KQoJYXQgb3JnLmFw YWNoZS5waG9lbml4LmpkYmMuUGhvZW5peFN0YXRlbWVudC5leGVjdXRlVXBkYXRlKFBob2VuaXhT dGF0ZW1lbnQuamF2YTo5MDgpCglhdCBvcmcuYXBhY2hlLnBob2VuaXgucXVlcnkuQ29ubmVjdGlv blF1ZXJ5U2VydmljZXNJbXBsLmluaXQoQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmphdmE6 MTM1MSkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhEcml2ZXIuZ2V0Q29ubmVj dGlvblF1ZXJ5U2VydmljZXMoUGhvZW5peERyaXZlci5qYXZhOjEzMSkKCWF0IG9yZy5hcGFjaGUu cGhvZW5peC5qZGJjLlBob2VuaXhFbWJlZGRlZERyaXZlci5jb25uZWN0KFBob2VuaXhFbWJlZGRl ZERyaXZlci5qYXZhOjExMikKCWF0IHNxbGxpbmUuU3FsTGluZSREYXRhYmFzZUNvbm5lY3Rpb24u Y29ubmVjdChTcWxMaW5lLmphdmE6NDY1MCkKCWF0IHNxbGxpbmUuU3FsTGluZSREYXRhYmFzZUNv bm5lY3Rpb24uZ2V0Q29ubmVjdGlvbihTcWxMaW5lLmphdmE6NDcwMSkKCWF0IHNxbGxpbmUuU3Fs TGluZSRDb21tYW5kcy5jb25uZWN0KFNxbExpbmUuamF2YTozOTQyKQoJYXQgc3FsbGluZS5TcWxM aW5lJENvbW1hbmRzLmNvbm5lY3QoU3FsTGluZS5qYXZhOjM4NTEpCglhdCBzdW4ucmVmbGVjdC5O YXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJl ZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3Nv ckltcGwuamF2YTozOSkKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3Nvcklt cGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YToyNSkKCWF0IGphdmEu bGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NTk3KQoJYXQgc3FsbGluZS5T cWxMaW5lJFJlZmxlY3RpdmVDb21tYW5kSGFuZGxlci5leGVjdXRlKFNxbExpbmUuamF2YToyODEw KQoJYXQgc3FsbGluZS5TcWxMaW5lLmRpc3BhdGNoKFNxbExpbmUuamF2YTo4MTcpCglhdCBzcWxs aW5lLlNxbExpbmUuaW5pdEFyZ3MoU3FsTGluZS5qYXZhOjYzMykKCWF0IHNxbGxpbmUuU3FsTGlu ZS5iZWdpbihTcWxMaW5lLmphdmE6NjgwKQoJYXQgc3FsbGluZS5TcWxMaW5lLm1haW5XaXRoSW5w dXRSZWRpcmVjdGlvbihTcWxMaW5lLmphdmE6NDQxKQoJYXQgc3FsbGluZS5TcWxMaW5lLm1haW4o U3FsTGluZS5qYXZhOjQyNCkKQ2F1c2VkIGJ5OiBqYXZhLmxhbmcuTm9TdWNoTWV0aG9kRXJyb3I6 IG9yZy5hcGFjaGUuaGFkb29wLm5ldC5OZXRVdGlscy5nZXRJbnB1dFN0cmVhbShMamF2YS9uZXQv U29ja2V0OylMamF2YS9pby9JbnB1dFN0cmVhbTsKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNl LmlwYy5IQmFzZUNsaWVudCRDb25uZWN0aW9uLnNldHVwSU9zdHJlYW1zKEhCYXNlQ2xpZW50Lmph dmE6NDM5KQoJLi4uIDMxIG1vcmUKMjAxNC0wNC0wMyAxNTo1NjozMyw2OTkgREVCVUcgb3JnLmFw YWNoZS5oYWRvb3AuaXBjLkhCYXNlQ2xpZW50OiBDb25uZWN0aW5nIHRvIG9yZy5hcGFjaGUuaGFk b29wLmhiYXNlLmlwYy5IQmFzZUNsaWVudCRDb25uZWN0aW9uSWRAODNmYmI5ZGQKMjAxNC0wNC0w MyAxNTo1NjozMyw2OTkgREVCVUcgb3JnLmFwYWNoZS5oYWRvb3AuaXBjLkhCYXNlQ2xpZW50OiBj bG9zaW5nIGlwYyBjb25uZWN0aW9uIHRvIGxvY2FsaG9zdC5sb2NhbGRvbWFpbi8xMjcuMC4wLjE6 NjAwMDA6IENvdWxkIG5vdCBzZXQgdXAgSU8gU3RyZWFtcwpqYXZhLmlvLklPRXhjZXB0aW9uOiBD b3VsZCBub3Qgc2V0IHVwIElPIFN0cmVhbXMKCWF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlw Yy5IQmFzZUNsaWVudCRDb25uZWN0aW9uLnNldHVwSU9zdHJlYW1zKEhCYXNlQ2xpZW50LmphdmE6 NDU2KQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50LmdldENvbm5l Y3Rpb24oSEJhc2VDbGllbnQuamF2YToxMTQxKQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2Uu aXBjLkhCYXNlQ2xpZW50LmNhbGwoSEJhc2VDbGllbnQuamF2YTo5ODgpCglhdCBvcmcuYXBhY2hl LmhhZG9vcC5oYmFzZS5pcGMuV3JpdGFibGVScGNFbmdpbmUkSW52b2tlci5pbnZva2UoV3JpdGFi bGVScGNFbmdpbmUuamF2YTo4NykKCWF0ICRQcm94eTcuZ2V0UHJvdG9jb2xWZXJzaW9uKFVua25v d24gU291cmNlKQoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLldyaXRhYmxlUnBjRW5n aW5lLmdldFByb3h5KFdyaXRhYmxlUnBjRW5naW5lLmphdmE6MTQxKQoJYXQgb3JnLmFwYWNoZS5o YWRvb3AuaGJhc2UuY2xpZW50LkhDb25uZWN0aW9uTWFuYWdlciRIQ29ubmVjdGlvbkltcGxlbWVu dGF0aW9uLmdldE1hc3RlcihIQ29ubmVjdGlvbk1hbmFnZXIuamF2YTo4MTMpCglhdCBvcmcuYXBh Y2hlLmhhZG9vcC5oYmFzZS5jbGllbnQuSEJhc2VBZG1pbi48aW5pdD4oSEJhc2VBZG1pbi5qYXZh OjEyNykKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5xdWVyeS5Db25uZWN0aW9uUXVlcnlTZXJ2aWNl c0ltcGwuZW5zdXJlVGFibGVDcmVhdGVkKENvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5qYXZh OjczOSkKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5xdWVyeS5Db25uZWN0aW9uUXVlcnlTZXJ2aWNl c0ltcGwuY3JlYXRlVGFibGUoQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmphdmE6MTAyMSkK CWF0IG9yZy5hcGFjaGUucGhvZW5peC5zY2hlbWEuTWV0YURhdGFDbGllbnQuY3JlYXRlVGFibGVJ bnRlcm5hbChNZXRhRGF0YUNsaWVudC5qYXZhOjExNTYpCglhdCBvcmcuYXBhY2hlLnBob2VuaXgu c2NoZW1hLk1ldGFEYXRhQ2xpZW50LmNyZWF0ZVRhYmxlKE1ldGFEYXRhQ2xpZW50LmphdmE6NDIy KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmNvbXBpbGUuQ3JlYXRlVGFibGVDb21waWxlciQyLmV4 ZWN1dGUoQ3JlYXRlVGFibGVDb21waWxlci5qYXZhOjE4MykKCWF0IG9yZy5hcGFjaGUucGhvZW5p eC5qZGJjLlBob2VuaXhTdGF0ZW1lbnQuZXhlY3V0ZU11dGF0aW9uKFBob2VuaXhTdGF0ZW1lbnQu amF2YToyMjYpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4U3RhdGVtZW50LmV4 ZWN1dGVVcGRhdGUoUGhvZW5peFN0YXRlbWVudC5qYXZhOjkwOCkKCWF0IG9yZy5hcGFjaGUucGhv ZW5peC5xdWVyeS5Db25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuaW5pdChDb25uZWN0aW9uUXVl cnlTZXJ2aWNlc0ltcGwuamF2YToxMzUxKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmpkYmMuUGhv ZW5peERyaXZlci5nZXRDb25uZWN0aW9uUXVlcnlTZXJ2aWNlcyhQaG9lbml4RHJpdmVyLmphdmE6 MTMxKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LmpkYmMuUGhvZW5peEVtYmVkZGVkRHJpdmVyLmNv bm5lY3QoUGhvZW5peEVtYmVkZGVkRHJpdmVyLmphdmE6MTEyKQoJYXQgc3FsbGluZS5TcWxMaW5l JERhdGFiYXNlQ29ubmVjdGlvbi5jb25uZWN0KFNxbExpbmUuamF2YTo0NjUwKQoJYXQgc3FsbGlu ZS5TcWxMaW5lJERhdGFiYXNlQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uKFNxbExpbmUuamF2YTo0 NzAxKQoJYXQgc3FsbGluZS5TcWxMaW5lJENvbW1hbmRzLmNvbm5lY3QoU3FsTGluZS5qYXZhOjM5 NDIpCglhdCBzcWxsaW5lLlNxbExpbmUkQ29tbWFuZHMuY29ubmVjdChTcWxMaW5lLmphdmE6Mzg1 MSkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2 ZSBNZXRob2QpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tl KE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjM5KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdh dGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1w bC5qYXZhOjI1KQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2 YTo1OTcpCglhdCBzcWxsaW5lLlNxbExpbmUkUmVmbGVjdGl2ZUNvbW1hbmRIYW5kbGVyLmV4ZWN1 dGUoU3FsTGluZS5qYXZhOjI4MTApCglhdCBzcWxsaW5lLlNxbExpbmUuZGlzcGF0Y2goU3FsTGlu ZS5qYXZhOjgxNykKCWF0IHNxbGxpbmUuU3FsTGluZS5pbml0QXJncyhTcWxMaW5lLmphdmE6NjMz KQoJYXQgc3FsbGluZS5TcWxMaW5lLmJlZ2luKFNxbExpbmUuamF2YTo2ODApCglhdCBzcWxsaW5l LlNxbExpbmUubWFpbldpdGhJbnB1dFJlZGlyZWN0aW9uKFNxbExpbmUuamF2YTo0NDEpCglhdCBz cWxsaW5lLlNxbExpbmUubWFpbihTcWxMaW5lLmphdmE6NDI0KQpDYXVzZWQgYnk6IGphdmEubGFu Zy5Ob1N1Y2hNZXRob2RFcnJvcjogb3JnLmFwYWNoZS5oYWRvb3AubmV0Lk5ldFV0aWxzLmdldElu cHV0U3RyZWFtKExqYXZhL25ldC9Tb2NrZXQ7KUxqYXZhL2lvL0lucHV0U3RyZWFtOwoJYXQgb3Jn LmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50JENvbm5lY3Rpb24uc2V0dXBJT3N0 cmVhbXMoSEJhc2VDbGllbnQuamF2YTo0MzkpCgkuLi4gMzEgbW9yZQoyMDE0LTA0LTAzIDE1OjU2 OjMzLDcwMCBERUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5pcGMuSEJhc2VDbGllbnQ6IElQQyBDbGll bnQgKDE2ODE2OTg5MzMpIGNvbm5lY3Rpb24gdG8gbG9jYWxob3N0LmxvY2FsZG9tYWluLzEyNy4w LjAuMTo2MDAwMCBmcm9tIGNsb3VkZXJhOiBjbG9zZWQKMjAxNC0wNC0wMyAxNTo1NjozMyw3MDAg SU5GTyBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5jbGllbnQuSENvbm5lY3Rpb25NYW5hZ2VyJEhD b25uZWN0aW9uSW1wbGVtZW50YXRpb246IGdldE1hc3RlciBhdHRlbXB0IDcgb2YgMTAgZmFpbGVk OyByZXRyeWluZyBhZnRlciBzbGVlcCBvZiA4MDYyCmphdmEuaW8uSU9FeGNlcHRpb246IENvdWxk IG5vdCBzZXQgdXAgSU8gU3RyZWFtcwoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhC YXNlQ2xpZW50JENvbm5lY3Rpb24uc2V0dXBJT3N0cmVhbXMoSEJhc2VDbGllbnQuamF2YTo0NTYp CglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQuZ2V0Q29ubmVjdGlv bihIQmFzZUNsaWVudC5qYXZhOjExNDEpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMu SEJhc2VDbGllbnQuY2FsbChIQmFzZUNsaWVudC5qYXZhOjk4OCkKCWF0IG9yZy5hcGFjaGUuaGFk b29wLmhiYXNlLmlwYy5Xcml0YWJsZVJwY0VuZ2luZSRJbnZva2VyLmludm9rZShXcml0YWJsZVJw Y0VuZ2luZS5qYXZhOjg3KQoJYXQgJFByb3h5Ny5nZXRQcm90b2NvbFZlcnNpb24oVW5rbm93biBT b3VyY2UpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuV3JpdGFibGVScGNFbmdpbmUu Z2V0UHJveHkoV3JpdGFibGVScGNFbmdpbmUuamF2YToxNDEpCglhdCBvcmcuYXBhY2hlLmhhZG9v cC5oYmFzZS5jbGllbnQuSENvbm5lY3Rpb25NYW5hZ2VyJEhDb25uZWN0aW9uSW1wbGVtZW50YXRp b24uZ2V0TWFzdGVyKEhDb25uZWN0aW9uTWFuYWdlci5qYXZhOjgxMykKCWF0IG9yZy5hcGFjaGUu aGFkb29wLmhiYXNlLmNsaWVudC5IQmFzZUFkbWluLjxpbml0PihIQmFzZUFkbWluLmphdmE6MTI3 KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1w bC5lbnN1cmVUYWJsZUNyZWF0ZWQoQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBsLmphdmE6NzM5 KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1w bC5jcmVhdGVUYWJsZShDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YToxMDIxKQoJYXQg b3JnLmFwYWNoZS5waG9lbml4LnNjaGVtYS5NZXRhRGF0YUNsaWVudC5jcmVhdGVUYWJsZUludGVy bmFsKE1ldGFEYXRhQ2xpZW50LmphdmE6MTE1NikKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5zY2hl bWEuTWV0YURhdGFDbGllbnQuY3JlYXRlVGFibGUoTWV0YURhdGFDbGllbnQuamF2YTo0MjIpCglh dCBvcmcuYXBhY2hlLnBob2VuaXguY29tcGlsZS5DcmVhdGVUYWJsZUNvbXBpbGVyJDIuZXhlY3V0 ZShDcmVhdGVUYWJsZUNvbXBpbGVyLmphdmE6MTgzKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4Lmpk YmMuUGhvZW5peFN0YXRlbWVudC5leGVjdXRlTXV0YXRpb24oUGhvZW5peFN0YXRlbWVudC5qYXZh OjIyNikKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhTdGF0ZW1lbnQuZXhlY3V0 ZVVwZGF0ZShQaG9lbml4U3RhdGVtZW50LmphdmE6OTA4KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4 LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5pbml0KENvbm5lY3Rpb25RdWVyeVNl cnZpY2VzSW1wbC5qYXZhOjEzNTEpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4 RHJpdmVyLmdldENvbm5lY3Rpb25RdWVyeVNlcnZpY2VzKFBob2VuaXhEcml2ZXIuamF2YToxMzEp CglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4RW1iZWRkZWREcml2ZXIuY29ubmVj dChQaG9lbml4RW1iZWRkZWREcml2ZXIuamF2YToxMTIpCglhdCBzcWxsaW5lLlNxbExpbmUkRGF0 YWJhc2VDb25uZWN0aW9uLmNvbm5lY3QoU3FsTGluZS5qYXZhOjQ2NTApCglhdCBzcWxsaW5lLlNx bExpbmUkRGF0YWJhc2VDb25uZWN0aW9uLmdldENvbm5lY3Rpb24oU3FsTGluZS5qYXZhOjQ3MDEp CglhdCBzcWxsaW5lLlNxbExpbmUkQ29tbWFuZHMuY29ubmVjdChTcWxMaW5lLmphdmE6Mzk0MikK CWF0IHNxbGxpbmUuU3FsTGluZSRDb21tYW5kcy5jb25uZWN0KFNxbExpbmUuamF2YTozODUxKQoJ YXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1l dGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0 aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6MzkpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5n TWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmph dmE6MjUpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjU5 NykKCWF0IHNxbGxpbmUuU3FsTGluZSRSZWZsZWN0aXZlQ29tbWFuZEhhbmRsZXIuZXhlY3V0ZShT cWxMaW5lLmphdmE6MjgxMCkKCWF0IHNxbGxpbmUuU3FsTGluZS5kaXNwYXRjaChTcWxMaW5lLmph dmE6ODE3KQoJYXQgc3FsbGluZS5TcWxMaW5lLmluaXRBcmdzKFNxbExpbmUuamF2YTo2MzMpCglh dCBzcWxsaW5lLlNxbExpbmUuYmVnaW4oU3FsTGluZS5qYXZhOjY4MCkKCWF0IHNxbGxpbmUuU3Fs TGluZS5tYWluV2l0aElucHV0UmVkaXJlY3Rpb24oU3FsTGluZS5qYXZhOjQ0MSkKCWF0IHNxbGxp bmUuU3FsTGluZS5tYWluKFNxbExpbmUuamF2YTo0MjQpCkNhdXNlZCBieTogamF2YS5sYW5nLk5v U3VjaE1ldGhvZEVycm9yOiBvcmcuYXBhY2hlLmhhZG9vcC5uZXQuTmV0VXRpbHMuZ2V0SW5wdXRT dHJlYW0oTGphdmEvbmV0L1NvY2tldDspTGphdmEvaW8vSW5wdXRTdHJlYW07CglhdCBvcmcuYXBh Y2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQkQ29ubmVjdGlvbi5zZXR1cElPc3RyZWFt cyhIQmFzZUNsaWVudC5qYXZhOjQzOSkKCS4uLiAzMSBtb3JlCjIwMTQtMDQtMDMgMTU6NTY6Mzgs NTgyIERFQlVHIG9yZy5hcGFjaGUuem9va2VlcGVyLmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50 OiBDb3VsZCBub3QgcmV0cmlldmUgbG9naW4gY29uZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3Vy aXR5RXhjZXB0aW9uOiBVbmFibGUgdG8gbG9jYXRlIGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0 LTA0LTAzIDE1OjU2OjM4LDU4MyBERUJVRyBvcmcuYXBhY2hlLnpvb2tlZXBlci5jbGllbnQuWm9v S2VlcGVyU2FzbENsaWVudDogQ291bGQgbm90IHJldHJpZXZlIGxvZ2luIGNvbmZpZ3VyYXRpb246 IGphdmEubGFuZy5TZWN1cml0eUV4Y2VwdGlvbjogVW5hYmxlIHRvIGxvY2F0ZSBhIGxvZ2luIGNv bmZpZ3VyYXRpb24KMjAxNC0wNC0wMyAxNTo1NjozOCw1ODMgREVCVUcgb3JnLmFwYWNoZS56b29r ZWVwZXIuY2xpZW50Llpvb0tlZXBlclNhc2xDbGllbnQ6IENvdWxkIG5vdCByZXRyaWV2ZSBsb2dp biBjb25maWd1cmF0aW9uOiBqYXZhLmxhbmcuU2VjdXJpdHlFeGNlcHRpb246IFVuYWJsZSB0byBs b2NhdGUgYSBsb2dpbiBjb25maWd1cmF0aW9uCjIwMTQtMDQtMDMgMTU6NTY6MzgsNTgzIERFQlVH IG9yZy5hcGFjaGUuem9va2VlcGVyLmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBDb3VsZCBu b3QgcmV0cmlldmUgbG9naW4gY29uZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5RXhjZXB0 aW9uOiBVbmFibGUgdG8gbG9jYXRlIGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0LTAzIDE1 OjU2OjM4LDU4NCBERUJVRyBvcmcuYXBhY2hlLnpvb2tlZXBlci5jbGllbnQuWm9vS2VlcGVyU2Fz bENsaWVudDogQ291bGQgbm90IHJldHJpZXZlIGxvZ2luIGNvbmZpZ3VyYXRpb246IGphdmEubGFu Zy5TZWN1cml0eUV4Y2VwdGlvbjogVW5hYmxlIHRvIGxvY2F0ZSBhIGxvZ2luIGNvbmZpZ3VyYXRp b24KMjAxNC0wNC0wMyAxNTo1NjozOCw1ODQgREVCVUcgb3JnLmFwYWNoZS56b29rZWVwZXIuQ2xp ZW50Q254bjogR290IHBpbmcgcmVzcG9uc2UgZm9yIHNlc3Npb25pZDogMHgxNDUyOTQzNWVkNzAw NGMgYWZ0ZXIgMW1zCjIwMTQtMDQtMDMgMTU6NTY6MzgsNTg0IERFQlVHIG9yZy5hcGFjaGUuem9v a2VlcGVyLmNsaWVudC5ab29LZWVwZXJTYXNsQ2xpZW50OiBDb3VsZCBub3QgcmV0cmlldmUgbG9n aW4gY29uZmlndXJhdGlvbjogamF2YS5sYW5nLlNlY3VyaXR5RXhjZXB0aW9uOiBVbmFibGUgdG8g bG9jYXRlIGEgbG9naW4gY29uZmlndXJhdGlvbgoyMDE0LTA0LTAzIDE1OjU2OjQxLDc2NiBERUJV RyBvcmcuYXBhY2hlLmhhZG9vcC5pcGMuSEJhc2VDbGllbnQ6IENvbm5lY3RpbmcgdG8gb3JnLmFw YWNoZS5oYWRvb3AuaGJhc2UuaXBjLkhCYXNlQ2xpZW50JENvbm5lY3Rpb25JZEA4M2ZiYjlkZAoy MDE0LTA0LTAzIDE1OjU2OjQxLDc2NiBERUJVRyBvcmcuYXBhY2hlLmhhZG9vcC5pcGMuSEJhc2VD bGllbnQ6IGNsb3NpbmcgaXBjIGNvbm5lY3Rpb24gdG8gbG9jYWxob3N0LmxvY2FsZG9tYWluLzEy Ny4wLjAuMTo2MDAwMDogQ291bGQgbm90IHNldCB1cCBJTyBTdHJlYW1zCmphdmEuaW8uSU9FeGNl cHRpb246IENvdWxkIG5vdCBzZXQgdXAgSU8gU3RyZWFtcwoJYXQgb3JnLmFwYWNoZS5oYWRvb3Au aGJhc2UuaXBjLkhCYXNlQ2xpZW50JENvbm5lY3Rpb24uc2V0dXBJT3N0cmVhbXMoSEJhc2VDbGll bnQuamF2YTo0NTYpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQu Z2V0Q29ubmVjdGlvbihIQmFzZUNsaWVudC5qYXZhOjExNDEpCglhdCBvcmcuYXBhY2hlLmhhZG9v cC5oYmFzZS5pcGMuSEJhc2VDbGllbnQuY2FsbChIQmFzZUNsaWVudC5qYXZhOjk4OCkKCWF0IG9y Zy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5Xcml0YWJsZVJwY0VuZ2luZSRJbnZva2VyLmludm9r ZShXcml0YWJsZVJwY0VuZ2luZS5qYXZhOjg3KQoJYXQgJFByb3h5Ny5nZXRQcm90b2NvbFZlcnNp b24oVW5rbm93biBTb3VyY2UpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuV3JpdGFi bGVScGNFbmdpbmUuZ2V0UHJveHkoV3JpdGFibGVScGNFbmdpbmUuamF2YToxNDEpCglhdCBvcmcu YXBhY2hlLmhhZG9vcC5oYmFzZS5jbGllbnQuSENvbm5lY3Rpb25NYW5hZ2VyJEhDb25uZWN0aW9u SW1wbGVtZW50YXRpb24uZ2V0TWFzdGVyKEhDb25uZWN0aW9uTWFuYWdlci5qYXZhOjgxMykKCWF0 IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmNsaWVudC5IQmFzZUFkbWluLjxpbml0PihIQmFzZUFk bWluLmphdmE6MTI3KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVy eVNlcnZpY2VzSW1wbC5lbnN1cmVUYWJsZUNyZWF0ZWQoQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJ bXBsLmphdmE6NzM5KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVy eVNlcnZpY2VzSW1wbC5jcmVhdGVUYWJsZShDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2 YToxMDIxKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnNjaGVtYS5NZXRhRGF0YUNsaWVudC5jcmVh dGVUYWJsZUludGVybmFsKE1ldGFEYXRhQ2xpZW50LmphdmE6MTE1NikKCWF0IG9yZy5hcGFjaGUu cGhvZW5peC5zY2hlbWEuTWV0YURhdGFDbGllbnQuY3JlYXRlVGFibGUoTWV0YURhdGFDbGllbnQu amF2YTo0MjIpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguY29tcGlsZS5DcmVhdGVUYWJsZUNvbXBp bGVyJDIuZXhlY3V0ZShDcmVhdGVUYWJsZUNvbXBpbGVyLmphdmE6MTgzKQoJYXQgb3JnLmFwYWNo ZS5waG9lbml4LmpkYmMuUGhvZW5peFN0YXRlbWVudC5leGVjdXRlTXV0YXRpb24oUGhvZW5peFN0 YXRlbWVudC5qYXZhOjIyNikKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhTdGF0 ZW1lbnQuZXhlY3V0ZVVwZGF0ZShQaG9lbml4U3RhdGVtZW50LmphdmE6OTA4KQoJYXQgb3JnLmFw YWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5pbml0KENvbm5l Y3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5qYXZhOjEzNTEpCglhdCBvcmcuYXBhY2hlLnBob2VuaXgu amRiYy5QaG9lbml4RHJpdmVyLmdldENvbm5lY3Rpb25RdWVyeVNlcnZpY2VzKFBob2VuaXhEcml2 ZXIuamF2YToxMzEpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4RW1iZWRkZWRE cml2ZXIuY29ubmVjdChQaG9lbml4RW1iZWRkZWREcml2ZXIuamF2YToxMTIpCglhdCBzcWxsaW5l LlNxbExpbmUkRGF0YWJhc2VDb25uZWN0aW9uLmNvbm5lY3QoU3FsTGluZS5qYXZhOjQ2NTApCglh dCBzcWxsaW5lLlNxbExpbmUkRGF0YWJhc2VDb25uZWN0aW9uLmdldENvbm5lY3Rpb24oU3FsTGlu ZS5qYXZhOjQ3MDEpCglhdCBzcWxsaW5lLlNxbExpbmUkQ29tbWFuZHMuY29ubmVjdChTcWxMaW5l LmphdmE6Mzk0MikKCWF0IHNxbGxpbmUuU3FsTGluZSRDb21tYW5kcy5jb25uZWN0KFNxbExpbmUu amF2YTozODUxKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9r ZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1w bC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6MzkpCglhdCBzdW4ucmVmbGVj dC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNj ZXNzb3JJbXBsLmphdmE6MjUpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1l dGhvZC5qYXZhOjU5NykKCWF0IHNxbGxpbmUuU3FsTGluZSRSZWZsZWN0aXZlQ29tbWFuZEhhbmRs ZXIuZXhlY3V0ZShTcWxMaW5lLmphdmE6MjgxMCkKCWF0IHNxbGxpbmUuU3FsTGluZS5kaXNwYXRj aChTcWxMaW5lLmphdmE6ODE3KQoJYXQgc3FsbGluZS5TcWxMaW5lLmluaXRBcmdzKFNxbExpbmUu amF2YTo2MzMpCglhdCBzcWxsaW5lLlNxbExpbmUuYmVnaW4oU3FsTGluZS5qYXZhOjY4MCkKCWF0 IHNxbGxpbmUuU3FsTGluZS5tYWluV2l0aElucHV0UmVkaXJlY3Rpb24oU3FsTGluZS5qYXZhOjQ0 MSkKCWF0IHNxbGxpbmUuU3FsTGluZS5tYWluKFNxbExpbmUuamF2YTo0MjQpCkNhdXNlZCBieTog amF2YS5sYW5nLk5vU3VjaE1ldGhvZEVycm9yOiBvcmcuYXBhY2hlLmhhZG9vcC5uZXQuTmV0VXRp bHMuZ2V0SW5wdXRTdHJlYW0oTGphdmEvbmV0L1NvY2tldDspTGphdmEvaW8vSW5wdXRTdHJlYW07 CglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQkQ29ubmVjdGlvbi5z ZXR1cElPc3RyZWFtcyhIQmFzZUNsaWVudC5qYXZhOjQzOSkKCS4uLiAzMSBtb3JlCjIwMTQtMDQt MDMgMTU6NTY6NDEsNzY3IERFQlVHIG9yZy5hcGFjaGUuaGFkb29wLmlwYy5IQmFzZUNsaWVudDog SVBDIENsaWVudCAoMTY4MTY5ODkzMykgY29ubmVjdGlvbiB0byBsb2NhbGhvc3QubG9jYWxkb21h aW4vMTI3LjAuMC4xOjYwMDAwIGZyb20gY2xvdWRlcmE6IGNsb3NlZAoyMDE0LTA0LTAzIDE1OjU2 OjQxLDc2NyBJTkZPIG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmNsaWVudC5IQ29ubmVjdGlvbk1h bmFnZXIkSENvbm5lY3Rpb25JbXBsZW1lbnRhdGlvbjogZ2V0TWFzdGVyIGF0dGVtcHQgOCBvZiAx MCBmYWlsZWQ7IHJldHJ5aW5nIGFmdGVyIHNsZWVwIG9mIDE2MDEwCmphdmEuaW8uSU9FeGNlcHRp b246IENvdWxkIG5vdCBzZXQgdXAgSU8gU3RyZWFtcwoJYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJh c2UuaXBjLkhCYXNlQ2xpZW50JENvbm5lY3Rpb24uc2V0dXBJT3N0cmVhbXMoSEJhc2VDbGllbnQu amF2YTo0NTYpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQuZ2V0 Q29ubmVjdGlvbihIQmFzZUNsaWVudC5qYXZhOjExNDEpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5o YmFzZS5pcGMuSEJhc2VDbGllbnQuY2FsbChIQmFzZUNsaWVudC5qYXZhOjk4OCkKCWF0IG9yZy5h cGFjaGUuaGFkb29wLmhiYXNlLmlwYy5Xcml0YWJsZVJwY0VuZ2luZSRJbnZva2VyLmludm9rZShX cml0YWJsZVJwY0VuZ2luZS5qYXZhOjg3KQoJYXQgJFByb3h5Ny5nZXRQcm90b2NvbFZlcnNpb24o VW5rbm93biBTb3VyY2UpCglhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuV3JpdGFibGVS cGNFbmdpbmUuZ2V0UHJveHkoV3JpdGFibGVScGNFbmdpbmUuamF2YToxNDEpCglhdCBvcmcuYXBh Y2hlLmhhZG9vcC5oYmFzZS5jbGllbnQuSENvbm5lY3Rpb25NYW5hZ2VyJEhDb25uZWN0aW9uSW1w bGVtZW50YXRpb24uZ2V0TWFzdGVyKEhDb25uZWN0aW9uTWFuYWdlci5qYXZhOjgxMykKCWF0IG9y Zy5hcGFjaGUuaGFkb29wLmhiYXNlLmNsaWVudC5IQmFzZUFkbWluLjxpbml0PihIQmFzZUFkbWlu LmphdmE6MTI3KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNl cnZpY2VzSW1wbC5lbnN1cmVUYWJsZUNyZWF0ZWQoQ29ubmVjdGlvblF1ZXJ5U2VydmljZXNJbXBs LmphdmE6NzM5KQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNl cnZpY2VzSW1wbC5jcmVhdGVUYWJsZShDb25uZWN0aW9uUXVlcnlTZXJ2aWNlc0ltcGwuamF2YTox MDIxKQoJYXQgb3JnLmFwYWNoZS5waG9lbml4LnNjaGVtYS5NZXRhRGF0YUNsaWVudC5jcmVhdGVU YWJsZUludGVybmFsKE1ldGFEYXRhQ2xpZW50LmphdmE6MTE1NikKCWF0IG9yZy5hcGFjaGUucGhv ZW5peC5zY2hlbWEuTWV0YURhdGFDbGllbnQuY3JlYXRlVGFibGUoTWV0YURhdGFDbGllbnQuamF2 YTo0MjIpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguY29tcGlsZS5DcmVhdGVUYWJsZUNvbXBpbGVy JDIuZXhlY3V0ZShDcmVhdGVUYWJsZUNvbXBpbGVyLmphdmE6MTgzKQoJYXQgb3JnLmFwYWNoZS5w aG9lbml4LmpkYmMuUGhvZW5peFN0YXRlbWVudC5leGVjdXRlTXV0YXRpb24oUGhvZW5peFN0YXRl bWVudC5qYXZhOjIyNikKCWF0IG9yZy5hcGFjaGUucGhvZW5peC5qZGJjLlBob2VuaXhTdGF0ZW1l bnQuZXhlY3V0ZVVwZGF0ZShQaG9lbml4U3RhdGVtZW50LmphdmE6OTA4KQoJYXQgb3JnLmFwYWNo ZS5waG9lbml4LnF1ZXJ5LkNvbm5lY3Rpb25RdWVyeVNlcnZpY2VzSW1wbC5pbml0KENvbm5lY3Rp b25RdWVyeVNlcnZpY2VzSW1wbC5qYXZhOjEzNTEpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRi Yy5QaG9lbml4RHJpdmVyLmdldENvbm5lY3Rpb25RdWVyeVNlcnZpY2VzKFBob2VuaXhEcml2ZXIu amF2YToxMzEpCglhdCBvcmcuYXBhY2hlLnBob2VuaXguamRiYy5QaG9lbml4RW1iZWRkZWREcml2 ZXIuY29ubmVjdChQaG9lbml4RW1iZWRkZWREcml2ZXIuamF2YToxMTIpCglhdCBzcWxsaW5lLlNx bExpbmUkRGF0YWJhc2VDb25uZWN0aW9uLmNvbm5lY3QoU3FsTGluZS5qYXZhOjQ2NTApCglhdCBz cWxsaW5lLlNxbExpbmUkRGF0YWJhc2VDb25uZWN0aW9uLmdldENvbm5lY3Rpb24oU3FsTGluZS5q YXZhOjQ3MDEpCglhdCBzcWxsaW5lLlNxbExpbmUkQ29tbWFuZHMuY29ubmVjdChTcWxMaW5lLmph dmE6Mzk0MikKCWF0IHNxbGxpbmUuU3FsTGluZSRDb21tYW5kcy5jb25uZWN0KFNxbExpbmUuamF2 YTozODUxKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAo TmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5p bnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6MzkpCglhdCBzdW4ucmVmbGVjdC5E ZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNz b3JJbXBsLmphdmE6MjUpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhv ZC5qYXZhOjU5NykKCWF0IHNxbGxpbmUuU3FsTGluZSRSZWZsZWN0aXZlQ29tbWFuZEhhbmRsZXIu ZXhlY3V0ZShTcWxMaW5lLmphdmE6MjgxMCkKCWF0IHNxbGxpbmUuU3FsTGluZS5kaXNwYXRjaChT cWxMaW5lLmphdmE6ODE3KQoJYXQgc3FsbGluZS5TcWxMaW5lLmluaXRBcmdzKFNxbExpbmUuamF2 YTo2MzMpCglhdCBzcWxsaW5lLlNxbExpbmUuYmVnaW4oU3FsTGluZS5qYXZhOjY4MCkKCWF0IHNx bGxpbmUuU3FsTGluZS5tYWluV2l0aElucHV0UmVkaXJlY3Rpb24oU3FsTGluZS5qYXZhOjQ0MSkK CWF0IHNxbGxpbmUuU3FsTGluZS5tYWluKFNxbExpbmUuamF2YTo0MjQpCkNhdXNlZCBieTogamF2 YS5sYW5nLk5vU3VjaE1ldGhvZEVycm9yOiBvcmcuYXBhY2hlLmhhZG9vcC5uZXQuTmV0VXRpbHMu Z2V0SW5wdXRTdHJlYW0oTGphdmEvbmV0L1NvY2tldDspTGphdmEvaW8vSW5wdXRTdHJlYW07Cglh dCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuSEJhc2VDbGllbnQkQ29ubmVjdGlvbi5zZXR1 cElPc3RyZWFtcyhIQmFzZUNsaWVudC5qYXZhOjQzOSkKCS4uLiAzMSBtb3JlCg== --047d7bb03ddc6330bc04f62bb854--