Return-Path: X-Original-To: apmail-cayenne-dev-archive@www.apache.org Delivered-To: apmail-cayenne-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 594986B15 for ; Mon, 13 Jun 2011 16:53:30 +0000 (UTC) Received: (qmail 65619 invoked by uid 500); 13 Jun 2011 16:53:30 -0000 Delivered-To: apmail-cayenne-dev-archive@cayenne.apache.org Received: (qmail 65600 invoked by uid 500); 13 Jun 2011 16:53:30 -0000 Mailing-List: contact dev-help@cayenne.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cayenne.apache.org Delivered-To: mailing list dev@cayenne.apache.org Received: (qmail 65592 invoked by uid 99); 13 Jun 2011 16:53:30 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Jun 2011 16:53:30 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of esudharaka@gmail.com designates 209.85.212.43 as permitted sender) Received: from [209.85.212.43] (HELO mail-vw0-f43.google.com) (209.85.212.43) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Jun 2011 16:53:16 +0000 Received: by vws10 with SMTP id 10so5978791vws.16 for ; Mon, 13 Jun 2011 09:52:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=1nXjob01EpowSBph7zwDdxLYtXK3g3MyUm7YPCu7uvY=; b=wfRnGHrNr+78j6CpL0TAbk/PJNnv/ovCVUmuEw2aWD0QH90aWlSmnRXAzUgSFj+Wmh P9undaH6oJwDr0Vdp/RtZAOcB4mGoGQZ7kbG55RglwDy6ZXgZHNVeOgwqlXGtFSYPDFw 3Bxs/RcSfK1Dhbpixf6sYoNEBVMYYHtcKSKUI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=MqNzD8gY5XpK7xmvcVrQQ1jBavS78eegaUKh+hDh4ImKUhmXiN0C1b4Nss968RL01r rDo5BdhMrvIM+SiJ/lMHxG56Agbb9S9xU60ro/R50G6Rg1qXF7x/N5Zx3FwXN9Kz/pH/ j3B/FmG3a0kd58lrnXYTXSckFtUomS7S5aj1g= MIME-Version: 1.0 Received: by 10.52.75.137 with SMTP id c9mr7697234vdw.310.1307983974527; Mon, 13 Jun 2011 09:52:54 -0700 (PDT) Received: by 10.52.182.67 with HTTP; Mon, 13 Jun 2011 09:52:54 -0700 (PDT) In-Reply-To: References: Date: Mon, 13 Jun 2011 22:22:54 +0530 Message-ID: Subject: Fwd: Gsoc project From: Eshan Sudharaka To: dev@cayenne.apache.org Cc: Ksenia Khailenko Content-Type: multipart/mixed; boundary=bcaec50167152c720804a59ac0af X-Virus-Checked: Checked by ClamAV on apache.org --bcaec50167152c720804a59ac0af Content-Type: multipart/alternative; boundary=bcaec50167152c720404a59ac0ad --bcaec50167152c720404a59ac0ad Content-Type: text/plain; charset=ISO-8859-1 Hi , I had to manually install eclipse plugins which used for the project.Actually i downloaded them from http://www.java2s.com/Code/Jar/CatalogJar.htm and install them separately to my local m2 repository. Actually i do not know what is the plugin repository should be added to the pom file. On Mon, Jun 13, 2011 at 8:55 PM, Ksenia Khailenko wrote: > We've discussed some points in chat, and decided to locate the new project > also in the sandbox folder. Eshan, I'm looking forward for the updated > patch > to be able to see what happens with configuration error > > 2011/6/13 Ksenia Khailenko > > > Hi there > > > > FYI, Redirecting mail from Eshan, I'll reply this letter in more details > a > > bit later > > > > > > ---------- Forwarded message ---------- > > From: Eshan Sudharaka > > Date: 2011/6/12 > > Subject: Gsoc project > > To: Ksenia Khailenko > > > > > > > > Hy Ksenia , > > First of all i want to apologize since i was not able to continue my > > work at gsoc project since i had my job interviews as well as i was > stuck > > with my final year project. Actually i know this is not a excuse and > that > > is why i am sending this email in private. Some how i will promise you to > > complete my target work before the dead line of mid term evaluation. > (nearly > > I have 30 days) . And I need your and the community support to achieve > this. > > And once again sorry for the working delay from my side. > > > > As you said I install git-svn and followed this. > > http://andy.delcambre.com/2008/03/04/git-svn-workflow.html but when i > > execute git svn fetch command it takes lot of time and after some extent > it > > breaks. So what i did was just check out eclipse plugin module and > deleted > > all .svn files of it and locally added it in to my cayenne trunk/modeler > . > > As you mentioned it is not compilable due to the changes of code base. So > > what i tried is just follow the current flow of Main class and do the > > modifications. And tried to run Cayenne modeler. But i am stuck with some > > point and it is throwing following exception. > > > > Exception in thread "AWT-EventQueue-0" > > org.apache.cayenne.ConfigurationException: [v.3.1-SNAPSHOT Jun 12 2011 > > 04:54:53] DI container has no binding for key > org.apache.cayenne.extentions.modeler.PluginApplication> > > at > > > org.apache.cayenne.di.spi.DefaultInjector.getProvider(DefaultInjector.java:123) > > > > But i create a patch of my current position. And need some help to go on > > with this. And finally i will promise that kind of delay will not happen > > from my side. > > > > > > -- > > *~Thanks & Regards~* > > *** > > * > > P.A.Eshan Sudharaka > > Dept of Computer Science and Engineering > > University of Moratuwa > > Sri Lanka > > http://esudharaka.blogspot.com/ > > > > > > > > > > -- > > Regards, Ksenia Khailenko > > > > > > > > -- > Regards, Ksenia Khailenko > -- *~Thanks & Regards~* *** * P.A.Eshan Sudharaka Dept of Computer Science and Engineering University of Moratuwa Sri Lanka http://esudharaka.blogspot.com/ -- *~Thanks & Regards~* *** * P.A.Eshan Sudharaka Dept of Computer Science and Engineering University of Moratuwa Sri Lanka http://esudharaka.blogspot.com/ --bcaec50167152c720404a59ac0ad Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable =A0
Hi ,
=A0I had to manually install ecli= pse plugins which used for the project.Actually i downloaded them from http://www.java2s.com/C= ode/Jar/CatalogJar.htm
and install them separately to my local m2 repository. Actually i do not kn= ow what is the=A0 plugin repository should be added to the pom file.


On Mon, = Jun 13, 2011 at 8:55 PM, Ksenia Khailenko <xenia_khailenka@tut.by= > wrote:
We've discuss= ed some points in chat, and decided to locate the new project
also in the sandbox folder. Eshan, I'm looking forward for the updated = patch
to be able to see what happens with configuration error

2011/6/13 Ksenia Khailenko <xenia_khailenka@tut.by>

> Hi there
>
> FYI, Redirecting mail from Eshan, I'll reply this letter in more d= etails a
> bit later
>
>
> ---------- Forwarded message ----------
> From: Eshan Sudharaka <esudharaka@gmail.com>
> Date: 2011/6/12
> Subject: Gsoc project
> To: Ksenia Khailenko <xenia_khailenka@tut.by>
>
>
>
> Hy Ksenia ,
> =A0 =A0 First of all i want to apologize since i was not able to conti= nue my
> work at =A0gsoc project since i had my job interviews as well as i was= stuck
> with =A0my final year project. Actually i know this is not a excuse an= d that
> is why i am sending this email in private. Some how i will promise you= to
> complete my target work before the dead line of mid term evaluation. (= nearly
> I have 30 days) . And I need your and the community support to achieve= this.
> And once again sorry for the working delay from my side.
>
> As you said I install git-svn and followed this.
> http://andy.delcambre.com/2008/03/04/git-svn-workflow.ht= ml =A0but when i
> execute git svn fetch command it takes lot of time and after some exte= nt it
> breaks. So what i did was just check out eclipse plugin module and del= eted
> all .svn files of it and locally added it in to my cayenne trunk/model= er .
> As you mentioned it is not compilable due to the changes of code base.= So
> what i tried is just follow the current flow of Main class and do the<= br> > modifications. And tried to run Cayenne modeler. But i am stuck with s= ome
> point and it is throwing following exception.
>
> Exception in thread "AWT-EventQueue-0"
> org.apache.cayenne.ConfigurationException: [v.3.1-SNAPSHOT Jun 12 2011=
> 04:54:53] DI container has no binding for key <BindingKey:
> org.apache.cayenne.extentions.modeler.PluginApplication>
> =A0 =A0 at
> org.apache.cayenne.di.spi.DefaultInjector.getProvider(DefaultInjector.= java:123)
>
> But i create a patch of my current position. And need some help to go = on
> with this. =A0And finally i will promise that kind of delay will not h= appen
> from my side.
>
>
> --
> *~Thanks & Regards~*
> ***
> *
> P.A.Eshan Sudharaka
> Dept of Computer Science and Engineering
> University of Moratuwa
> Sri Lanka
> http://e= sudharaka.blogspot.com/
>
>
>
>
> --
> Regards, Ksenia Khailenko
>
>



--
Regards, Ksenia Khailenko



--
~Thanks & Regards~

P.A.Eshan Sudharaka
Dept= of Computer Science and Engineering
University of Moratuwa
Sri Lank= a
http://e= sudharaka.blogspot.com/





--
~Thanks & Regards~
=
P.A.Eshan Sudharaka
Dept= of Computer Science and Engineering
University of Moratuwa
Sri Lank= a
http://e= sudharaka.blogspot.com/


--bcaec50167152c720404a59ac0ad-- --bcaec50167152c720804a59ac0af Content-Type: text/x-patch; charset=US-ASCII; name="plugin-new.patch" Content-Disposition: attachment; filename="plugin-new.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_govng3x40 SW5kZXg6IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1JSS8uY2xhc3NwYXRoCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1JSS8uY2xhc3NwYXRoCShy ZXZpc2lvbiAwKQorKysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLUlJLy5jbGFzc3Bh dGgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv ZGluZz0iVVRGLTgiPz4KKzxjbGFzc3BhdGg+CisJPGNsYXNzcGF0aGVudHJ5IGtpbmQ9InNyYyIg b3V0cHV0PSJ0YXJnZXQvY2xhc3NlcyIgcGF0aD0ic3JjL21haW4vamF2YSIvPgorCTxjbGFzc3Bh dGhlbnRyeSBleGNsdWRpbmc9IioqIiBraW5kPSJzcmMiIG91dHB1dD0idGFyZ2V0L2NsYXNzZXMi IHBhdGg9Imljb25zIi8+CisJPGNsYXNzcGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0ib3JnLmVj bGlwc2UuamR0LmxhdW5jaGluZy5KUkVfQ09OVEFJTkVSL29yZy5lY2xpcHNlLmpkdC5pbnRlcm5h bC5kZWJ1Zy51aS5sYXVuY2hlci5TdGFuZGFyZFZNVHlwZS9KMlNFLTEuNSIvPgorCTxjbGFzc3Bh dGhlbnRyeSBraW5kPSJjb24iIHBhdGg9Im9yZy5tYXZlbi5pZGUuZWNsaXBzZS5NQVZFTjJfQ0xB U1NQQVRIX0NPTlRBSU5FUiIvPgorCTxjbGFzc3BhdGhlbnRyeSBraW5kPSJvdXRwdXQiIHBhdGg9 InRhcmdldC9jbGFzc2VzIi8+Cis8L2NsYXNzcGF0aD4KSW5kZXg6IGNheWVubmUtbW9kZWxlci1l Y2xpcHNlLXBsdWdpbi1JSS9NRVRBLUlORi9NQU5JRkVTVC5NRgo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjYXll bm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tSUkvTUVUQS1JTkYvTUFOSUZFU1QuTUYJKHJldmlz aW9uIDApCisrKyBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tSUkvTUVUQS1JTkYvTUFO SUZFU1QuTUYJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEzIEBACitNYW5pZmVzdC1WZXJzaW9u OiAxLjANCitFbWJlZC1EaXJlY3Rvcnk6IHRhcmdldC9kZXBlbmRlbmN5DQorUHJpdmF0ZS1QYWNr YWdlOiBhbnRfdGFza3MsY2hlYXRzaGVldHMsY29tLmNhdWNoby5idXJsYXAuY2xpZW50LGNvbS5j YQ0KKyB1Y2hvLmJ1cmxhcC5pbyxjb20uY2F1Y2hvLmJ1cmxhcC5zZXJ2ZXIsY29tLmNhdWNoby5o ZXNzaWFuLGNvbS5jYXVjaG8NCisgLmhlc3NpYW4uY2xpZW50LGNvbS5jYXVjaG8uaGVzc2lhbi5p byxjb20uY2F1Y2hvLmhlc3NpYW4uam14LGNvbS5jYXVjDQorIGhvLmhlc3NpYW4ubWljcm8sY29t LmNhdWNoby5oZXNzaWFuLm11eCxjb20uY2F1Y2hvLmhlc3NpYW4uc2VjdXJpdHksYw0KKyBvbS5j YXVjaG8uaGVzc2lhbi5zZXJ2ZXIsY29tLmNhdWNoby5oZXNzaWFuLnRlc3QsY29tLmNhdWNoby5o ZXNzaWFuLnUNCisgdGlsLGNvbS5jYXVjaG8uc2VydmljZXMuY2xpZW50LGNvbS5jYXVjaG8uc2Vy dmljZXMubWVzc2FnZSxjb20uY2F1Y2hvDQorIC5zZXJ2aWNlcy5uYW1lLGNvbS5jYXVjaG8uc2Vy dmljZXMuc2VydmVyLGNvbS5qY3JhZnQuanpsaWIsY29tLmpnb29kaQ0KKyBlcy5mb3Jtcy5idWls ZGVyLGNvbS5qZ29vZGllcy5mb3Jtcy5kZWJ1Zyxjb20uamdvb2RpZXMuZm9ybXMuZmFjdG9yaWUN Cisgcyxjb20uamdvb2RpZXMuZm9ybXMubGF5b3V0LGNvbS5qZ29vZGllcy5mb3Jtcy51dGlsLGNv bS5qZ29vZGllcy5sb29rDQorIHMsY29tLmpnb29kaWVzLmxvb2tzLmNvbW1vbixjb20uamdvb2Rp ZXMubG9va3MucGxhc3RpYyxjb20uamdvb2RpZXMubA0KKyBvb2tzLnBsYXN0aWMuaWNvbnMsY29t Lmpnb29kaWVzLmxvb2tzLnBsYXN0aWMudGhlbWUsY29tLmpnb29kaWVzLmxvb2sNCisgcy53aW5k b3dzLGNvbS5qZ29vZGllcy5sb29rcy53aW5kb3dzLmljb25zLGNvbS5qZ29vZGllcy5sb29rcy53 aW5kb3dzDQorIC5pY29ucy54cCxjb20uamdyYXBoLmFsZ2VicmEsY29tLmpncmFwaC5hbGdlYnJh LmNvc3QsY29tLmpncmFwaC5jb21wbw0KKyBuZW50cy5sYWJlbHMsY29tLmpncmFwaC5pby5zdmcs Y29tLmpncmFwaC5sYXlvdXQsY29tLmpncmFwaC5sYXlvdXQuZ3INCisgYXBoLGNvbS5qZ3JhcGgu bGF5b3V0LmhpZXJhcmNoaWNhbCxjb20uamdyYXBoLmxheW91dC5oaWVyYXJjaGljYWwubW9kDQor IGVsLGNvbS5qZ3JhcGgubGF5b3V0Lm9yZ2FuaWMsY29tLmpncmFwaC5sYXlvdXQucm91dGluZyxj b20uamdyYXBoLmxheQ0KKyBvdXQuc2ltcGxlLGNvbS5qZ3JhcGgubGF5b3V0LnRyZWUsY29tLmpn cmFwaC5uYXZpZ2F0aW9uLGNvbS5qZ3JhcGgudXQNCisgaWwsY29tLm9wZW5zeW1waG9ueS5vc2Nh Y2hlLmJhc2UsY29tLm9wZW5zeW1waG9ueS5vc2NhY2hlLmJhc2UuYWxnb3JpDQorIHRobSxjb20u b3BlbnN5bXBob255Lm9zY2FjaGUuYmFzZS5ldmVudHMsY29tLm9wZW5zeW1waG9ueS5vc2NhY2hl LmJhcw0KKyBlLnBlcnNpc3RlbmNlLGNvbS5vcGVuc3ltcGhvbnkub3NjYWNoZS5leHRyYSxjb20u b3BlbnN5bXBob255Lm9zY2FjaGUNCisgLmdlbmVyYWwsY29tLm9wZW5zeW1waG9ueS5vc2NhY2hl LnBsdWdpbnMuY2x1c3RlcnN1cHBvcnQsY29tLm9wZW5zeW1wDQorIGhvbnkub3NjYWNoZS5wbHVn aW5zLmRpc2twZXJzaXN0ZW5jZSxjb20ub3BlbnN5bXBob255Lm9zY2FjaGUudXRpbCxjbw0KKyBt Lm9wZW5zeW1waG9ueS5vc2NhY2hlLndlYixjb20ub3BlbnN5bXBob255Lm9zY2FjaGUud2ViLmZp bHRlcixjb20ub3ANCisgZW5zeW1waG9ueS5vc2NhY2hlLndlYi50YWcsZm91bmRyeWxvZ2ljLnZw cCxmb3VuZHJ5bG9naWMudnBwLmxvZyxpY29uDQorIHMsaWNvbnMuZnVsbC5kbGNsMTYsaWNvbnMu ZnVsbC5kdG9vbDE2LGljb25zLmZ1bGwuZWxjbDE2LGljb25zLmZ1bGwuZQ0KKyB0b29sMTYsaWNv bnMuZnVsbC5ldmlldzE2LGljb25zLmZ1bGwub2JqMTYsaWNvbnMuZnVsbC5vdnIxNixpY29ucy5m dWwNCisgbC5wb2ludGVyLGljb25zLmZ1bGwucHJvZ3Jlc3MsaWNvbnMuZnVsbC53aXpiYW4saW1h Z2VzLnRvcGljbGFiZWwsaW50DQorIHJvLGludHJvLmNzcyxvZ25sLG9yZy5hcGFjaGUuY2F5ZW5u ZSxvcmcuYXBhY2hlLmNheWVubmUuYWNjZXNzLG9yZy5hcA0KKyBhY2hlLmNheWVubmUuYWNjZXNz LmRic3luYyxvcmcuYXBhY2hlLmNheWVubmUuYWNjZXNzLmV2ZW50LG9yZy5hcGFjaGUNCisgLmNh eWVubmUuYWNjZXNzLmpkYmMsb3JnLmFwYWNoZS5jYXllbm5lLmFjY2Vzcy50cmFucyxvcmcuYXBh Y2hlLmNheWVuDQorIG5lLmFjY2Vzcy50eXBlcyxvcmcuYXBhY2hlLmNheWVubmUuYWNjZXNzLnV0 aWwsb3JnLmFwYWNoZS5jYXllbm5lLmFubg0KKyBvdGF0aW9uLG9yZy5hcGFjaGUuY2F5ZW5uZS5h c2h3b29kLG9yZy5hcGFjaGUuY2F5ZW5uZS5hc2h3b29kLmdyYXBoLG8NCisgcmcuYXBhY2hlLmNh eWVubmUuY2FjaGUsb3JnLmFwYWNoZS5jYXllbm5lLmNvbmYsb3JnLmFwYWNoZS5jYXllbm5lLmNv DQorIG5maWd1cmF0aW9uLG9yZy5hcGFjaGUuY2F5ZW5uZS5jb25maWd1cmF0aW9uLmV2ZW50LG9y Zy5hcGFjaGUuY2F5ZW5uZQ0KKyAuY29uZmlndXJhdGlvbi5yb3AuY2xpZW50LG9yZy5hcGFjaGUu Y2F5ZW5uZS5jb25maWd1cmF0aW9uLnJvcC5zZXJ2ZXINCisgLG9yZy5hcGFjaGUuY2F5ZW5uZS5j b25maWd1cmF0aW9uLnNlcnZlcixvcmcuYXBhY2hlLmNheWVubmUuY29uZmlndXJhDQorIHRpb24u d2ViLG9yZy5hcGFjaGUuY2F5ZW5uZS5jb25uLG9yZy5hcGFjaGUuY2F5ZW5uZS5kYmEsb3JnLmFw YWNoZS5jYQ0KKyB5ZW5uZS5kYmEuZGIyLG9yZy5hcGFjaGUuY2F5ZW5uZS5kYmEuZGVyYnksb3Jn LmFwYWNoZS5jYXllbm5lLmRiYS5mcm8NCisgbnRiYXNlLG9yZy5hcGFjaGUuY2F5ZW5uZS5kYmEu aDIsb3JnLmFwYWNoZS5jYXllbm5lLmRiYS5oc3FsZGIsb3JnLmFwDQorIGFjaGUuY2F5ZW5uZS5k YmEuaW5ncmVzLG9yZy5hcGFjaGUuY2F5ZW5uZS5kYmEubXlzcWwsb3JnLmFwYWNoZS5jYXllbg0K KyBuZS5kYmEub3BlbmJhc2Usb3JnLmFwYWNoZS5jYXllbm5lLmRiYS5vcmFjbGUsb3JnLmFwYWNo ZS5jYXllbm5lLmRiYS4NCisgcG9zdGdyZXMsb3JnLmFwYWNoZS5jYXllbm5lLmRiYS5zcWxpdGUs b3JnLmFwYWNoZS5jYXllbm5lLmRiYS5zcWxzZXJ2DQorIGVyLG9yZy5hcGFjaGUuY2F5ZW5uZS5k YmEuc3liYXNlLG9yZy5hcGFjaGUuY2F5ZW5uZS5kaSxvcmcuYXBhY2hlLmNheQ0KKyBlbm5lLmRp LnNwaSxvcmcuYXBhY2hlLmNheWVubmUuZWpicWwsb3JnLmFwYWNoZS5jYXllbm5lLmVqYnFsLnBh cnNlciwNCisgb3JnLmFwYWNoZS5jYXllbm5lLmV2ZW50LG9yZy5hcGFjaGUuY2F5ZW5uZS5leHAs b3JnLmFwYWNoZS5jYXllbm5lLmV4DQorIHAucGFyc2VyLG9yZy5hcGFjaGUuY2F5ZW5uZS5leHRl bnRpb25zLm1vZGVsZXIsb3JnLmFwYWNoZS5jYXllbm5lLmV4dA0KKyBlbnRpb25zLm1vZGVsZXIu YWN0aW9uLG9yZy5hcGFjaGUuY2F5ZW5uZS5nZW4sb3JnLmFwYWNoZS5jYXllbm5lLmdyYXANCisg aCxvcmcuYXBhY2hlLmNheWVubmUubGF1bmNoZXIsb3JnLmFwYWNoZS5jYXllbm5lLmxvZyxvcmcu YXBhY2hlLmNheWVuDQorIG5lLm1hcCxvcmcuYXBhY2hlLmNheWVubmUubWFwLmV2ZW50LG9yZy5h cGFjaGUuY2F5ZW5uZS5tYXAubmFtaW5nLG9yZw0KKyAuYXBhY2hlLmNheWVubmUubWVyZ2Usb3Jn LmFwYWNoZS5jYXllbm5lLm1vZGVsZXIsb3JnLmFwYWNoZS5jYXllbm5lLm0NCisgb2RlbGVyLmFj dGlvbixvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5kaWFsb2csb3JnLmFwYWNoZS5jYXllbm5l Lm1vDQorIGRlbGVyLmRpYWxvZy5hdXRvcmVsYXRpb25zaGlwLG9yZy5hcGFjaGUuY2F5ZW5uZS5t b2RlbGVyLmRpYWxvZy5jb2RlZw0KKyBlbixvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5kaWFs b2cuZGF0YWRvbWFpbixvcmcuYXBhY2hlLmNheWVubmUubW8NCisgZGVsZXIuZGlhbG9nLmRhdGFt YXAsb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuZGlhbG9nLmRiLG9yZy5hcGFjaGUuDQorIGNh eWVubmUubW9kZWxlci5kaWFsb2cub2JqZW50aXR5LG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVy LmRpYWxvZy5wcg0KKyBlZixvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5kaWFsb2cucXVlcnks b3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXINCisgLmRpYWxvZy52YWxpZGF0b3Isb3JnLmFwYWNo ZS5jYXllbm5lLm1vZGVsZXIuZWRpdG9yLG9yZy5hcGFjaGUuY2F5ZW5uDQorIGUubW9kZWxlci5l ZGl0b3IuZGF0YW5vZGUsb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuZWRpdG9yLmRiZW50aXR5 LA0KKyBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5ldmVudCxvcmcuYXBhY2hlLmNheWVubmUu bW9kZWxlci5ncmFwaCxvcmcNCisgLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuZ3JhcGguYWN0aW9u LG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmltYWdlDQorIHMsb3JnLmFwYWNoZS5jYXllbm5l Lm1vZGVsZXIuaW5pdCxvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5pbml0LnBsYQ0KKyB0Zm9y bSxvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5wcmVmLG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2Rl bGVyLnVuZG8NCisgLG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLnV0aWwsb3JnLmFwYWNoZS5j YXllbm5lLm1vZGVsZXIudXRpbC5jb21iDQorIG8sb3JnLmFwYWNoZS5jYXllbm5lLnByZWYsb3Jn LmFwYWNoZS5jYXllbm5lLnByb2plY3Qsb3JnLmFwYWNoZS5jYXllbg0KKyBuZS5wcm9qZWN0LnVw Z3JhZGUsb3JnLmFwYWNoZS5jYXllbm5lLnByb2plY3QudXBncmFkZS52NixvcmcuYXBhY2hlLmMN CisgYXllbm5lLnByb2plY3QudmFsaWRhdGlvbixvcmcuYXBhY2hlLmNheWVubmUucXVlcnksb3Jn LmFwYWNoZS5jYXllbm5lDQorIC5yZWZsZWN0LG9yZy5hcGFjaGUuY2F5ZW5uZS5yZWZsZWN0Lmdl bmVyaWMsb3JnLmFwYWNoZS5jYXllbm5lLnJlZmxlYw0KKyB0LnZhbHVlaG9sZGVyLG9yZy5hcGFj aGUuY2F5ZW5uZS5yZW1vdGUsb3JnLmFwYWNoZS5jYXllbm5lLnJlbW90ZS5oZXMNCisgc2lhbixv cmcuYXBhY2hlLmNheWVubmUucmVtb3RlLmhlc3NpYW4uc2VydmljZSxvcmcuYXBhY2hlLmNheWVu bmUucmVtDQorIG90ZS5zZXJ2aWNlLG9yZy5hcGFjaGUuY2F5ZW5uZS5yZXNvdXJjZSxvcmcuYXBh Y2hlLmNheWVubmUuc2NoZW1hLjMuMA0KKyAsb3JnLmFwYWNoZS5jYXllbm5lLnN3aW5nLG9yZy5h cGFjaGUuY2F5ZW5uZS5zd2luZy5jb21wb25lbnRzLnRleHRwYW4NCisgZSxvcmcuYXBhY2hlLmNh eWVubmUuc3dpbmcuY29tcG9uZW50cy50ZXh0cGFuZS5zdHlsZSxvcmcuYXBhY2hlLmNheWVuDQor IG5lLnN3aW5nLmNvbXBvbmVudHMudGV4dHBhbmUuc3ludGF4LG9yZy5hcGFjaGUuY2F5ZW5uZS5z d2luZy5jb250cm9sLA0KKyBvcmcuYXBhY2hlLmNheWVubmUudG9vbHMsb3JnLmFwYWNoZS5jYXll bm5lLnV0aWwsb3JnLmFwYWNoZS5jYXllbm5lLnYNCisgYWxpZGF0aW9uLG9yZy5hcGFjaGUuY2F5 ZW5uZS53b2NvbXBhdCxvcmcuYXBhY2hlLmNheWVubmUud29jb21wYXQucGFyDQorIHNlcixvcmcu YXBhY2hlLmNheWVubmUueG1sLG9yZy5hcGFjaGUuY29tbW9ucy5jb2xsZWN0aW9ucyxvcmcuYXBh Y2hlLg0KKyBjb21tb25zLmNvbGxlY3Rpb25zLmJhZyxvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVj dGlvbnMuYmlkaW1hcCxvcmcuYXANCisgYWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLmJ1ZmZlcixv cmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMuY29sbGVjDQorIHRpb24sb3JnLmFwYWNoZS5j b21tb25zLmNvbGxlY3Rpb25zLmNvbXBhcmF0b3JzLG9yZy5hcGFjaGUuY29tbW9ucy5jbw0KKyBs bGVjdGlvbnMuZnVuY3RvcnMsb3JnLmFwYWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLml0ZXJhdG9y cyxvcmcuYXBhY2gNCisgZS5jb21tb25zLmNvbGxlY3Rpb25zLmtleXZhbHVlLG9yZy5hcGFjaGUu Y29tbW9ucy5jb2xsZWN0aW9ucy5saXN0LG9yDQorIGcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlv bnMubWFwLG9yZy5hcGFjaGUuY29tbW9ucy5jb2xsZWN0aW9ucy5zZXQsbw0KKyByZy5hcGFjaGUu Y29tbW9ucy5kYmNwLG9yZy5hcGFjaGUuY29tbW9ucy5kYmNwLmNwZHNhZGFwdGVyLG9yZy5hcGFj aGUNCisgLmNvbW1vbnMuZGJjcC5kYXRhc291cmNlcyxvcmcuYXBhY2hlLmNvbW1vbnMuam9jbCxv cmcuYXBhY2hlLmNvbW1vbnMuDQorIGxvZ2dpbmcsb3JnLmFwYWNoZS5jb21tb25zLmxvZ2dpbmcu aW1wbCxvcmcuYXBhY2hlLmNvbW1vbnMucG9vbCxvcmcuYQ0KKyBwYWNoZS5jb21tb25zLnBvb2wu aW1wbCxvcmcuYXBhY2hlLmxvZyxvcmcuYXBhY2hlLmxvZy5maWx0ZXIsb3JnLmFwYWMNCisgaGUu bG9nLmZvcm1hdCxvcmcuYXBhY2hlLmxvZy5vdXRwdXQsb3JnLmFwYWNoZS5sb2cub3V0cHV0LmRi LG9yZy5hcGFjDQorIGhlLmxvZy5vdXRwdXQuaW8sb3JnLmFwYWNoZS5sb2cub3V0cHV0LmlvLnJv dGF0ZSxvcmcuYXBhY2hlLmxvZy5vdXRwdQ0KKyB0LmptcyxvcmcuYXBhY2hlLmxvZy5vdXRwdXQu bmV0LG9yZy5hcGFjaGUubG9nLnV0aWwsb3JnLmFwYWNoZS5vcm8uaW8NCisgLG9yZy5hcGFjaGUu b3JvLnRleHQsb3JnLmFwYWNoZS5vcm8udGV4dC5hd2ssb3JnLmFwYWNoZS5vcm8udGV4dC5wZXJs DQorICxvcmcuYXBhY2hlLm9yby50ZXh0LnJlZ2V4LG9yZy5hcGFjaGUub3JvLnV0aWwsb3JnLmFw YWNoZS52ZWxvY2l0eSxvcg0KKyBnLmFwYWNoZS52ZWxvY2l0eS5hbmFraWEsb3JnLmFwYWNoZS52 ZWxvY2l0eS5hcHAsb3JnLmFwYWNoZS52ZWxvY2l0eS4NCisgYXBwLmV2ZW50LG9yZy5hcGFjaGUu dmVsb2NpdHkuYXBwLnRvb2xzLG9yZy5hcGFjaGUudmVsb2NpdHkuY29udGV4dCxvDQorIHJnLmFw YWNoZS52ZWxvY2l0eS5jb252ZXJ0LG9yZy5hcGFjaGUudmVsb2NpdHkuZXhjZXB0aW9uLG9yZy5h cGFjaGUudg0KKyBlbG9jaXR5LmlvLG9yZy5hcGFjaGUudmVsb2NpdHkucnVudGltZSxvcmcuYXBh Y2hlLnZlbG9jaXR5LnJ1bnRpbWUuY28NCisgbXBpbGVyLG9yZy5hcGFjaGUudmVsb2NpdHkucnVu dGltZS5jb25maWd1cmF0aW9uLG9yZy5hcGFjaGUudmVsb2NpdHkuDQorIHJ1bnRpbWUuZGVmYXVs dHMsb3JnLmFwYWNoZS52ZWxvY2l0eS5ydW50aW1lLmRpcmVjdGl2ZSxvcmcuYXBhY2hlLnZlbA0K KyBvY2l0eS5ydW50aW1lLmV4Y2VwdGlvbixvcmcuYXBhY2hlLnZlbG9jaXR5LnJ1bnRpbWUubG9n LG9yZy5hcGFjaGUudmUNCisgbG9jaXR5LnJ1bnRpbWUucGFyc2VyLG9yZy5hcGFjaGUudmVsb2Np dHkucnVudGltZS5wYXJzZXIubm9kZSxvcmcuYXBhDQorIGNoZS52ZWxvY2l0eS5ydW50aW1lLnJl c291cmNlLG9yZy5hcGFjaGUudmVsb2NpdHkucnVudGltZS5yZXNvdXJjZS5sbw0KKyBhZGVyLG9y Zy5hcGFjaGUudmVsb2NpdHkucnVudGltZS52aXNpdG9yLG9yZy5hcGFjaGUudmVsb2NpdHkuc2Vy dmxldCwNCisgb3JnLmFwYWNoZS52ZWxvY2l0eS50ZXN0LG9yZy5hcGFjaGUudmVsb2NpdHkudGVz dC5taXNjLG9yZy5hcGFjaGUudmVsDQorIG9jaXR5LnRlc3QucHJvdmlkZXIsb3JnLmFwYWNoZS52 ZWxvY2l0eS50ZXN0LnZpZXcsb3JnLmFwYWNoZS52ZWxvY2l0eQ0KKyAudGV4ZW4sb3JnLmFwYWNo ZS52ZWxvY2l0eS50ZXhlbi5hbnQsb3JnLmFwYWNoZS52ZWxvY2l0eS50ZXhlbi5kZWZhdWwNCisg dHMsb3JnLmFwYWNoZS52ZWxvY2l0eS50ZXhlbi51dGlsLG9yZy5hcGFjaGUudmVsb2NpdHkudXRp bCxvcmcuYXBhY2hlDQorIC52ZWxvY2l0eS51dGlsLmludHJvc3BlY3Rpb24sb3JnLmVjbGlwc2Uu Y29yZS5ib290LG9yZy5lY2xpcHNlLmNvcmUuaQ0KKyBudGVybmFsLmJvb3Qsb3JnLmVjbGlwc2Uu Y29yZS5pbnRlcm5hbC5jb21wYXRpYmlsaXR5LG9yZy5lY2xpcHNlLmNvcmUNCisgLmludGVybmFs LmR0cmVlLG9yZy5lY2xpcHNlLmNvcmUuaW50ZXJuYWwuZXZlbnRzLG9yZy5lY2xpcHNlLmNvcmUu aW50DQorIGVybmFsLmxvY2Fsc3RvcmUsb3JnLmVjbGlwc2UuY29yZS5pbnRlcm5hbC5tb2RlbCxv cmcuZWNsaXBzZS5jb3JlLmludA0KKyBlcm5hbC5wbHVnaW5zLG9yZy5lY2xpcHNlLmNvcmUuaW50 ZXJuYWwucHJvcGVydGllcyxvcmcuZWNsaXBzZS5jb3JlLmkNCisgbnRlcm5hbC5wcm9wZXJ0eXRl c3RlcixvcmcuZWNsaXBzZS5jb3JlLmludGVybmFsLnJlZnJlc2gsb3JnLmVjbGlwc2UuDQorIGNv cmUuaW50ZXJuYWwucmVzb3VyY2VzLG9yZy5lY2xpcHNlLmNvcmUuaW50ZXJuYWwucmVzb3VyY2Vz Lm1hcHBpbmcsbw0KKyByZy5lY2xpcHNlLmNvcmUuaW50ZXJuYWwudXRpbHMsb3JnLmVjbGlwc2Uu Y29yZS5pbnRlcm5hbC53YXRzb24sb3JnLmUNCisgY2xpcHNlLmNvcmUucmVzb3VyY2VzLG9yZy5l Y2xpcHNlLmNvcmUucmVzb3VyY2VzLm1hcHBpbmcsb3JnLmVjbGlwc2UuDQorIGNvcmUucmVzb3Vy Y2VzLnJlZnJlc2gsb3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMudGVhbSxvcmcuZWNsaXBzZS5j bw0KKyByZS5ydW50aW1lLm1vZGVsLG9yZy5lY2xpcHNlLnVpLmludGVybmFsLG9yZy5oc3FsZGIs b3JnLmhzcWxkYi5pbmRleCwNCisgb3JnLmhzcWxkYi5qZGJjLG9yZy5oc3FsZGIubGliLG9yZy5o c3FsZGIubGliLmphdmEsb3JnLmhzcWxkYi5wZXJzaXN0DQorICxvcmcuaHNxbGRiLnJlc291cmNl cyxvcmcuaHNxbGRiLnJvd2lvLG9yZy5oc3FsZGIuc2NyaXB0aW8sb3JnLmhzcWxkYg0KKyAuc3Rv cmUsb3JnLmhzcWxkYi50eXBlcyxvcmcuaHNxbGRiLnV0aWwsb3JnLmpncmFwaCxvcmcuamdyYXBo LmV2ZW50LG8NCisgcmcuamdyYXBoLmdyYXBoLG9yZy5qZ3JhcGgucGxhZixvcmcuamdyYXBoLnBs YWYuYmFzaWMsb3JnLmpncmFwaC51dGlsDQorICxvcmcuamdyb3Vwcyxvcmcuamdyb3Vwcy5ibG9j a3Msb3JnLmpncm91cHMuY29uZixvcmcuamdyb3Vwcy5kZWJ1Zyxvcg0KKyBnLmpncm91cHMuZGVt b3Msb3JnLmpncm91cHMuZGVtb3MuYXBwbGV0cyxvcmcuamdyb3Vwcy5kZW1vcy53YixvcmcuamcN Cisgcm91cHMuZW5zZW1ibGUsb3JnLmpncm91cHMucGVyc2lzdGVuY2Usb3JnLmpncm91cHMucHJv dG9jb2xzLG9yZy5qZ3JvDQorIHVwcy5wcm90b2NvbHMucGJjYXN0LG9yZy5qZ3JvdXBzLnByb3Rv Y29scy5yaW5nLG9yZy5qZ3JvdXBzLnNlcnZpY2Usbw0KKyByZy5qZ3JvdXBzLnNlcnZpY2UubGVh c2Usb3JnLmpncm91cHMuc3RhY2ssb3JnLmpncm91cHMudGVzdHMsb3JnLmpncm8NCisgdXBzLnRl c3RzLmFkYXB0LG9yZy5qZ3JvdXBzLnRlc3RzLmFkYXB0am1zLG9yZy5qZ3JvdXBzLnRlc3RzLmFk YXB0dGNwDQorICxvcmcuamdyb3Vwcy50ZXN0cy5hZGFwdHVkcCxvcmcuamdyb3Vwcy50ZXN0cy5w ZXJmLG9yZy5qZ3JvdXBzLnRlc3RzLg0KKyBwZXJmLnRyYW5zcG9ydHMsb3JnLmpncm91cHMudGVz dHMuc3RhY2ssb3JnLmpncm91cHMudXRpbCxvcmcuaml2ZXNvZnQNCisgd2FyZS5zbWFjayxvcmcu aml2ZXNvZnR3YXJlLnNtYWNrLmRlYnVnZ2VyLG9yZy5qaXZlc29mdHdhcmUuc21hY2suZmlsDQor IHRlcixvcmcuaml2ZXNvZnR3YXJlLnNtYWNrLnBhY2tldCxvcmcuaml2ZXNvZnR3YXJlLnNtYWNr LnByb3ZpZGVyLG9yZw0KKyAuaml2ZXNvZnR3YXJlLnNtYWNrLnNhc2wsb3JnLmppdmVzb2Z0d2Fy ZS5zbWFjay51dGlsLG9yZy5qaXZlc29mdHdhcmUNCisgLnNtYWNreCxvcmcuaml2ZXNvZnR3YXJl LnNtYWNreC5ib29rbWFyayxvcmcuaml2ZXNvZnR3YXJlLnNtYWNreC5maWxlDQorIHRyYW5zZmVy LG9yZy5qaXZlc29mdHdhcmUuc21hY2t4Lm11Yyxvcmcuaml2ZXNvZnR3YXJlLnNtYWNreC5wYWNr ZXQsbw0KKyByZy5qaXZlc29mdHdhcmUuc21hY2t4LnByb3ZpZGVyLG9yZy5qaXZlc29mdHdhcmUu c21hY2t4LnNlYXJjaCxvcmcuanYNCisgbmV0LmluZmxlY3RvcixvcmcuanZuZXQuaW5mbGVjdG9y LmxhbmcuZW4sb3JnLmp2bmV0LmluZmxlY3Rvci5sYW5nLml0DQorICxvcmcuanZuZXQuaW5mbGVj dG9yLnJ1bGUsb3JnLnNjb3BlbXZjLmNvbnRyb2xsZXIuYmFzaWMsb3JnLnNjb3BlbXZjLg0KKyBj b250cm9sbGVyLnNlcnZsZXQsb3JnLnNjb3BlbXZjLmNvbnRyb2xsZXIuc2VydmxldC5qc3Asb3Jn LnNjb3BlbXZjLmMNCisgb250cm9sbGVyLnNlcnZsZXQueG1sLG9yZy5zY29wZW12Yy5jb250cm9s bGVyLnN3aW5nLG9yZy5zY29wZW12Yy5jb3JlDQorICxvcmcuc2NvcGVtdmMuaW1hZ2VzLG9yZy5z Y29wZW12Yy5tb2RlbC5iYXNpYyxvcmcuc2NvcGVtdmMubW9kZWwuYmVhbg0KKyBzLG9yZy5zY29w ZW12Yy5tb2RlbC5jb2xsZWN0aW9uLG9yZy5zY29wZW12Yy5tb2RlbC51dGlsLG9yZy5zY29wZW12 Yy4NCisgdXRpbCxvcmcuc2NvcGVtdmMudXRpbC5jb252ZXJ0b3Isb3JnLnNjb3BlbXZjLnZpZXcu YXd0LG9yZy5zY29wZW12Yy52DQorIGlldy5zZXJ2bGV0LG9yZy5zY29wZW12Yy52aWV3LnNlcnZs ZXQuanNwLG9yZy5zY29wZW12Yy52aWV3LnNlcnZsZXQueA0KKyBtbCxvcmcuc2NvcGVtdmMudmll dy5zd2luZyxvcmcuc2NvcGVtdmMudmlldy51dGlsLG9yZy5zeW50YXguamVkaXQsb3INCisgZy5z eW50YXguamVkaXQudG9rZW5tYXJrZXIsb3JnLnhtbHB1bGwubXhwMSxvcmcueG1scHVsbC52MSxw cmVmLHRhcmdlDQorIHQuZGVwZW5kZW5jeSx0ZW1wbGF0ZXMudjFfMg0KK0lnbm9yZS1QYWNrYWdl OiBFRFUub3N3ZWdvLmNzLmRsLnV0aWwuY29uY3VycmVudCxqYXZheC5qbXMsb3JnLmpkb20ub3UN CisgdHB1dCxjb20ud2Vya2VuLnhwYXRoLG9yZy5qZG9tLmlucHV0LGNvbS5zdW4uamF2YS5zd2lu Zy5wbGFmLndpbmRvd3MsDQorIG9yZy5hcGFjaGUuYXZhbG9uLmZyYW1ld29yay5sb2dnZXIsc3Vu LnNlY3VyaXR5LmFjdGlvbixvcmcuYXBhY2hlLmJjZQ0KKyBsLmNsYXNzZmlsZSxvcmcuYXBhY2hl LmJjZWwuZ2VuZXJpYyxvcmcuamRvbSxic2gsb3JnLmppdmVzb2Z0d2FyZS5zbWENCisgY2t4LmRl YnVnZ2VyDQorQnVuZGxlLUNsYXNzUGF0aDogLix0YXJnZXQvZGVwZW5kZW5jeS91aS0zLjMuMC5J MjAwNzA2MTQtMDgwMC5qYXIsdGFyZw0KKyBldC9kZXBlbmRlbmN5L3ZwcC0yLjIuMS5qYXIsdGFy Z2V0L2RlcGVuZGVuY3kvY29tcGF0aWJpbGl0eS0zLjIuMTAwLXYNCisgMjAwNzA1MDIuamFyLHRh cmdldC9kZXBlbmRlbmN5L29zY2FjaGUtMi4zLjIuamFyLHRhcmdldC9kZXBlbmRlbmN5L2pnDQor IHJvdXBzLWFsbC0yLjIuNy5qYXIsdGFyZ2V0L2RlcGVuZGVuY3kvY2F5ZW5uZS1kaS11bnB1Ymxp c2hlZC0zLjEtU05BUA0KKyBTSE9ULmphcix0YXJnZXQvZGVwZW5kZW5jeS9vZ25sLTIuNi43Lmph cix0YXJnZXQvZGVwZW5kZW5jeS9oc3FsZGItMS4NCisgOC4wLjQuamFyLHRhcmdldC9kZXBlbmRl bmN5L2plZGl0LXN5bnRheC0yLjIuMi5qYXIsdGFyZ2V0L2RlcGVuZGVuY3kvDQorIGluZmxlY3Rv ci0wLjcuMC5qYXIsdGFyZ2V0L2RlcGVuZGVuY3kvY2F5ZW5uZS1qZGsxLjUtdW5wdWJsaXNoZWQt My4xLQ0KKyBTTkFQU0hPVC5qYXIsdGFyZ2V0L2RlcGVuZGVuY3kvc2NvcGVtdmMtMS4wLjEuamFy LHRhcmdldC9kZXBlbmRlbmN5L2MNCisgb21tb25zLWNvbGxlY3Rpb25zLTMuMS5qYXIsdGFyZ2V0 L2RlcGVuZGVuY3kvZm9ybXMtMS4wLjUuamFyLHRhcmdldC9kDQorIGVwZW5kZW5jeS9jYXllbm5l LXdvY29tcGF0LXVucHVibGlzaGVkLTMuMS1TTkFQU0hPVC5qYXIsdGFyZ2V0L2RlcGVuZA0KKyBl bmN5L2NvbW1vbnMtcG9vbC0xLjIuamFyLHRhcmdldC9kZXBlbmRlbmN5L2pkdC0zLjMuMC52MjAw NzA2MDctMTMwMC4NCisgamFyLHRhcmdldC9kZXBlbmRlbmN5L3Jlc2luLWhlc3NpYW4tMy4xLjYu amFyLHRhcmdldC9kZXBlbmRlbmN5L2NheWVuDQorIG5lLW1vZGVsZXItMy4xLVNOQVBTSE9ULmph cix0YXJnZXQvZGVwZW5kZW5jeS9jb21tb25zLWxvZ2dpbmctMS4xLmphcg0KKyAsdGFyZ2V0L2Rl cGVuZGVuY3kvbG9va3MtMS4zLjEuamFyLHRhcmdldC9kZXBlbmRlbmN5L2NheWVubmUtdG9vbHMt My4NCisgMS1TTkFQU0hPVC5qYXIsdGFyZ2V0L2RlcGVuZGVuY3kvcmVzb3VyY2VzLTMuMi4xMDAt djIwMDcwNTAyLmphcix0YXJnDQorIGV0L2RlcGVuZGVuY3kvc21hY2t4LTIuMi4xLmphcix0YXJn ZXQvZGVwZW5kZW5jeS9qZ3JhcGgtNS4xMy4wLjAuamFyLA0KKyB0YXJnZXQvZGVwZW5kZW5jeS9j b21tb25zLWRiY3AtMS4yLjEuamFyLHRhcmdldC9kZXBlbmRlbmN5L2NheWVubmUtcHINCisgb2pl Y3QtdW5wdWJsaXNoZWQtMy4xLVNOQVBTSE9ULmphcix0YXJnZXQvZGVwZW5kZW5jeS9zbWFjay0y LjIuMS5qYXINCitCdWlsdC1CeTogc3VkaGFyYWthDQorVG9vbDogQm5kLTAuMC4yMzgNCitCdW5k bGUtTmFtZTogQ2F5ZW5uZSBNb2RlbGVyIFBsdWdpbiBmb3IgRWNsaXBzZQ0KK0NyZWF0ZWQtQnk6 IEFwYWNoZSBNYXZlbiBCdW5kbGUgUGx1Z2luDQorQnVuZGxlLVZlbmRvcjogQXBhY2hlIENheWVu bmUNCitCdWlsZC1KZGs6IDEuNi4wXzExDQorQnVuZGxlLVZlcnNpb246IDMuMS4wLlNOQVBTSE9U DQorQm5kLUxhc3RNb2RpZmllZDogMTMwNzk4Mjk3OTAxNw0KK0J1bmRsZS1BY3RpdmF0b3I6IG9y Zy5hcGFjaGUuY2F5ZW5uZS5BY3RpdmF0b3INCitCdW5kbGUtTWFuaWZlc3RWZXJzaW9uOiAyDQor QnVuZGxlLURlc2NyaXB0aW9uOiBBcGFjaGUgQ2F5ZW5uZSBpcyBhIHBvd2VyZnVsLCBmdWxsLWZl YXR1cmVkLCBhbmQgbw0KKyBwZW4gc291cmNlCQlKYXZhIGZyYW1ld29yaywgcGx1cyBkZXZlbG9w ZXIgdG9vbHMsIHRoYXQgcHJvdmlkZXMgT2JqZWMNCisgdAkJUmVsYXRpb25hbCBNYXBwaW5nIChP Uk0pIGFuZCByZW1vdGluZyBzZXJ2aWNlcyBmb3IgcGVyc2lzdGVuY2UuCQlUDQorIGhlIHNvZnR3 YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZS4NCitCdW5kbGUtTGljZW5z ZTogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wLnR4dA0KK0VtYmVk LURlcGVuZGVuY3k6ICo7c2NvcGU9Y29tcGlsZXxydW50aW1lfHByb3ZpZGVkO2lubGluZT1mYWxz ZTsNCitJbXBvcnQtUGFja2FnZTogLixqYXZheC5hY2Nlc3NpYmlsaXR5LGphdmF4LmNyeXB0byxq YXZheC5jcnlwdG8uc3BlYyxqDQorIGF2YXguaW1hZ2VpbyxqYXZheC5tYW5hZ2VtZW50LGphdmF4 Lm5hbWluZyxqYXZheC5uYW1pbmcuZGlyZWN0b3J5LGphdg0KKyBheC5uYW1pbmcuc3BpLGphdmF4 Lm5ldCxqYXZheC5uZXQuc3NsLGphdmF4LnNlY3VyaXR5LmNlcnQsamF2YXguc2VydmwNCisgZXQs amF2YXguc2VydmxldC5odHRwLGphdmF4LnNlcnZsZXQuanNwLGphdmF4LnNlcnZsZXQuanNwLnRh Z2V4dCxqYXZhDQorIHguc3FsLGphdmF4LnN3aW5nLGphdmF4LnN3aW5nLmJvcmRlcixqYXZheC5z d2luZy5ldmVudCxqYXZheC5zd2luZy5maQ0KKyBsZWNob29zZXIsamF2YXguc3dpbmcucGxhZixq YXZheC5zd2luZy5wbGFmLmJhc2ljLGphdmF4LnN3aW5nLnBsYWYubWUNCisgdGFsLGphdmF4LnN3 aW5nLnRhYmxlLGphdmF4LnN3aW5nLnRleHQsamF2YXguc3dpbmcudGV4dC5ydGYsamF2YXguc3dp DQorIG5nLnRyZWUsamF2YXguc3dpbmcudW5kbyxqYXZheC54bWwucGFyc2VycyxqYXZheC54bWwu dHJhbnNmb3JtLGphdmF4Lg0KKyB4bWwudHJhbnNmb3JtLmRvbSxqYXZheC54bWwudHJhbnNmb3Jt LnNheCxqYXZheC54bWwudHJhbnNmb3JtLnN0cmVhbSwNCisganVuaXQuZnJhbWV3b3JrLGp1bml0 LnN3aW5ndWksanVuaXQudGV4dHVpLG9yZy5hcGFjaGUubG9nNGosb3JnLmFwYWNoDQorIGUubG9n NGoubmV0LG9yZy5hcGFjaGUudG9vbHMuYW50LG9yZy5hcGFjaGUudG9vbHMuYW50LmZpbHRlcnMs b3JnLmFwYQ0KKyBjaGUudG9vbHMuYW50LnRhc2tkZWZzLG9yZy5hcGFjaGUudG9vbHMuYW50LnR5 cGVzLG9yZy5hcGFjaGUudG9vbHMuYW4NCisgdC50eXBlcy5zZWxlY3RvcnMsb3JnLmFwYWNoZS50 b29scy5hbnQudXRpbCxvcmcuZWNsaXBzZS5jb3JlLmV4cHJlc3NpDQorIG9ucyxvcmcuZWNsaXBz ZS5jb3JlLmZpbGVzeXN0ZW0sb3JnLmVjbGlwc2UuY29yZS5maWxlc3lzdGVtLnByb3ZpZGVyLA0K KyBvcmcuZWNsaXBzZS5jb3JlLmludGVybmFsLnByZWZlcmVuY2VzLG9yZy5lY2xpcHNlLmNvcmUu aW50ZXJuYWwucnVudGkNCisgbWUsb3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMsb3JnLmVjbGlw c2UuY29yZS5ydW50aW1lLG9yZy5lY2xpcHNlLmNvDQorIHJlLnJ1bnRpbWUuY29udGVudCxvcmcu ZWNsaXBzZS5jb3JlLnJ1bnRpbWUuam9icyxvcmcuZWNsaXBzZS5jb3JlLnJ1bg0KKyB0aW1lLnBy ZWZlcmVuY2VzLG9yZy5lY2xpcHNlLmRlYnVnLmNvcmUsb3JnLmVjbGlwc2UuamR0LmNvcmUsb3Jn LmVjbGkNCisgcHNlLmpkdC5sYXVuY2hpbmcsb3JnLmVjbGlwc2UuamZhY2UucHJlZmVyZW5jZSxv cmcuZWNsaXBzZS5qZmFjZS5yZXNvDQorIHVyY2Usb3JnLmVjbGlwc2Uub3NnaS5zZXJ2aWNlLnJl c29sdmVyLG9yZy5lY2xpcHNlLm9zZ2kudXRpbCxvcmcuZWNsaQ0KKyBwc2UudWksb3JnLmVjbGlw c2UudWkuaWRlLG9yZy5lY2xpcHNlLnVpLmludGVybmFsLnV0aWwsb3JnLmVjbGlwc2UudWkNCisg LnBsdWdpbixvcmcuZWNsaXBzZS51cGRhdGUuY29uZmlndXJhdG9yLG9yZy5vc2dpLmZyYW1ld29y ayxvcmcub3NnaS5zDQorIGVydmljZS5wcmVmcyxvcmcudzNjLmRvbSxvcmcueG1sLnNheCxvcmcu eG1sLnNheC5oZWxwZXJzDQorRW1iZWQtU3RyaXBHcm91cDogdHJ1ZQ0KK0J1bmRsZS1TeW1ib2xp Y05hbWU6IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbjtzaW5nbGV0b246PXRydWUNCitC dW5kbGUtRG9jVVJMOiBodHRwOi8vY2F5ZW5uZS5hcGFjaGUub3JnLw0KKw0KSW5kZXg6IGNheWVu bmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1JSS8ucHJvamVjdAo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjYXll bm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tSUkvLnByb2plY3QJKHJldmlzaW9uIDApCisrKyBj YXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tSUkvLnByb2plY3QJKHJldmlzaW9uIDApCkBA IC0wLDAgKzEsMzQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8 cHJvamVjdERlc2NyaXB0aW9uPgorCTxuYW1lPmNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdp bjwvbmFtZT4KKwk8Y29tbWVudD48L2NvbW1lbnQ+CisJPHByb2plY3RzPgorCTwvcHJvamVjdHM+ CisJPGJ1aWxkU3BlYz4KKwkJPGJ1aWxkQ29tbWFuZD4KKwkJCTxuYW1lPm9yZy5lY2xpcHNlLmpk dC5jb3JlLmphdmFidWlsZGVyPC9uYW1lPgorCQkJPGFyZ3VtZW50cz4KKwkJCTwvYXJndW1lbnRz PgorCQk8L2J1aWxkQ29tbWFuZD4KKwkJPGJ1aWxkQ29tbWFuZD4KKwkJCTxuYW1lPm9yZy5lY2xp cHNlLnBkZS5NYW5pZmVzdEJ1aWxkZXI8L25hbWU+CisJCQk8YXJndW1lbnRzPgorCQkJPC9hcmd1 bWVudHM+CisJCTwvYnVpbGRDb21tYW5kPgorCQk8YnVpbGRDb21tYW5kPgorCQkJPG5hbWU+b3Jn LmVjbGlwc2UucGRlLlNjaGVtYUJ1aWxkZXI8L25hbWU+CisJCQk8YXJndW1lbnRzPgorCQkJPC9h cmd1bWVudHM+CisJCTwvYnVpbGRDb21tYW5kPgorCQk8YnVpbGRDb21tYW5kPgorCQkJPG5hbWU+ b3JnLm1hdmVuLmlkZS5lY2xpcHNlLm1hdmVuMkJ1aWxkZXI8L25hbWU+CisJCQk8YXJndW1lbnRz PgorCQkJPC9hcmd1bWVudHM+CisJCTwvYnVpbGRDb21tYW5kPgorCTwvYnVpbGRTcGVjPgorCTxu YXR1cmVzPgorCQk8bmF0dXJlPm9yZy5tYXZlbi5pZGUuZWNsaXBzZS5tYXZlbjJOYXR1cmU8L25h dHVyZT4KKwkJPG5hdHVyZT5vcmcuZWNsaXBzZS5wZGUuUGx1Z2luTmF0dXJlPC9uYXR1cmU+CisJ CTxuYXR1cmU+b3JnLmVjbGlwc2UuamR0LmNvcmUuamF2YW5hdHVyZTwvbmF0dXJlPgorCTwvbmF0 dXJlcz4KKzwvcHJvamVjdERlc2NyaXB0aW9uPgpJbmRleDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlw c2UtcGx1Z2luLUlJL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4dGVudGlvbnMv bW9kZWxlci9QbHVnaW5Nb2RlbGVyRnJhbWUuamF2YQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjYXllbm5lLW1v ZGVsZXItZWNsaXBzZS1wbHVnaW4tSUkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUv ZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbk1vZGVsZXJGcmFtZS5qYXZhCShyZXZpc2lvbiAwKQor KysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLUlJL3NyYy9tYWluL2phdmEvb3JnL2Fw YWNoZS9jYXllbm5lL2V4dGVudGlvbnMvbW9kZWxlci9QbHVnaW5Nb2RlbGVyRnJhbWUuamF2YQko cmV2aXNpb24gMCkKQEAgLTAsMCArMSw3MiBAQAorcGFja2FnZSBvcmcuYXBhY2hlLmNheWVubmUu ZXh0ZW50aW9ucy5tb2RlbGVyOworCitpbXBvcnQgamF2YS5hd3QuQ29tcG9uZW50OworCitpbXBv cnQgamF2YXguc3dpbmcuQWJzdHJhY3RBY3Rpb247CitpbXBvcnQgamF2YXguc3dpbmcuSkJ1dHRv bjsKK2ltcG9ydCBqYXZheC5zd2luZy5KTWVudTsKK2ltcG9ydCBqYXZheC5zd2luZy5KTWVudUl0 ZW07CitpbXBvcnQgamF2YXguc3dpbmcuSlRvb2xCYXI7CisKK2ltcG9ydCBvcmcuYXBhY2hlLmNh eWVubmUubW9kZWxlci5hY3Rpb24uQWN0aW9uTWFuYWdlcjsKK2ltcG9ydCBvcmcuYXBhY2hlLmNh eWVubmUubW9kZWxlci5DYXllbm5lTW9kZWxlckZyYW1lOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5 ZW5uZS5tb2RlbGVyLmFjdGlvbi5OZXdQcm9qZWN0QWN0aW9uOworaW1wb3J0IG9yZy5hcGFjaGUu Y2F5ZW5uZS5tb2RlbGVyLmFjdGlvbi5PcGVuUHJvamVjdEFjdGlvbjsKK2ltcG9ydCBvcmcuYXBh Y2hlLmNheWVubmUubW9kZWxlci5hY3Rpb24uUHJvamVjdEFjdGlvbjsKK2ltcG9ydCBvcmcuYXBh Y2hlLmNheWVubmUubW9kZWxlci51dGlsLlJlY2VudEZpbGVNZW51OworCitwdWJsaWMgY2xhc3Mg UGx1Z2luTW9kZWxlckZyYW1lIGV4dGVuZHMgQ2F5ZW5uZU1vZGVsZXJGcmFtZSB7CisKKwlwdWJs aWMgUGx1Z2luTW9kZWxlckZyYW1lKEFjdGlvbk1hbmFnZXIgYWN0aW9uTWFuYWdlcikgeworCQlz dXBlcihhY3Rpb25NYW5hZ2VyKTsKKwl9CisKKy8vCUBPdmVycmlkZQorLy8JcHJvdGVjdGVkIHZv aWQgYnVpbGRGaWxlTWVudShKTWVudSBmaWxlTWVudSkgeworLy8JCS8vIFRPRE8gQXV0by1nZW5l cmF0ZWQgbWV0aG9kIHN0dWIKKy8vCQlzdXBlci5idWlsZEZpbGVNZW51KGZpbGVNZW51KTsKKy8v CQlmb3IgKGludCBpID0gMDsgaSA8IGZpbGVNZW51LmdldEl0ZW1Db3VudCgpOyBpKSB7CisvLwkJ CUpNZW51SXRlbSBpdGVtID0gZmlsZU1lbnUuZ2V0SXRlbShpKTsKKy8vCQkJaWYgKGl0ZW0gIT0g bnVsbCkgeworLy8JCQkJU3RyaW5nIG5hbWUgPSBpdGVtLmdldFRleHQoKTsKKy8vCQkJCWlmIChO ZXdQcm9qZWN0QWN0aW9uLmdldEFjdGlvbk5hbWUoKS5lcXVhbHMobmFtZSkKKy8vCQkJCQkJfHwg T3BlblByb2plY3RBY3Rpb24uZ2V0QWN0aW9uTmFtZSgpLmVxdWFscyhuYW1lKQorLy8JCQkJCQl8 fCBQcm9qZWN0QWN0aW9uLmdldEFjdGlvbk5hbWUoKS5lcXVhbHMobmFtZSkKKy8vCQkJCQkJfHwg IlJlY2VudCBQcm9qZWN0cyIuZXF1YWxzKG5hbWUpKSB7CisvLwkJCQkJaXRlbS5zZXRFbmFibGVk KGZhbHNlKTsKKy8vCQkJCX0KKy8vCisvLwkJCX0KKy8vCQl9CisvLworLy8JfQorLy8KKy8vCUBP dmVycmlkZQorLy8JcHJvdGVjdGVkIHZvaWQgYnVpbGRQcm9qZWN0VG9vbGJhcihKVG9vbEJhciB0 b29sQmFyKSB7CisvLwkJc3VwZXIuYnVpbGRQcm9qZWN0VG9vbGJhcih0b29sQmFyKTsKKy8vCQlm b3IgKGludCBpID0gMDsgaSA8IHRvb2xCYXIuZ2V0Q29tcG9uZW50Q291bnQoKTsgaSkgeworLy8J CQlDb21wb25lbnQgY29tcG9uZW50ID0gdG9vbEJhci5nZXRDb21wb25lbnRBdEluZGV4KGkpOwor Ly8JCQlpZiAoY29tcG9uZW50ICE9IG51bGwgJiYgY29tcG9uZW50IGluc3RhbmNlb2YgSkJ1dHRv bikgeworLy8KKy8vCQkJCUFic3RyYWN0QWN0aW9uIGFjdGlvbiA9IChBYnN0cmFjdEFjdGlvbikg KChKQnV0dG9uKSBjb21wb25lbnQpCisvLwkJCQkJCS5nZXRBY3Rpb24oKTsKKy8vCQkJCWlmIChh Y3Rpb24gaW5zdGFuY2VvZiBOZXdQcm9qZWN0QWN0aW9uCisvLwkJCQkJCXx8IGFjdGlvbiBpbnN0 YW5jZW9mIE9wZW5Qcm9qZWN0QWN0aW9uKSB7CisvLwkJCQkJY29tcG9uZW50LnNldEVuYWJsZWQo ZmFsc2UpOworLy8JCQkJfQorLy8JCQl9CisvLwkJfQorLy8JfQorLy8KKy8vCUBPdmVycmlkZQor Ly8JcHJvdGVjdGVkIFJlY2VudEZpbGVNZW51IGluaXRSZWNlbnRGaWxlTWVudShTdHJpbmcgdGl0 bGUpIHsKKy8vCQlyZXR1cm4gbmV3IFJlY2VudEZpbGVNZW51KHRpdGxlKSB7CisvLworLy8JCQlA T3ZlcnJpZGUKKy8vCQkJcHVibGljIHZvaWQgcmVjZW50RmlsZUxpc3RDaGFuZ2VkKCkgeworLy8J CQkJLy8gbm90aGluZyB0byBkbywgb25seSBvbmUgcHJvamVjdCBjYWIgYmUgb3BlbmVkIGJ5IG1v ZGVsZXIKKy8vCQkJfQorLy8KKy8vCQl9OworLy8JfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKSW5kZXg6IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1JSS9zcmMvbWFpbi9q YXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvUGx1Z2luQXBwbGljYXRp b24uamF2YQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tSUkv c3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdp bkFwcGxpY2F0aW9uLmphdmEJKHJldmlzaW9uIDApCisrKyBjYXllbm5lLW1vZGVsZXItZWNsaXBz ZS1wbHVnaW4tSUkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9t b2RlbGVyL1BsdWdpbkFwcGxpY2F0aW9uLmphdmEJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTU3 IEBACitwYWNrYWdlIG9yZy5hcGFjaGUuY2F5ZW5uZS5leHRlbnRpb25zLm1vZGVsZXI7CisKK2lt cG9ydCBqYXZhLmF3dC5EaWFsb2c7CitpbXBvcnQgamF2YS5hd3QuRnJhbWU7CitpbXBvcnQgamF2 YS5hd3QuV2luZG93OworaW1wb3J0IGphdmEuaW8uRmlsZTsKKworaW1wb3J0IGphdmF4LnN3aW5n LkpGcmFtZTsKK2ltcG9ydCBqYXZheC5zd2luZy5KUm9vdFBhbmU7CisKK2ltcG9ydCBvcmcuYXBh Y2hlLmNheWVubmUubW9kZWxlci5hY3Rpb24uQWN0aW9uTWFuYWdlcjsKK2ltcG9ydCBvcmcuYXBh Y2hlLmNheWVubmUuZXh0ZW50aW9ucy5tb2RlbGVyLlBsdWdpbkFjdGlvbk1hbmFnZXI7CitpbXBv cnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuQXBwbGljYXRpb247CitpbXBvcnQgb3JnLmFw YWNoZS5jYXllbm5lLm1vZGVsZXIuQ2F5ZW5uZU1vZGVsZXJDb250cm9sbGVyOworLy9pbXBvcnQg b3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuQXBwbGljYXRpb24uTW9kZWxlckNvbnRleHQ7Citp bXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuZGlhbG9nLkxvZ0NvbnNvbGU7CitpbXBv cnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIudW5kby5DYXllbm5lVW5kb01hbmFnZXI7Citp bXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIudXRpbC5BZGFwdGVyTWFwcGluZzsKK2lt cG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci51dGlsLkNheWVubmVEaWFsb2c7CitpbXBv cnQgb3JnLmFwYWNoZS5jYXllbm5lLnN3aW5nLkJpbmRpbmdGYWN0b3J5OworaW1wb3J0IG9yZy5z Y29wZW12Yy5jb250cm9sbGVyLmJhc2ljLlZpZXdDb250ZXh0OworaW1wb3J0IG9yZy5zY29wZW12 Yy5jb250cm9sbGVyLnN3aW5nLlN3aW5nQ29udGV4dDsKK2ltcG9ydCBvcmcuc2NvcGVtdmMuY29y ZS5WaWV3OworaW1wb3J0IG9yZy5zY29wZW12Yy51dGlsLlVJU3RyaW5nczsKK2ltcG9ydCBvcmcu c2NvcGVtdmMudmlldy5zd2luZy5Td2luZ1ZpZXc7CisKK3B1YmxpYyBjbGFzcyBQbHVnaW5BcHBs aWNhdGlvbiBleHRlbmRzIEFwcGxpY2F0aW9uIHsKKwkKKwlwcm90ZWN0ZWQgQ2F5ZW5uZU1vZGVs ZXJDb250cm9sbGVyIGZyYW1lQ29udHJvbGxlcjsKKworCXB1YmxpYyBQbHVnaW5BcHBsaWNhdGlv bihGaWxlIGluaXRpYWxQcm9qZWN0KSB7CisvLwkJc3VwZXIoaW5pdGlhbFByb2plY3QpOworCX0K KworLy8JQE92ZXJyaWRlCisvLwlwcm90ZWN0ZWQgQ2F5ZW5uZU1vZGVsZXJDb250cm9sbGVyIGlu aXRGcmFtZUNvbnRyb2xsZXIoKSB7CisvLwkJcmV0dXJuIG5ldyBQbHVnaW5Nb2RlbGVyQ29udHJv bGxlcih0aGlzLCBpbml0aWFsUHJvamVjdCk7CisvLworLy8JfQorCisJQE92ZXJyaWRlCisJcHVi bGljIEFjdGlvbk1hbmFnZXIgZ2V0QWN0aW9uTWFuYWdlcigpIHsKKyAgICAgICAgcmV0dXJuIChB Y3Rpb25NYW5hZ2VyKWluamVjdG9yLmdldEluc3RhbmNlKFBsdWdpbkFjdGlvbk1hbmFnZXIuY2xh c3MpOworICAgIH0KKwkKKwlAT3ZlcnJpZGUKKwkgcHVibGljIENheWVubmVNb2RlbGVyQ29udHJv bGxlciBnZXRGcmFtZUNvbnRyb2xsZXIoKSB7CisgICAgICAgIHJldHVybiBmcmFtZUNvbnRyb2xs ZXI7CisgICAgfQorCQorCUBPdmVycmlkZQorCSBwdWJsaWMgdm9pZCBzdGFydHVwKCkgeworICAg ICAgICAvLyBpbml0IHN1YnN5c3RlbXMKKyAgICAgICAgaW5pdFByZWZlcmVuY2VzKCk7CisgICAg ICAgIGluaXRDbGFzc0xvYWRlcigpOworCisgICAgICAgIHRoaXMuYmluZGluZ0ZhY3RvcnkgPSBu ZXcgQmluZGluZ0ZhY3RvcnkoKTsKKyAgICAgICAgdGhpcy5hZGFwdGVyTWFwcGluZyA9IG5ldyBB ZGFwdGVyTWFwcGluZygpOworCisgICAgICAgIC8vIC4uLlNjb3BlCisKKyAgICAgICAgLy8gVE9E TzogdGhpcyB3aWxsIGdvIGF3YXkgaWYgc3dpdGNoIGF3YXkgZnJvbSBTY29wZQorICAgICAgICAv LyBmb3JjZSBTY29wZSB0byB1c2UgQ2F5ZW5uZU1vZGVsZXIgcHJvcGVydGllcworICAgICAgICBV SVN0cmluZ3Muc2V0UHJvcGVydGllc05hbWUoREVGQVVMVF9NRVNTQUdFX0JVTkRMRSk7CisgICAg ICAgIFZpZXdDb250ZXh0LmNsZWFyVGhyZWFkQ29udGV4dCgpOworCisgICAgICAgIHRoaXMudW5k b01hbmFnZXIgPSBuZXcgQ2F5ZW5uZVVuZG9NYW5hZ2VyKHRoaXMpOworCisgICAgICAgIHRoaXMu ZnJhbWVDb250cm9sbGVyID0gbmV3IFBsdWdpbk1vZGVsZXJDb250cm9sbGVyKHRoaXMpOworCisg ICAgICAgIC8vIHVwZGF0ZSBTY29wZSB0byB3b3JrIG5pY2VseSB3aXRoIG1haW4gZnJhbWUKKyAg ICAgICAgQXBwbGljYXRpb24gYXAgPSBuZXcgQXBwbGljYXRpb24oKTsKKyAgICAgICAKKyAgICAg ICAgVmlld0NvbnRleHQuc2V0R2xvYmFsQ29udGV4dChuZXcgTW9kZWxlckNvbnRleHQoZnJhbWVD b250cm9sbGVyLmdldEZyYW1lKCkpKTsKKworICAgICAgICAvLyBvcGVuIHVwCisgICAgICAgIGZy YW1lQ29udHJvbGxlci5zdGFydHVwQWN0aW9uKCk7CisKKyAgICAgICAgLy8gQWZ0ZXIgcHJlZnMg aGF2ZSBiZWVuIGxvYWRlZCwgd2UgY2FuIG5vdyBzaG93IHRoZSBjb25zb2xlIGlmIG5lZWRlZAor ICAgICAgICBMb2dDb25zb2xlLmdldEluc3RhbmNlKCkuc2hvd0NvbnNvbGVJZk5lZWRlZCgpOwor ICAgICAgICBnZXRGcmFtZSgpLnNldFZpc2libGUodHJ1ZSk7CisgICAgfQorCWZpbmFsIGNsYXNz IE1vZGVsZXJDb250ZXh0IGV4dGVuZHMgU3dpbmdDb250ZXh0IHsKKworICAgICAgICBKRnJhbWUg ZnJhbWU7CisKKyAgICAgICAgcHVibGljIE1vZGVsZXJDb250ZXh0KEpGcmFtZSBmcmFtZSkgewor ICAgICAgICAgICAgdGhpcy5mcmFtZSA9IGZyYW1lOworICAgICAgICB9CisKKyAgICAgICAgQE92 ZXJyaWRlCisgICAgICAgIHByb3RlY3RlZCB2b2lkIHNob3dWaWV3SW5QcmltYXJ5V2luZG93KFN3 aW5nVmlldyB2aWV3KSB7CisgICAgICAgIH0KKworICAgICAgICAvKioKKyAgICAgICAgICogQ3Jl YXRlcyBjbG9zZWFibGUgZGlhbG9ncy4KKyAgICAgICAgICovCisgICAgICAgIEBPdmVycmlkZQor ICAgICAgICBwcm90ZWN0ZWQgdm9pZCBzaG93Vmlld0luRGlhbG9nKFN3aW5nVmlldyBpblZpZXcp IHsKKyAgICAgICAgICAgIC8vIE5PVEU6CisgICAgICAgICAgICAvLyBjb3BpZWQgZnJvbSBzdXBl cmNsYXNzLCBleGNlcHQgdGhhdCBKRGlhbG9nIGlzIHN1YnN0aXR1dGVkIGZvcgorICAgICAgICAg ICAgLy8gQ2F5ZW5uZURpYWxvZworICAgICAgICAgICAgLy8gS2VlcCBpbiBtaW5kIHdoZW4gdXBn cmFkaW5nIFNjb3BlIHRvIHRoZSBuZXdlciB2ZXJzaW9ucy4KKworICAgICAgICAgICAgLy8gTWFr ZSBhIEpEaWFsb2cgdG8gY29udGFpbiB0aGUgdmlldy4KKyAgICAgICAgICAgIFdpbmRvdyBwYXJl bnRXaW5kb3cgPSBnZXREZWZhdWx0UGFyZW50V2luZG93KCk7CisKKyAgICAgICAgICAgIGZpbmFs IENheWVubmVEaWFsb2cgZGlhbG9nOworICAgICAgICAgICAgaWYgKHBhcmVudFdpbmRvdyBpbnN0 YW5jZW9mIERpYWxvZykgeworICAgICAgICAgICAgICAgIGRpYWxvZyA9IG5ldyBDYXllbm5lRGlh bG9nKChEaWFsb2cpIHBhcmVudFdpbmRvdyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBl bHNlIHsKKyAgICAgICAgICAgICAgICBkaWFsb2cgPSBuZXcgQ2F5ZW5uZURpYWxvZygoRnJhbWUp IHBhcmVudFdpbmRvdyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIFNldCB0aXRs ZSwgbW9kYWxpdHksIHJlc2l6YWJpbGl0eQorICAgICAgICAgICAgaWYgKGluVmlldy5nZXRUaXRs ZSgpICE9IG51bGwpIHsKKyAgICAgICAgICAgICAgICBkaWFsb2cuc2V0VGl0bGUoaW5WaWV3Lmdl dFRpdGxlKCkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGluVmlldy5nZXREaXNw bGF5TW9kZSgpID09IFN3aW5nVmlldy5NT0RBTF9ESUFMT0cpIHsKKyAgICAgICAgICAgICAgICBk aWFsb2cuc2V0TW9kYWwodHJ1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsK KyAgICAgICAgICAgICAgICBkaWFsb2cuc2V0TW9kYWwoZmFsc2UpOworICAgICAgICAgICAgfQor ICAgICAgICAgICAgZGlhbG9nLnNldFJlc2l6YWJsZShpblZpZXcuaXNSZXNpemFibGUoKSk7CisK KyAgICAgICAgICAgIHNldHVwV2luZG93KGRpYWxvZy5nZXRSb290UGFuZSgpLCBpblZpZXcsIHRy dWUpOworICAgICAgICAgICAgZGlhbG9nLnRvRnJvbnQoKTsKKyAgICAgICAgfQorCisgICAgICAg IC8qKgorICAgICAgICAgKiBPdmVycmlkZXMgc3VwZXIgaW1wbGVtZW50YXRpb24gdG8gYWxsb3cg dXNpbmcgU2NvcGUgdG9nZXRoZXIgd2l0aCBub3JtYWwgU3dpbmcKKyAgICAgICAgICogY29kZSB0 aGF0IENheWVubmVNb2RlbGVyIGFscmVhZHkgaGFzLgorICAgICAgICAgKi8KKyAgICAgICAgQE92 ZXJyaWRlCisgICAgICAgIHB1YmxpYyBKUm9vdFBhbmUgZmluZFJvb3RQYW5lRm9yKFZpZXcgdmll dykgeworICAgICAgICAgICAgSlJvb3RQYW5lIHBhbmUgPSBzdXBlci5maW5kUm9vdFBhbmVGb3Io dmlldyk7CisKKyAgICAgICAgICAgIGlmIChwYW5lICE9IG51bGwpIHsKKyAgICAgICAgICAgICAg ICByZXR1cm4gcGFuZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCgoU3dpbmdW aWV3KSB2aWV3KS5nZXREaXNwbGF5TW9kZSgpICE9IFN3aW5nVmlldy5QUklNQVJZX1dJTkRPVykg eworICAgICAgICAgICAgICAgIHJldHVybiBwYW5lOworICAgICAgICAgICAgfQorCisgICAgICAg ICAgICByZXR1cm4gZnJhbWUuZ2V0Um9vdFBhbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIEBP dmVycmlkZQorICAgICAgICBwcm90ZWN0ZWQgV2luZG93IGdldERlZmF1bHRQYXJlbnRXaW5kb3co KSB7CisgICAgICAgICAgICByZXR1cm4gZnJhbWU7CisgICAgICAgIH0KKyAgICB9CisJCit9Clwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2Ut cGx1Z2luLUlJL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4dGVudGlvbnMvbW9k ZWxlci9QbHVnaW5NYWluLmphdmEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVjbGlw c2UtcGx1Z2luLUlJL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4dGVudGlvbnMv bW9kZWxlci9QbHVnaW5NYWluLmphdmEJKHJldmlzaW9uIDApCisrKyBjYXllbm5lLW1vZGVsZXIt ZWNsaXBzZS1wbHVnaW4tSUkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50 aW9ucy9tb2RlbGVyL1BsdWdpbk1haW4uamF2YQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5MyBA QAorcGFja2FnZSBvcmcuYXBhY2hlLmNheWVubmUuZXh0ZW50aW9ucy5tb2RlbGVyOworCitpbXBv cnQgamF2YS5pby5GaWxlOworaW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CisKK2ltcG9ydCBq YXZheC5zd2luZy5Td2luZ1V0aWxpdGllczsKKworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5k aS5ESUJvb3RzdHJhcDsKK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUuZGkuSW5qZWN0b3I7Citp bXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLmRpLk1vZHVsZTsKK2ltcG9ydCBvcmcuYXBhY2hlLmNh eWVubmUubW9kZWxlci5BcHBsaWNhdGlvbjsKK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9k ZWxlci5NYWluOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmFjdGlvbi5PcGVu UHJvamVjdEFjdGlvbjsKK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5pbml0LnBs YXRmb3JtLlBsYXRmb3JtSW5pdGlhbGl6ZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5jb21tb25zLmxv Z2dpbmcuTG9nOworaW1wb3J0IG9yZy5hcGFjaGUuY29tbW9ucy5sb2dnaW5nLkxvZ0ZhY3Rvcnk7 CisKK3B1YmxpYyBjbGFzcyBQbHVnaW5NYWluIGV4dGVuZHMgTWFpbiB7CisJCisJcHJpdmF0ZSBz dGF0aWMgTG9nIGxvZ2dlciA9IExvZ0ZhY3RvcnkuZ2V0TG9nKFBsdWdpbk1haW4uY2xhc3MpOwor CXB1YmxpYyBQbHVnaW5NYWluKFN0cmluZ1tdIGFyZ3MpIHsKKyAgICAgICAgc3VwZXIoYXJncyk7 CisgICAgfQorCQorLy8JcHVibGljIHZvaWQgcnVuKFN0cmluZ1tdYXJncyl7CisvLwkJCisvLwkJ Y29uZmlndXJlTG9nZ2luZygpOworLy8KKy8vICAgICAgICAvLyBjaGVjayBqZGsgdmVyc2lvbgor Ly8gICAgICAgIGlmICghY2hlY2tKREtWZXJzaW9uKCkpIHsKKy8vICAgICAgICAgICAgU3lzdGVt LmV4aXQoMSk7CisvLyAgICAgICAgfQorLy8KKy8vICAgICAgICBGaWxlIHByb2plY3RGaWxlID0g cHJvamVjdEZpbGVGcm9tQXJncyhhcmdzKTsKKy8vICAgICAgICBydW5Nb2RlbGVyKHByb2plY3RG aWxlKTsKKy8vICAgIH0KKwkKKwlwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdz KSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBuZXcgUGx1Z2luTWFpbihhcmdzKS5sYXVu Y2goKTsKKyAgICAgICAgfQorICAgICAgICBjYXRjaCAoRXhjZXB0aW9uIGUpIHsKKyAgICAgICAg ICAgIGUucHJpbnRTdGFja1RyYWNlKCk7CisgICAgICAgICAgICBTeXN0ZW0uZXhpdCgxKTsKKyAg ICAgICAgfQorICAgIH0KKwkKKwlAT3ZlcnJpZGUKKwlwcm90ZWN0ZWQgdm9pZCBsYXVuY2goKXsK KwkJIGZpbmFsIEluamVjdG9yIGluamVjdG9yID0gRElCb290c3RyYXAKKyAgICAgICAgIC5jcmVh dGVJbmplY3RvcihhcHBlbmRNb2R1bGVzKG5ldyBBcnJheUxpc3Q8TW9kdWxlPigpKSk7CisgbG9n Z2VyLmluZm8oIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj Iik7CisgbG9nZ2VyLmluZm8oIlN0YXJ0aW5nIENheWVubmVNb2RlbGVyLiIpOworIGxvZ2dlci5p bmZvKCJKUkUgdi4iCisgICAgICAgICArIFN5c3RlbS5nZXRQcm9wZXJ0eSgiamF2YS52ZXJzaW9u IikKKyAgICAgICAgICsgIiBhdCAiCisgICAgICAgICArIFN5c3RlbS5nZXRQcm9wZXJ0eSgiamF2 YS5ob21lIikpOworCisgLy8gaW5pdCBsb29rIGFuZCBmZWVsIGJlZm9yZSBzdGFydGluZyBhbnkg U3dpbmcgY2xhc3Nlcy4uLgorIGluamVjdG9yLmdldEluc3RhbmNlKFBsYXRmb3JtSW5pdGlhbGl6 ZXIuY2xhc3MpLmluaXRMb29rQW5kRmVlbCgpOworCisgU3dpbmdVdGlsaXRpZXMuaW52b2tlTGF0 ZXIobmV3IFJ1bm5hYmxlKCkgeworCisgICAgIHB1YmxpYyB2b2lkIHJ1bigpIHsKKyAgICAJIFN5 c3RlbS5vdXQucHJpbnRsbigiQmVmb3JlIik7CisgICAgICAgICBQbHVnaW5BcHBsaWNhdGlvbiBh cHBsaWNhdGlvbiA9IGluamVjdG9yLmdldEluc3RhbmNlKFBsdWdpbkFwcGxpY2F0aW9uLmNsYXNz KTsKKyAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQWZ0ZXIiKTsKKyAgICAgICAgIFBsdWdp bkFwcGxpY2F0aW9uLnNldEluc3RhbmNlKGFwcGxpY2F0aW9uKTsKKyAgICAgICAgIGFwcGxpY2F0 aW9uLnN0YXJ0dXAoKTsKKworICAgICAgICAgLy8gc3RhcnQgaW5pdGlhbCBwcm9qZWN0IEFGVEVS IHRoZSBhcHAgc3RhcnR1cCwgYXMgd2UgbmVlZCBBcHBsaWNhdGlvbgorICAgICAgICAgLy8gcHJl ZmVyZW5jZXMgdG8gYmUgYm9vdHN0cmFwcGVkLgorCisgICAgICAgICBGaWxlIHByb2plY3QgPSBp bml0aWFsUHJvamVjdEZyb21BcmdzKCk7CisgICAgICAgICBpZiAocHJvamVjdCA9PSBudWxsKSB7 CisgICAgICAgICAgICAgcHJvamVjdCA9IGluaXRpYWxQcm9qZWN0RnJvbVByZWZlcmVuY2VzKCk7 CisgICAgICAgICB9CisKKyAgICAgICAgIGlmIChwcm9qZWN0ICE9IG51bGwpIHsKKyAgICAgICAg ICAgICBuZXcgT3BlblByb2plY3RBY3Rpb24oYXBwbGljYXRpb24pLm9wZW5Qcm9qZWN0KHByb2pl Y3QpOworICAgICAgICAgfQorICAgICB9CisgfSk7CisJCQorCX0KKwkKKworLy8JQE92ZXJyaWRl CisvLwlwcm90ZWN0ZWQgQXBwbGljYXRpb24gaW5pdEFwcGxpY2F0aW9uKEZpbGUgcHJvamVjdEZp bGUpIHsKKy8vCQlyZXR1cm4gbmV3IFBsdWdpbkFwcGxpY2F0aW9uKHByb2plY3RGaWxlKTsKKy8v CX0KKworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IGNheWVubmUtbW9kZWxl ci1lY2xpcHNlLXBsdWdpbi1JSS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRl bnRpb25zL21vZGVsZXIvUGx1Z2luQWN0aW9uTWFuYWdlci5qYXZhCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNh eWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1JSS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUv Y2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvUGx1Z2luQWN0aW9uTWFuYWdlci5qYXZhCShyZXZp c2lvbiAwKQorKysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLUlJL3NyYy9tYWluL2ph dmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4dGVudGlvbnMvbW9kZWxlci9QbHVnaW5BY3Rpb25NYW5h Z2VyLmphdmEJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjUgQEAKK3BhY2thZ2Ugb3JnLmFwYWNo ZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxlcjsKKworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5u ZS5leHRlbnRpb25zLm1vZGVsZXIuYWN0aW9uLlBsdWdpbkV4aXRBY3Rpb247CitpbXBvcnQgb3Jn LmFwYWNoZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxlci5hY3Rpb24uUGx1Z2luUHJvamVjdEFj dGlvbjsKK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5hY3Rpb24uRGVmYXVsdEFj dGlvbk1hbmFnZXI7CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuQXBwbGljYXRp b247CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuYWN0aW9uLkV4aXRBY3Rpb247 CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuYWN0aW9uLlByb2plY3RBY3Rpb247 CisKK3B1YmxpYyBjbGFzcyBQbHVnaW5BY3Rpb25NYW5hZ2VyIGV4dGVuZHMgRGVmYXVsdEFjdGlv bk1hbmFnZXIgeworCisJcHVibGljIFBsdWdpbkFjdGlvbk1hbmFnZXIoQXBwbGljYXRpb24gYXBw bGljYXRpb24pIHsKKwkJc3VwZXIoYXBwbGljYXRpb24pOworCX0KKworLy8JQE92ZXJyaWRlCisv Lwlwcm90ZWN0ZWQgRXhpdEFjdGlvbiBjcmVhdGVFeGl0QWN0aW9uKEFwcGxpY2F0aW9uIGFwcGxp Y2F0aW9uKSB7CisvLwkJcmV0dXJuIG5ldyBQbHVnaW5FeGl0QWN0aW9uKGFwcGxpY2F0aW9uKTsK Ky8vCX0KKy8vCisvLwlAT3ZlcnJpZGUKKy8vCXByb3RlY3RlZCBQcm9qZWN0QWN0aW9uIGNyZWF0 ZVByb2plY3RBY3Rpb24oQXBwbGljYXRpb24gYXBwbGljYXRpb24pIHsKKy8vCQlyZXR1cm4gbmV3 IFBsdWdpblByb2plY3RBY3Rpb24oYXBwbGljYXRpb24pOworLy8JfQorfQpcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKSW5kZXg6IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1JSS9z cmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvUGx1Z2lu TW9kZWxlckNvbnRyb2xsZXIuamF2YQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjYXllbm5lLW1vZGVsZXItZWNs aXBzZS1wbHVnaW4tSUkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9u cy9tb2RlbGVyL1BsdWdpbk1vZGVsZXJDb250cm9sbGVyLmphdmEJKHJldmlzaW9uIDApCisrKyBj YXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tSUkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hl L2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbk1vZGVsZXJDb250cm9sbGVyLmphdmEJ KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDQgQEAKK3BhY2thZ2Ugb3JnLmFwYWNoZS5jYXllbm5l LmV4dGVudGlvbnMubW9kZWxlcjsKKworaW1wb3J0IGphdmEuaW8uRmlsZTsKKworaW1wb3J0IGph dmF4LnN3aW5nLldpbmRvd0NvbnN0YW50czsKKworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5B Y3RpdmF0b3I7CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuQXBwbGljYXRpb247 CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuQ2F5ZW5uZU1vZGVsZXJDb250cm9s bGVyOworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLkNheWVubmVNb2RlbGVyRnJh bWU7CitpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuYWN0aW9uLkdlbmVyYXRlQ29k ZUFjdGlvbjsKK2ltcG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuUGF0aDsKKworcHVibGlj IGNsYXNzIFBsdWdpbk1vZGVsZXJDb250cm9sbGVyIGV4dGVuZHMgQ2F5ZW5uZU1vZGVsZXJDb250 cm9sbGVyIHsKKworCXB1YmxpYyBQbHVnaW5Nb2RlbGVyQ29udHJvbGxlcihBcHBsaWNhdGlvbiBh cHBsaWNhdGlvbikgeworCQlzdXBlcihhcHBsaWNhdGlvbik7CisJfQorCisJQE92ZXJyaWRlCisJ cHVibGljIHZvaWQgcHJvamVjdFNhdmVkQWN0aW9uKCkgeworLy8JCSgoR2VuZXJhdGVDb2RlQWN0 aW9uKSBBcHBsaWNhdGlvbi5nZXRJbnN0YW5jZSgpLmdldEFjdGlvbigKKy8vCQkJCUdlbmVyYXRl Q29kZUFjdGlvbi5nZXRBY3Rpb25OYW1lKCkpKQorLy8JCQkJLnBlcmZvcm1HZW5lcmF0aW9uT25B bGxEYXRhTWFwcygpOworLy8JCUFjdGl2YXRvci5nZXREZWZhdWx0KCkudXBkYXRlV29ya3NwYWNl KAorLy8JCQkJbmV3IFBhdGgocHJvamVjdENvbnRyb2xsZXIuZ2V0UHJvamVjdCgpCisvLwkJCQkJ CS5nZXRDb25maWd1cmF0aW9uUmVzb3VyY2UoKS5nZXRVUkwoKS5nZXRQYXRoKCkpKTsKKwkJc3Vw ZXIucHJvamVjdFNhdmVkQWN0aW9uKCk7CisKKwl9CisKKwlAT3ZlcnJpZGUKKwlwcm90ZWN0ZWQg dm9pZCBpbml0QmluZGluZ3MoKSB7CisJCXN1cGVyLmluaXRCaW5kaW5ncygpOworCQlmcmFtZS5z ZXREZWZhdWx0Q2xvc2VPcGVyYXRpb24oV2luZG93Q29uc3RhbnRzLkRJU1BPU0VfT05fQ0xPU0Up OworCisJfQorCisvLwlAT3ZlcnJpZGUKKy8vCXByb3RlY3RlZCBDYXllbm5lTW9kZWxlckZyYW1l IGluaXRNb2RlbGVyRnJhbWUoQXBwbGljYXRpb24gYXBwbGljYXRpb24pIHsKKy8vCQlyZXR1cm4g bmV3IFBsdWdpbk1vZGVsZXJGcmFtZShhcHBsaWNhdGlvbi5nZXRBY3Rpb25NYW5hZ2VyKCkpOwor Ly8JfQorCit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogY2F5ZW5uZS1tb2Rl bGVyLWVjbGlwc2UtcGx1Z2luLUlJL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4 dGVudGlvbnMvbW9kZWxlci9hY3Rpb24vUGx1Z2luUHJvamVjdEFjdGlvbi5qYXZhCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1JSS9zcmMvbWFpbi9qYXZhL29y Zy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvYWN0aW9uL1BsdWdpblByb2plY3RB Y3Rpb24uamF2YQkocmV2aXNpb24gMCkKKysrIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdp bi1JSS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIv YWN0aW9uL1BsdWdpblByb2plY3RBY3Rpb24uamF2YQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwy MCBAQAorcGFja2FnZSBvcmcuYXBhY2hlLmNheWVubmUuZXh0ZW50aW9ucy5tb2RlbGVyLmFjdGlv bjsKKworaW1wb3J0IGphdmEuYXd0LmV2ZW50LkFjdGlvbkV2ZW50OworCitpbXBvcnQgb3JnLmFw YWNoZS5jYXllbm5lLm1vZGVsZXIuQXBwbGljYXRpb247CitpbXBvcnQgb3JnLmFwYWNoZS5jYXll bm5lLm1vZGVsZXIuYWN0aW9uLlByb2plY3RBY3Rpb247CisKK3B1YmxpYyBjbGFzcyBQbHVnaW5Q cm9qZWN0QWN0aW9uIGV4dGVuZHMgUHJvamVjdEFjdGlvbiB7CisKKwlwdWJsaWMgUGx1Z2luUHJv amVjdEFjdGlvbihBcHBsaWNhdGlvbiBhcHBsaWNhdGlvbikgeworCQlzdXBlcihhcHBsaWNhdGlv bik7CisJfQorCisJQE92ZXJyaWRlCisJcHVibGljIHZvaWQgcGVyZm9ybUFjdGlvbihBY3Rpb25F dmVudCBlKSB7CisJCXN1cGVyLnBlcmZvcm1BY3Rpb24oZSk7CisJCUFwcGxpY2F0aW9uLmdldElu c3RhbmNlKCkuZ2V0RnJhbWVDb250cm9sbGVyKCkuZ2V0V2luZG93KCkuZGlzcG9zZSgpOworCX0K KworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IGNheWVubmUtbW9kZWxlci1l Y2xpcHNlLXBsdWdpbi1JSS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRp b25zL21vZGVsZXIvYWN0aW9uL1BsdWdpbkV4aXRBY3Rpb24uamF2YQo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBj YXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tSUkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hl L2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL2FjdGlvbi9QbHVnaW5FeGl0QWN0aW9uLmphdmEJ KHJldmlzaW9uIDApCisrKyBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tSUkvc3JjL21h aW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL2FjdGlvbi9QbHVn aW5FeGl0QWN0aW9uLmphdmEJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKK3BhY2thZ2Ug b3JnLmFwYWNoZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxlci5hY3Rpb247CisKK2ltcG9ydCBv cmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5BcHBsaWNhdGlvbjsKK2ltcG9ydCBvcmcuYXBhY2hl LmNheWVubmUubW9kZWxlci5hY3Rpb24uRXhpdEFjdGlvbjsKKworcHVibGljIGNsYXNzIFBsdWdp bkV4aXRBY3Rpb24gZXh0ZW5kcyBFeGl0QWN0aW9uIHsKKwlwdWJsaWMgUGx1Z2luRXhpdEFjdGlv bigpeworCQlzdXBlcihuZXcgQXBwbGljYXRpb24oKSk7CisJfQorCisvLwlwdWJsaWMgUGx1Z2lu RXhpdEFjdGlvbihBcHBsaWNhdGlvbiBhcHBsaWNhdGlvbikgeworLy8JCXN1cGVyKGFwcGxpY2F0 aW9uKTsKKy8vCX0KKy8vCisvLwlAT3ZlcnJpZGUKKy8vCXByb3RlY3RlZCB2b2lkIGFwcGxpY2F0 aW9uU2h1dGRvd24oKSB7CisvLwkJY2xvc2VQcm9qZWN0KGZhbHNlKTsKKy8vCX0KK30KXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVn aW4tSUkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvbGF1bmNoZXIvRWRpdG9yTGF1 bmNoZXIuamF2YQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4t SUkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvbGF1bmNoZXIvRWRpdG9yTGF1bmNo ZXIuamF2YQkocmV2aXNpb24gMCkKKysrIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1J SS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9sYXVuY2hlci9FZGl0b3JMYXVuY2hl ci5qYXZhCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBACitwYWNrYWdlIG9yZy5hcGFjaGUu Y2F5ZW5uZS5sYXVuY2hlcjsKKworaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5leHRlbnRpb25z Lm1vZGVsZXIuUGx1Z2luTWFpbjsKK2ltcG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuSVBh dGg7CitpbXBvcnQgb3JnLmVjbGlwc2UudWkuSUVkaXRvckxhdW5jaGVyOworCitwdWJsaWMgY2xh c3MgRWRpdG9yTGF1bmNoZXIgaW1wbGVtZW50cyBJRWRpdG9yTGF1bmNoZXIgeworCisJQFN1cHBy ZXNzV2FybmluZ3MoInN0YXRpYy1hY2Nlc3MiKQorCXB1YmxpYyB2b2lkIG9wZW4oSVBhdGggZmls ZSkgeworCQlTeXN0ZW0ub3V0LnByaW50bG4oIkxhdW5jaCBTdWNjZXNzZnVsIDogZmlsZSBMb2Nh dGlvbiA9ICIrCisJCQkJIGZpbGUudG9TdHJpbmcoKSk7CisKKwkJU3RyaW5nW10gYXJncyA9IG5l dyBTdHJpbmdbXSB7IGZpbGUudG9TdHJpbmcoKSB9OworCQluZXcgUGx1Z2luTWFpbihhcmdzKS5t YWluKGFyZ3MpOworCisJfQorCit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog Y2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLUlJL3NyYy9tYWluL2phdmEvb3JnL2FwYWNo ZS9jYXllbm5lL0FjdGl2YXRvci5qYXZhCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNheWVubmUtbW9kZWxlci1l Y2xpcHNlLXBsdWdpbi1JSS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9BY3RpdmF0 b3IuamF2YQkocmV2aXNpb24gMCkKKysrIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1J SS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9BY3RpdmF0b3IuamF2YQkocmV2aXNp b24gMCkKQEAgLTAsMCArMSw0NCBAQAorcGFja2FnZSBvcmcuYXBhY2hlLmNheWVubmU7CisKK2lt cG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcy5JUHJvamVjdDsKK2ltcG9ydCBvcmcuZWNs aXBzZS5jb3JlLnJlc291cmNlcy5JUmVzb3VyY2U7CitpbXBvcnQgb3JnLmVjbGlwc2UuY29yZS5y ZXNvdXJjZXMuSVdvcmtzcGFjZTsKK2ltcG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcy5J V29ya3NwYWNlUm9vdDsKK2ltcG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcy5SZXNvdXJj ZXNQbHVnaW47CitpbXBvcnQgb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLklQYXRoOworaW1wb3J0 IG9yZy5lY2xpcHNlLnVpLnBsdWdpbi5BYnN0cmFjdFVJUGx1Z2luOworCitwdWJsaWMgY2xhc3Mg QWN0aXZhdG9yIGV4dGVuZHMgQWJzdHJhY3RVSVBsdWdpbiB7CisKKwkvLyBUaGUgc2hhcmVkIGlu c3RhbmNlLgorCXByaXZhdGUgc3RhdGljIEFjdGl2YXRvciBwbHVnaW47CisKKwkvKioKKwkgKiBU aGUgY29uc3RydWN0b3IuCisJICovCisJcHVibGljIEFjdGl2YXRvcigpIHsKKwkJc3VwZXIoKTsK KwkJcGx1Z2luID0gdGhpczsKKworCX0KKworCS8qKgorCSAqIFJldHVybnMgdGhlIHNoYXJlZCBp bnN0YW5jZSBvZiB0aGUgcGx1Zy1pbi4KKwkgKi8KKwlwdWJsaWMgc3RhdGljIEFjdGl2YXRvciBn ZXREZWZhdWx0KCkgeworCQlyZXR1cm4gcGx1Z2luID09IG51bGwgPyBuZXcgQWN0aXZhdG9yKCkg OiBwbHVnaW47CisJfQorCisJcHVibGljIHZvaWQgdXBkYXRlV29ya3NwYWNlKElQYXRoIHBhdGgp IHsKKworCQl0cnkgeworCQkJSVdvcmtzcGFjZSB3b3Jrc3BhY2UgPSBSZXNvdXJjZXNQbHVnaW4u Z2V0V29ya3NwYWNlKCk7CisJCQlJV29ya3NwYWNlUm9vdCByb290ID0gd29ya3NwYWNlLmdldFJv b3QoKTsKKwkJCUlQcm9qZWN0IHByb2plY3QgPSByb290LmdldEZpbGVGb3JMb2NhdGlvbihwYXRo KS5nZXRQcm9qZWN0KCk7CisJCQlwcm9qZWN0LnJlZnJlc2hMb2NhbChJUmVzb3VyY2UuREVQVEhf SU5GSU5JVEUsIG51bGwpOworCQl9IGNhdGNoIChFeGNlcHRpb24gZSkgeworCQkJZS5wcmludFN0 YWNrVHJhY2UoKTsKKwkJfQorCX0KKworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5k ZXg6IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1JSS9idWlsZC5wcm9wZXJ0aWVzCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1JSS9idWlsZC5wcm9w ZXJ0aWVzCShyZXZpc2lvbiAwKQorKysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLUlJ L2J1aWxkLnByb3BlcnRpZXMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOSBAQAorc291cmNlLi4g PSBzcmMvbWFpbi9qYXZhLyxcCisKK291dHB1dC4uID0gdGFyZ2V0L2NsYXNzZXMvCitiaW4uaW5j bHVkZXMgPSBwbHVnaW4ueG1sLFwKKyAgICAgICAgICAgICAgIE1FVEEtSU5GLyxcCisgICAgICAg ICAgICAgICAuLFwKKyAgICAgICAgICAgICAgIHRhcmdldC9kZXBlbmRlbmN5LworCitlc2hhbgpJ bmRleDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLUlJL3BvbS54bWwKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLUlJL3BvbS54bWwJKHJldmlzaW9u IDApCisrKyBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tSUkvcG9tLnhtbAkocmV2aXNp b24gMCkKQEAgLTAsMCArMSwyNTIgQEAKKzxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBh Y2hlLm9yZy9QT00vNC4wLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxT Y2hlbWEtaW5zdGFuY2UiCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hl Lm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvbWF2ZW4tdjRfMF8wLnhzZCI+ CisJPHByb3BlcnRpZXM+CisJCTxidW5kbGUuc3ltYm9saWNOYW1lPmNheWVubmUtbW9kZWxlci1l Y2xpcHNlLXBsdWdpbjwvYnVuZGxlLnN5bWJvbGljTmFtZT4KKwkJPGJ1bmRsZS5uYW1lc3BhY2U+ b3JnLmFwYWNoZS5jYXllbm5lPC9idW5kbGUubmFtZXNwYWNlPgorCTwvcHJvcGVydGllcz4KKwk8 bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CisJPHBhcmVudD4KKwkJPGdyb3VwSWQ+ b3JnLmFwYWNoZS5jYXllbm5lPC9ncm91cElkPgorCQk8YXJ0aWZhY3RJZD5jYXllbm5lLXBhcmVu dDwvYXJ0aWZhY3RJZD4KKwkJPHZlcnNpb24+My4xLVNOQVBTSE9UPC92ZXJzaW9uPgorCTwvcGFy ZW50PgorCisJPGFydGlmYWN0SWQ+Y2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luPC9hcnRp ZmFjdElkPgorCisJPG5hbWU+Q2F5ZW5uZSBNb2RlbGVyIFBsdWdpbiBmb3IgRWNsaXBzZTwvbmFt ZT4KKwk8cGFja2FnaW5nPmJ1bmRsZTwvcGFja2FnaW5nPgorCisJPGJ1aWxkPgorCQk8cmVzb3Vy Y2VzPgorCQkJPHJlc291cmNlPgorCQkJCTx0YXJnZXRQYXRoPmljb25zPC90YXJnZXRQYXRoPgor CQkJCTxkaXJlY3Rvcnk+aWNvbnM8L2RpcmVjdG9yeT4KKworCQkJPC9yZXNvdXJjZT4KKwkJCTxy ZXNvdXJjZT4KKwkJCQk8ZGlyZWN0b3J5Pi48L2RpcmVjdG9yeT4KKwkJCQk8aW5jbHVkZXM+CisJ CQkJCTxpbmNsdWRlPnBsdWdpbi54bWw8L2luY2x1ZGU+CisJCQkJPC9pbmNsdWRlcz4KKwkJCTwv cmVzb3VyY2U+CisJCTwvcmVzb3VyY2VzPgorCQk8cGx1Z2lucz4KKwkJCTxwbHVnaW4+CisJCQkJ PGdyb3VwSWQ+b3JnLmFwYWNoZS5mZWxpeDwvZ3JvdXBJZD4KKwkJCQk8YXJ0aWZhY3RJZD5tYXZl bi1idW5kbGUtcGx1Z2luPC9hcnRpZmFjdElkPgorCQkJCTx2ZXJzaW9uPjEuMi4xPC92ZXJzaW9u PgorCQkJCTxleHRlbnNpb25zPnRydWU8L2V4dGVuc2lvbnM+CisJCQkJPGNvbmZpZ3VyYXRpb24+ CisJCQkJCTxtYW5pZmVzdExvY2F0aW9uPk1FVEEtSU5GPC9tYW5pZmVzdExvY2F0aW9uPgorCQkJ CQk8aW5zdHJ1Y3Rpb25zPgorCQkJCQkJPEluY2x1ZGUtUmVzb3VyY2U+dGFyZ2V0L2NsYXNzZXM8 L0luY2x1ZGUtUmVzb3VyY2U+CisJCQkJCQk8QnVuZGxlLVN5bWJvbGljTmFtZT4ke2J1bmRsZS5z eW1ib2xpY05hbWV9O3NpbmdsZXRvbjo9dHJ1ZQorCQkJCQkJPC9CdW5kbGUtU3ltYm9saWNOYW1l PgorCQkJCQkJPEJ1bmRsZS1WZXJzaW9uPiR7cG9tLnZlcnNpb259PC9CdW5kbGUtVmVyc2lvbj4K KwkJCQkJCTxJbXBvcnQtUGFja2FnZT4KKwkJCQkJCQk8IS0tIGV4Y2x1ZGUgcGFja2FnZXMgZ2Vu ZXJhdGVkIGluIGJ1bmRsZSBtYW5pZmVzdAorCQkJCQkJCQlhdXRvbWF0aWNhbGx5IGFuZCB0aGF0 IGNhdXNlIHRoZSBmYWlsdXJlIG9mIAorCQkJCQkJCQlidW5kbGUgY29tcGlsYXRpb24KKwkJCQkJ CQkJVE9ETzogY29uc2lkZXIgdGhlIHdheSBvZiByZXNvbHZpbmcgdGhpcyBwcm9ibGVtIAorCQkJ CQkJCQlub3QgYnkgZXhwbGljaXQgZXhjbHVzaW9uCisJCQkJCQkJLS0+CisJCQkJCQkJIUVEVS5v c3dlZ28uY3MuZGwudXRpbC5jb25jdXJyZW50LAorCQkJCQkJCSFic2gsCisJCQkJCQkJIWNvbS5z dW4uamF2YS5zd2luZy5wbGFmLndpbmRvd3MsCisJCQkJCQkJIWNvbS53ZXJrZW4ueHBhdGgsCisJ CQkJCQkJIWphdmF4LmptcywKKwkJCQkJCQkhb3JnLmFwYWNoZS5hdmFsb24uZnJhbWV3b3JrLmxv Z2dlciwKKwkJCQkJCQkhb3JnLmFwYWNoZS5iY2VsLiosCisJCQkJCQkJIW9yZy5qZG9tLiosCisJ CQkJCQkJIW9yZy5qaXZlc29mdHdhcmUuc21hY2t4LmRlYnVnZ2VyLAorCQkJCQkJCSFzdW4uc2Vj dXJpdHkuYWN0aW9uLAorCQkJCQkJCQorCQkJCQkJCW9yZy5lY2xpcHNlLmNvcmUucnVudGltZSwK KwkJCQkJCQlvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcywKKwkJCQkJCQlvcmcuZWNsaXBzZS51 aSwKKwkJCQkJCQlvcmcuZWNsaXBzZS5qZHQubGF1bmNoaW5nLAorCQkJCQkJCW9yZy5lY2xpcHNl LmRlYnVnLmNvcmUsCisJCQkJCQkJb3JnLmVjbGlwc2UudWkuaWRlLAorCQkJCQkJCW9yZy5lY2xp cHNlLmpkdC5jb3JlLCoKKwkJCQkJCTwvSW1wb3J0LVBhY2thZ2U+CisJCQkJCQk8QnVuZGxlLUFj dGl2YXRvcj4ke2J1bmRsZS5uYW1lc3BhY2V9LkFjdGl2YXRvcgorCQkJCQkJPC9CdW5kbGUtQWN0 aXZhdG9yPgorCQkJCQkJPEVtYmVkLURlcGVuZGVuY3k+CisJCQkJCQkJKjtzY29wZT1jb21waWxl fHJ1bnRpbWV8cHJvdmlkZWQ7aW5saW5lPWZhbHNlOworCQkJCQkJPC9FbWJlZC1EZXBlbmRlbmN5 PgorCQkJCQkJPEVtYmVkLURpcmVjdG9yeT50YXJnZXQvZGVwZW5kZW5jeQorCQkJCQkJPC9FbWJl ZC1EaXJlY3Rvcnk+CisJCQkJCQk8RW1iZWQtU3RyaXBHcm91cD50cnVlPC9FbWJlZC1TdHJpcEdy b3VwPgorCQkJCQk8L2luc3RydWN0aW9ucz4KKwkJCQk8L2NvbmZpZ3VyYXRpb24+CisJCQk8L3Bs dWdpbj4KKwkJCTxwbHVnaW4+CisJCQkJPGFydGlmYWN0SWQ+bWF2ZW4tZGVwZW5kZW5jeS1wbHVn aW4KKwkJCQk8L2FydGlmYWN0SWQ+CisJCQkJPGV4ZWN1dGlvbnM+CisJCQkJCTxleGVjdXRpb24+ CisJCQkJCQk8aWQ+Y29weS1kZXBlbmRlbmNpZXM8L2lkPgorCQkJCQkJPHBoYXNlPnBhY2thZ2U8 L3BoYXNlPgorCQkJCQkJPGdvYWxzPgorCQkJCQkJCTxnb2FsPmNvcHktZGVwZW5kZW5jaWVzPC9n b2FsPgorCQkJCQkJPC9nb2Fscz4KKwkJCQkJPC9leGVjdXRpb24+CisJCQkJPC9leGVjdXRpb25z PgorCQkJPC9wbHVnaW4+CisJCQk8cGx1Z2luPgorCQkJCTxncm91cElkPm9yZy5hcGFjaGUubWF2 ZW4ucGx1Z2luczwvZ3JvdXBJZD4KKwkJCQk8YXJ0aWZhY3RJZD5tYXZlbi1jb21waWxlci1wbHVn aW48L2FydGlmYWN0SWQ+CisJCQkJPGNvbmZpZ3VyYXRpb24+CisJCQkJCTxzb3VyY2U+MS41PC9z b3VyY2U+CisJCQkJCTx0YXJnZXQ+MS41PC90YXJnZXQ+CisJCQkJPC9jb25maWd1cmF0aW9uPgor CQkJPC9wbHVnaW4+CisJCTwvcGx1Z2lucz4KKwk8L2J1aWxkPgorCisJPGRlcGVuZGVuY2llcz4K KwkJPCEtLSBFY2xpcHNlIGRlcGVuZGVuY2llcyAtLT4KKwkJPGRlcGVuZGVuY3k+CisJCQk8Z3Jv dXBJZD5vcmcuZWNsaXBzZTwvZ3JvdXBJZD4KKwkJCTxhcnRpZmFjdElkPnVpPC9hcnRpZmFjdElk PgkJCQorCQkJPHZlcnNpb24+My4zLjAuSTIwMDcwNjE0LTA4MDA8L3ZlcnNpb24+CisJCTwvZGVw ZW5kZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJCQk8Z3JvdXBJZD5vcmcuZWNsaXBzZS5jb3JlPC9n cm91cElkPgorCQkJPGFydGlmYWN0SWQ+cmVzb3VyY2VzPC9hcnRpZmFjdElkPgkJCQorCSAgICAg ICAgPHZlcnNpb24+My4yLjEwMC12MjAwNzA1MDI8L3ZlcnNpb24+CisJCTwvZGVwZW5kZW5jeT4K KwkJPGRlcGVuZGVuY3k+CisJCQk8Z3JvdXBJZD5vcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWU8L2dy b3VwSWQ+CisJCQk8YXJ0aWZhY3RJZD5jb21wYXRpYmlsaXR5PC9hcnRpZmFjdElkPgkJCisJCQkJ PHZlcnNpb24+My4yLjEwMC12MjAwNzA1MDI8L3ZlcnNpb24+CisJCTwvZGVwZW5kZW5jeT4KKwkJ PGRlcGVuZGVuY3k+CisJCQk8Z3JvdXBJZD5vcmcuZWNsaXBzZTwvZ3JvdXBJZD4KKwkJCTxhcnRp ZmFjdElkPmpkdDwvYXJ0aWZhY3RJZD4JCQkKKwkJCTx2ZXJzaW9uPjMuMy4wLnYyMDA3MDYwNy0x MzAwPC92ZXJzaW9uPgorCQk8L2RlcGVuZGVuY3k+CisJCQorCisJCTwhLS0gQ2F5ZW5uZSBkZXBl bmRlbmNpZXMgLS0+CisJCTxkZXBlbmRlbmN5PgorCQkJPGdyb3VwSWQ+b3JnLmFwYWNoZS5jYXll bm5lPC9ncm91cElkPgorCQkJPGFydGlmYWN0SWQ+Y2F5ZW5uZS1tb2RlbGVyPC9hcnRpZmFjdElk PgorCQkJPHZlcnNpb24+JHt2ZXJzaW9ufTwvdmVyc2lvbj4KKwkJCTxzY29wZT5wcm92aWRlZDwv c2NvcGU+CisJCTwvZGVwZW5kZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJCQk8Z3JvdXBJZD5vcmcu YXBhY2hlLmNheWVubmUudW5wdWJsaXNoZWQ8L2dyb3VwSWQ+CisJCQk8YXJ0aWZhY3RJZD5jYXll bm5lLWpkazEuNS11bnB1Ymxpc2hlZDwvYXJ0aWZhY3RJZD4KKwkJCTx2ZXJzaW9uPiR7dmVyc2lv bn08L3ZlcnNpb24+CisJCQk8c2NvcGU+cHJvdmlkZWQ8L3Njb3BlPgorCQk8L2RlcGVuZGVuY3k+ CisJCTxkZXBlbmRlbmN5PgorCQkJPGdyb3VwSWQ+b3JnLmFwYWNoZS5jYXllbm5lLnVucHVibGlz aGVkPC9ncm91cElkPgorCQkJPGFydGlmYWN0SWQ+Y2F5ZW5uZS1wcm9qZWN0LXVucHVibGlzaGVk PC9hcnRpZmFjdElkPgorCQkJPHZlcnNpb24+JHt2ZXJzaW9ufTwvdmVyc2lvbj4KKwkJCTxzY29w ZT5wcm92aWRlZDwvc2NvcGU+CisJCTwvZGVwZW5kZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJCQk8 Z3JvdXBJZD5vcmcuYXBhY2hlLmNheWVubmU8L2dyb3VwSWQ+CisJCQk8YXJ0aWZhY3RJZD5jYXll bm5lLXRvb2xzPC9hcnRpZmFjdElkPgorCQkJPHZlcnNpb24+JHt2ZXJzaW9ufTwvdmVyc2lvbj4K KwkJPC9kZXBlbmRlbmN5PgorCQk8ZGVwZW5kZW5jeT4KKwkJCTxncm91cElkPm9yZy5hcGFjaGUu Y2F5ZW5uZS51bnB1Ymxpc2hlZDwvZ3JvdXBJZD4KKwkJCTxhcnRpZmFjdElkPmNheWVubmUtd29j b21wYXQtdW5wdWJsaXNoZWQ8L2FydGlmYWN0SWQ+CisJCQk8dmVyc2lvbj4ke3ZlcnNpb259PC92 ZXJzaW9uPgorCQkJPHNjb3BlPnByb3ZpZGVkPC9zY29wZT4KKwkJPC9kZXBlbmRlbmN5PgorCQk8 ZGVwZW5kZW5jeT4KKwkJCTxncm91cElkPm9yZy5hcGFjaGUuY2F5ZW5uZS51bnB1Ymxpc2hlZDwv Z3JvdXBJZD4KKwkJCTxhcnRpZmFjdElkPmNheWVubmUtZGktdW5wdWJsaXNoZWQ8L2FydGlmYWN0 SWQ+CisJCQk8dmVyc2lvbj4ke3ZlcnNpb259PC92ZXJzaW9uPgorCQk8L2RlcGVuZGVuY3k+CisJ CQorCQk8IS0tIFRoaXJkLXBhcnR5IGRlcGVuZGVuY2llcyAtLT4KKwkJPGRlcGVuZGVuY3k+CisJ CQk8Z3JvdXBJZD5jb20uY2F1Y2hvPC9ncm91cElkPgorCQkJPGFydGlmYWN0SWQ+cmVzaW4taGVz c2lhbjwvYXJ0aWZhY3RJZD4KKwkJPC9kZXBlbmRlbmN5PgorCQk8ZGVwZW5kZW5jeT4KKwkJCTxn cm91cElkPm9wZW5zeW1waG9ueTwvZ3JvdXBJZD4KKwkJCTxhcnRpZmFjdElkPm9zY2FjaGU8L2Fy dGlmYWN0SWQ+CisJCQk8dmVyc2lvbj4yLjMuMjwvdmVyc2lvbj4KKwkJCTxzY29wZT5wcm92aWRl ZDwvc2NvcGU+CisJCTwvZGVwZW5kZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJCQk8Z3JvdXBJZD5q Z3JvdXBzPC9ncm91cElkPgorCQkJPGFydGlmYWN0SWQ+amdyb3Vwcy1hbGw8L2FydGlmYWN0SWQ+ CisJCTwvZGVwZW5kZW5jeT4KKwkJCQk8ZGVwZW5kZW5jeT4KKwkJCTxncm91cElkPmpnb29kaWVz PC9ncm91cElkPgorCQkJPGFydGlmYWN0SWQ+bG9va3M8L2FydGlmYWN0SWQ+CisJCTwvZGVwZW5k ZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJCQk8Z3JvdXBJZD5qZ29vZGllczwvZ3JvdXBJZD4KKwkJ CTxhcnRpZmFjdElkPmZvcm1zPC9hcnRpZmFjdElkPgorCQk8L2RlcGVuZGVuY3k+CisJCTxkZXBl bmRlbmN5PgorCQkJPGdyb3VwSWQ+aml2ZXNvZnR3YXJlPC9ncm91cElkPgorCQkJPGFydGlmYWN0 SWQ+c21hY2s8L2FydGlmYWN0SWQ+CisJCQk8dmVyc2lvbj4yLjIuMTwvdmVyc2lvbj4KKwkJCTxz Y29wZT5wcm92aWRlZDwvc2NvcGU+CisJCTwvZGVwZW5kZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJ CQk8Z3JvdXBJZD5qaXZlc29mdHdhcmU8L2dyb3VwSWQ+CisJCQk8YXJ0aWZhY3RJZD5zbWFja3g8 L2FydGlmYWN0SWQ+CisJCQk8dmVyc2lvbj4yLjIuMTwvdmVyc2lvbj4KKwkJCTxzY29wZT5wcm92 aWRlZDwvc2NvcGU+CisJCTwvZGVwZW5kZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJCQk8Z3JvdXBJ ZD5vZ25sPC9ncm91cElkPgorCQkJPGFydGlmYWN0SWQ+b2dubDwvYXJ0aWZhY3RJZD4KKwkJPC9k ZXBlbmRlbmN5PgorCQk8ZGVwZW5kZW5jeT4KKwkJCTxncm91cElkPm9yZy5zY29wZW12YzwvZ3Jv dXBJZD4KKwkJCTxhcnRpZmFjdElkPnNjb3BlbXZjPC9hcnRpZmFjdElkPgorCQk8L2RlcGVuZGVu Y3k+CisJCTxkZXBlbmRlbmN5PgorCQkJPGdyb3VwSWQ+aHNxbGRiPC9ncm91cElkPgorCQkJPGFy dGlmYWN0SWQ+aHNxbGRiPC9hcnRpZmFjdElkPgorCQk8L2RlcGVuZGVuY3k+CisJCTxkZXBlbmRl bmN5PgorCQkJPGdyb3VwSWQ+amdyYXBoPC9ncm91cElkPgorCQkJPGFydGlmYWN0SWQ+amdyYXBo PC9hcnRpZmFjdElkPgorCQkJPHZlcnNpb24+NS4xMy4wLjA8L3ZlcnNpb24+CisJCTwvZGVwZW5k ZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJCQk8Z3JvdXBJZD5uZXQuc2YuamVkaXQtc3ludGF4PC9n cm91cElkPgorCQkJPGFydGlmYWN0SWQ+amVkaXQtc3ludGF4PC9hcnRpZmFjdElkPgorCQkJPHZl cnNpb24+Mi4yLjI8L3ZlcnNpb24+CisJCTwvZGVwZW5kZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJ CQk8Z3JvdXBJZD5jb21tb25zLWRiY3A8L2dyb3VwSWQ+CisJCQk8YXJ0aWZhY3RJZD5jb21tb25z LWRiY3A8L2FydGlmYWN0SWQ+CisJCQk8c2NvcGU+Y29tcGlsZTwvc2NvcGU+CisJCTwvZGVwZW5k ZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJCQk8Z3JvdXBJZD5jb21tb25zLXBvb2w8L2dyb3VwSWQ+ CisJCQk8YXJ0aWZhY3RJZD5jb21tb25zLXBvb2w8L2FydGlmYWN0SWQ+CisJCQk8c2NvcGU+Y29t cGlsZTwvc2NvcGU+CisJCTwvZGVwZW5kZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJCQk8Z3JvdXBJ ZD5jb21tb25zLWxvZ2dpbmc8L2dyb3VwSWQ+CisJCQk8YXJ0aWZhY3RJZD5jb21tb25zLWxvZ2dp bmc8L2FydGlmYWN0SWQ+CisJCTwvZGVwZW5kZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJCQk8Z3Jv dXBJZD5jb21tb25zLWNvbGxlY3Rpb25zPC9ncm91cElkPgorCQkJPGFydGlmYWN0SWQ+Y29tbW9u cy1jb2xsZWN0aW9uczwvYXJ0aWZhY3RJZD4KKwkJPC9kZXBlbmRlbmN5PgorCQk8ZGVwZW5kZW5j eT4KKwkJCTxncm91cElkPmZvdW5kcnlsb2dpYy52cHA8L2dyb3VwSWQ+CisJCQk8YXJ0aWZhY3RJ ZD52cHA8L2FydGlmYWN0SWQ+CisJCTwvZGVwZW5kZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJCQk8 Z3JvdXBJZD5uZXQuamF2YS5kZXYuaW5mbGVjdG9yPC9ncm91cElkPgorCQkJPGFydGlmYWN0SWQ+ aW5mbGVjdG9yPC9hcnRpZmFjdElkPgorCQkJPHZlcnNpb24+MC43LjA8L3ZlcnNpb24+CisJCTwv ZGVwZW5kZW5jeT4KKwk8L2RlcGVuZGVuY2llcz4KKzwvcHJvamVjdD4KXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCkluZGV4OiBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tSUkvaWNv bnMvY2F5ZW5uZS5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMg YSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoK UHJvcGVydHkgY2hhbmdlcyBvbjogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLUlJL2lj b25zL2NheWVubmUucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBs aWNhdGlvbi9vY3RldC1zdHJlYW0KCkluZGV4OiBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVn aW4tSUkvcGx1Z2luLnBhdGNoCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNheWVubmUtbW9kZWxlci1lY2xpcHNl LXBsdWdpbi1JSS9wbHVnaW4ucGF0Y2gJKHJldmlzaW9uIDApCisrKyBjYXllbm5lLW1vZGVsZXIt ZWNsaXBzZS1wbHVnaW4tSUkvcGx1Z2luLnBhdGNoCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEz MTEgQEAKK0Zyb20gNDA5ZDY1NzZjNTdhY2NkZDBhOWY0NDgwYmY1NWQzYzkzODQzZGM4YyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtzZW5pYSA8eGVuaWFfa2hhaWxlbmthQHR1dC5i eT4KK0RhdGU6IEZyaSwgMTIgRmViIDIwMTAgMTA6MzE6MTggKzAyMDAKK1N1YmplY3Q6IFtQQVRD SF0gUmVzZWFyY2g6IGVjbGlwc2UgcGx1Z2luIGZvciBvcGVuaW5nIGNheWVubmUgbW9kZWxlcgor CistLS0KKyAuLi4vY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLy5jbGFzc3BhdGggICAg ICB8ICAgIDggKworIG1vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLy5wcm9q ZWN0ICB8ICAgMzQgKysrCisgLi4uLy5zZXR0aW5ncy9vcmcuZWNsaXBzZS5qZHQuY29yZS5wcmVm cyAgICAgICAgICAgfCAgIDEyICsKKyAuLi4vLnNldHRpbmdzL29yZy5tYXZlbi5pZGUuZWNsaXBz ZS5wcmVmcyAgICAgICAgICB8ICAgIDkgKworIC4uLi9NRVRBLUlORi9NQU5JRkVTVC5NRiAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDIxOCArKysrKysrKysrKysrKysrKworIC4uLi9idWls ZC5wcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgOCArCisgLi4u L2ljb25zL2NheWVubmUucG5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgQmluIDAg LT4gODYzIGJ5dGVzCisgLi4uL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi9wbHVnaW4u eG1sICAgICAgfCAgIDEwICsKKyBtb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdp bi9wb20ueG1sICAgfCAgMjU2ICsrKysrKysrKysrKysrKysrKysrCisgLi4uL21haW4vamF2YS9v cmcvYXBhY2hlL2NheWVubmUvQWN0aXZhdG9yLmphdmEgICAgfCAgIDQ0ICsrKysKKyAuLi4vZXh0 ZW50aW9ucy9tb2RlbGVyL1BsdWdpbkFjdGlvbk1hbmFnZXIuamF2YSAgICB8ICAgMjUgKysKKyAu Li4vZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbkFwcGxpY2F0aW9uLmphdmEgICAgICB8ICAgMjUg KysKKyAuLi4vY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvUGx1Z2luTWFpbi5qYXZhICAgICB8 ICAgMjkgKysrCisgLi4uL21vZGVsZXIvUGx1Z2luTW9kZWxlckNvbnRyb2xsZXIuamF2YSAgICAg ICAgICAgfCAgIDQ0ICsrKysKKyAuLi4vZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbk1vZGVsZXJG cmFtZS5qYXZhICAgICB8ICAgNzIgKysrKysrCisgLi4uL21vZGVsZXIvYWN0aW9uL1BsdWdpbkV4 aXRBY3Rpb24uamF2YSAgICAgICAgICAgfCAgIDE2ICsrCisgLi4uL21vZGVsZXIvYWN0aW9uL1Bs dWdpblByb2plY3RBY3Rpb24uamF2YSAgICAgICAgfCAgIDIwICsrCisgLi4uL2FwYWNoZS9jYXll bm5lL2xhdW5jaGVyL0VkaXRvckxhdW5jaGVyLmphdmEgICAgfCAgIDE5ICsrCisgLi4uL29yZy9h cGFjaGUvY2F5ZW5uZS9tb2RlbGVyL2FjdGlvbi9BY3Rpb25NYW5hZ2VyLmphdmEgIHwgICAxMiAr LQorIC4uLi9vcmcvYXBhY2hlL2NheWVubmUvbW9kZWxlci9BcHBsaWNhdGlvbi5qYXZhICAgIHwg ICAxMiArLQorIC4uLi9jYXllbm5lL21vZGVsZXIvQ2F5ZW5uZU1vZGVsZXJDb250cm9sbGVyLmph dmEgIHwgICAgNiArLQorIC4uLi9jYXllbm5lL21vZGVsZXIvQ2F5ZW5uZU1vZGVsZXJGcmFtZS5q YXZhICAgICAgIHwgICA1OCArKystLQorIC4uLi9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5l L21vZGVsZXIvTWFpbi5qYXZhIHwgICAgNiArLQorIC4uLi9hcGFjaGUvY2F5ZW5uZS9tb2RlbGVy L2FjdGlvbi9FeGl0QWN0aW9uLmphdmEgIHwgICAgOCArLQorIC4uLi9jYXllbm5lL21vZGVsZXIv YWN0aW9uL0dlbmVyYXRlQ29kZUFjdGlvbi5qYXZhIHwgICAxMCArCisgLi4uL2NheWVubmUvbW9k ZWxlci91dGlsL0NheWVubmVDb250cm9sbGVyLmphdmEgICAgfCAgICA0ICstCisgMjYgZmlsZXMg Y2hhbmdlZCwgOTM0IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi8uY2xhc3NwYXRo CisgY3JlYXRlIG1vZGUgMTAwNjQ0IG1vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1 Z2luLy5wcm9qZWN0CisgY3JlYXRlIG1vZGUgMTAwNjQ0IG1vZGVsZXIvY2F5ZW5uZS1tb2RlbGVy LWVjbGlwc2UtcGx1Z2luLy5zZXR0aW5ncy9vcmcuZWNsaXBzZS5qZHQuY29yZS5wcmVmcworIGNy ZWF0ZSBtb2RlIDEwMDY0NCBtb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi8u c2V0dGluZ3Mvb3JnLm1hdmVuLmlkZS5lY2xpcHNlLnByZWZzCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IG1vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luL01FVEEtSU5GL01BTklGRVNU Lk1GCisgY3JlYXRlIG1vZGUgMTAwNjQ0IG1vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2Ut cGx1Z2luL2J1aWxkLnByb3BlcnRpZXMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgbW9kZWxlci9jYXll bm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4vaWNvbnMvY2F5ZW5uZS5wbmcKKyBjcmVhdGUgbW9k ZSAxMDA2NDQgbW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4vcGx1Z2luLnht bAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBtb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBs dWdpbi9wb20ueG1sCisgY3JlYXRlIG1vZGUgMTAwNjQ0IG1vZGVsZXIvY2F5ZW5uZS1tb2RlbGVy LWVjbGlwc2UtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL0FjdGl2YXRv ci5qYXZhCisgY3JlYXRlIG1vZGUgMTAwNjQ0IG1vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlw c2UtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4dGVudGlvbnMvbW9k ZWxlci9QbHVnaW5BY3Rpb25NYW5hZ2VyLmphdmEKKyBjcmVhdGUgbW9kZSAxMDA2NDQgbW9kZWxl ci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hl L2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbkFwcGxpY2F0aW9uLmphdmEKKyBjcmVh dGUgbW9kZSAxMDA2NDQgbW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4vc3Jj L21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbk1h aW4uamF2YQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBtb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xp cHNlLXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21v ZGVsZXIvUGx1Z2luTW9kZWxlckNvbnRyb2xsZXIuamF2YQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBt b2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9h cGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvUGx1Z2luTW9kZWxlckZyYW1lLmphdmEK KyBjcmVhdGUgbW9kZSAxMDA2NDQgbW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVn aW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL2Fj dGlvbi9QbHVnaW5FeGl0QWN0aW9uLmphdmEKKyBjcmVhdGUgbW9kZSAxMDA2NDQgbW9kZWxlci9j YXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Nh eWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL2FjdGlvbi9QbHVnaW5Qcm9qZWN0QWN0aW9uLmphdmEK KyBjcmVhdGUgbW9kZSAxMDA2NDQgbW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVn aW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvbGF1bmNoZXIvRWRpdG9yTGF1bmNo ZXIuamF2YQorCitkaWZmIC0tZ2l0IGEvbW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1w bHVnaW4vLmNsYXNzcGF0aCBiL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2lu Ly5jbGFzc3BhdGgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5kZGE5ZWZh CistLS0gL2Rldi9udWxsCisrKysgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBs dWdpbi8uY2xhc3NwYXRoCitAQCAtMCwwICsxLDggQEAKKys8P3htbCB2ZXJzaW9uPSIxLjAiIGVu Y29kaW5nPSJVVEYtOCI/PgorKzxjbGFzc3BhdGg+CisrCTxjbGFzc3BhdGhlbnRyeSBraW5kPSJz cmMiIG91dHB1dD0idGFyZ2V0L2NsYXNzZXMiIHBhdGg9InNyYy9tYWluL2phdmEiLz4KKysJPGNs YXNzcGF0aGVudHJ5IGV4Y2x1ZGluZz0iKioiIGtpbmQ9InNyYyIgb3V0cHV0PSJ0YXJnZXQvY2xh c3NlcyIgcGF0aD0iaWNvbnMiLz4KKysJPGNsYXNzcGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0i b3JnLmVjbGlwc2UuamR0LmxhdW5jaGluZy5KUkVfQ09OVEFJTkVSL29yZy5lY2xpcHNlLmpkdC5p bnRlcm5hbC5kZWJ1Zy51aS5sYXVuY2hlci5TdGFuZGFyZFZNVHlwZS9KMlNFLTEuNSIvPgorKwk8 Y2xhc3NwYXRoZW50cnkga2luZD0iY29uIiBwYXRoPSJvcmcubWF2ZW4uaWRlLmVjbGlwc2UuTUFW RU4yX0NMQVNTUEFUSF9DT05UQUlORVIiLz4KKysJPGNsYXNzcGF0aGVudHJ5IGtpbmQ9Im91dHB1 dCIgcGF0aD0idGFyZ2V0L2NsYXNzZXMiLz4KKys8L2NsYXNzcGF0aD4KK2RpZmYgLS1naXQgYS9t b2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi8ucHJvamVjdCBiL21vZGVsZXIv Y2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLy5wcm9qZWN0CituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMC4uMWIzOTA2MworLS0tIC9kZXYvbnVsbAorKysrIGIvbW9kZWxl ci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4vLnByb2plY3QKK0BAIC0wLDAgKzEsMzQg QEAKKys8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorKzxwcm9qZWN0RGVz Y3JpcHRpb24+CisrCTxuYW1lPmNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbjwvbmFtZT4K KysJPGNvbW1lbnQ+PC9jb21tZW50PgorKwk8cHJvamVjdHM+CisrCTwvcHJvamVjdHM+CisrCTxi dWlsZFNwZWM+CisrCQk8YnVpbGRDb21tYW5kPgorKwkJCTxuYW1lPm9yZy5lY2xpcHNlLmpkdC5j b3JlLmphdmFidWlsZGVyPC9uYW1lPgorKwkJCTxhcmd1bWVudHM+CisrCQkJPC9hcmd1bWVudHM+ CisrCQk8L2J1aWxkQ29tbWFuZD4KKysJCTxidWlsZENvbW1hbmQ+CisrCQkJPG5hbWU+b3JnLmVj bGlwc2UucGRlLk1hbmlmZXN0QnVpbGRlcjwvbmFtZT4KKysJCQk8YXJndW1lbnRzPgorKwkJCTwv YXJndW1lbnRzPgorKwkJPC9idWlsZENvbW1hbmQ+CisrCQk8YnVpbGRDb21tYW5kPgorKwkJCTxu YW1lPm9yZy5lY2xpcHNlLnBkZS5TY2hlbWFCdWlsZGVyPC9uYW1lPgorKwkJCTxhcmd1bWVudHM+ CisrCQkJPC9hcmd1bWVudHM+CisrCQk8L2J1aWxkQ29tbWFuZD4KKysJCTxidWlsZENvbW1hbmQ+ CisrCQkJPG5hbWU+b3JnLm1hdmVuLmlkZS5lY2xpcHNlLm1hdmVuMkJ1aWxkZXI8L25hbWU+Cisr CQkJPGFyZ3VtZW50cz4KKysJCQk8L2FyZ3VtZW50cz4KKysJCTwvYnVpbGRDb21tYW5kPgorKwk8 L2J1aWxkU3BlYz4KKysJPG5hdHVyZXM+CisrCQk8bmF0dXJlPm9yZy5tYXZlbi5pZGUuZWNsaXBz ZS5tYXZlbjJOYXR1cmU8L25hdHVyZT4KKysJCTxuYXR1cmU+b3JnLmVjbGlwc2UuamR0LmNvcmUu amF2YW5hdHVyZTwvbmF0dXJlPgorKwkJPG5hdHVyZT5vcmcuZWNsaXBzZS5wZGUuUGx1Z2luTmF0 dXJlPC9uYXR1cmU+CisrCTwvbmF0dXJlcz4KKys8L3Byb2plY3REZXNjcmlwdGlvbj4KK2RpZmYg LS1naXQgYS9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi8uc2V0dGluZ3Mv b3JnLmVjbGlwc2UuamR0LmNvcmUucHJlZnMgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xp cHNlLXBsdWdpbi8uc2V0dGluZ3Mvb3JnLmVjbGlwc2UuamR0LmNvcmUucHJlZnMKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4xMzY0ZGUwCistLS0gL2Rldi9udWxsCisrKysg Yi9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi8uc2V0dGluZ3Mvb3JnLmVj bGlwc2UuamR0LmNvcmUucHJlZnMKK0BAIC0wLDAgKzEsMTIgQEAKKysjTW9uIEZlYiAwOCAxODow NzoyMSBFRVQgMjAxMAorK2VjbGlwc2UucHJlZmVyZW5jZXMudmVyc2lvbj0xCisrb3JnLmVjbGlw c2UuamR0LmNvcmUuY29tcGlsZXIuY29kZWdlbi5pbmxpbmVKc3JCeXRlY29kZT1lbmFibGVkCisr b3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIuY29kZWdlbi50YXJnZXRQbGF0Zm9ybT0xLjUK KytvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5jb2RlZ2VuLnVudXNlZExvY2FsPXByZXNl cnZlCisrb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIuY29tcGxpYW5jZT0xLjUKKytvcmcu ZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5kZWJ1Zy5saW5lTnVtYmVyPWdlbmVyYXRlCisrb3Jn LmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIuZGVidWcubG9jYWxWYXJpYWJsZT1nZW5lcmF0ZQor K29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLmRlYnVnLnNvdXJjZUZpbGU9Z2VuZXJhdGUK KytvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLmFzc2VydElkZW50aWZpZXI9 ZXJyb3IKKytvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLmVudW1JZGVudGlm aWVyPWVycm9yCisrb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIuc291cmNlPTEuNQorZGlm ZiAtLWdpdCBhL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLy5zZXR0aW5n cy9vcmcubWF2ZW4uaWRlLmVjbGlwc2UucHJlZnMgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1l Y2xpcHNlLXBsdWdpbi8uc2V0dGluZ3Mvb3JnLm1hdmVuLmlkZS5lY2xpcHNlLnByZWZzCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMDVmM2YzZQorLS0tIC9kZXYvbnVsbAor KysrIGIvbW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4vLnNldHRpbmdzL29y Zy5tYXZlbi5pZGUuZWNsaXBzZS5wcmVmcworQEAgLTAsMCArMSw5IEBACisrI01vbiBGZWIgMDgg MTc6MTg6MDIgRUVUIDIwMTAKKythY3RpdmVQcm9maWxlcz0KKytlY2xpcHNlLnByZWZlcmVuY2Vz LnZlcnNpb249MQorK2Z1bGxCdWlsZEdvYWxzPXByb2Nlc3MtdGVzdC1yZXNvdXJjZXMKKytpbmNs dWRlTW9kdWxlcz1mYWxzZQorK3Jlc29sdmVXb3Jrc3BhY2VQcm9qZWN0cz10cnVlCisrcmVzb3Vy Y2VGaWx0ZXJHb2Fscz1wcm9jZXNzLXJlc291cmNlcyByZXNvdXJjZXNcOnRlc3RSZXNvdXJjZXMK Kytza2lwQ29tcGlsZXJQbHVnaW49dHJ1ZQorK3ZlcnNpb249MQorZGlmZiAtLWdpdCBhL21vZGVs ZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luL01FVEEtSU5GL01BTklGRVNULk1GIGIv bW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4vTUVUQS1JTkYvTUFOSUZFU1Qu TUYKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi43NWM3MzZjCistLS0gL2Rl di9udWxsCisrKysgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi9NRVRB LUlORi9NQU5JRkVTVC5NRgorQEAgLTAsMCArMSwyMTggQEAKKytNYW5pZmVzdC1WZXJzaW9uOiAx LjAKKytCdWlsdC1CeToga3NlbmlhCisrQnVuZGxlLUFjdGl2YXRvcjogb3JnLmFwYWNoZS5jYXll bm5lLkFjdGl2YXRvcgorK0NyZWF0ZWQtQnk6IEFwYWNoZSBNYXZlbiBCdW5kbGUgUGx1Z2luCisr QnVuZGxlLUxpY2Vuc2U6IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIu MC50eHQKKytJbXBvcnQtUGFja2FnZTogLixqYXZheC5hY2Nlc3NpYmlsaXR5LGphdmF4LmNyeXB0 byxqYXZheC5jcnlwdG8uc3BlYyxqCisrIGF2YXguaW1hZ2VpbyxqYXZheC5tYW5hZ2VtZW50LGph dmF4Lm5hbWluZyxqYXZheC5uYW1pbmcuZGlyZWN0b3J5LGphdgorKyBheC5uYW1pbmcuc3BpLGph dmF4Lm5ldCxqYXZheC5uZXQuc3NsLGphdmF4LnNlY3VyaXR5LmNlcnQsamF2YXguc2VydmwKKysg ZXQsamF2YXguc2VydmxldC5odHRwLGphdmF4LnNlcnZsZXQuanNwLGphdmF4LnNlcnZsZXQuanNw LnRhZ2V4dCxqYXZhCisrIHguc3FsLGphdmF4LnN3aW5nLGphdmF4LnN3aW5nLmJvcmRlcixqYXZh eC5zd2luZy5ldmVudCxqYXZheC5zd2luZy5maQorKyBsZWNob29zZXIsamF2YXguc3dpbmcucGxh ZixqYXZheC5zd2luZy5wbGFmLmJhc2ljLGphdmF4LnN3aW5nLnBsYWYubWUKKysgdGFsLGphdmF4 LnN3aW5nLnRhYmxlLGphdmF4LnN3aW5nLnRleHQsamF2YXguc3dpbmcudGV4dC5ydGYsamF2YXgu c3dpCisrIG5nLnRyZWUsamF2YXguc3dpbmcudW5kbyxqYXZheC54bWwucGFyc2VycyxqYXZheC54 bWwudHJhbnNmb3JtLGphdmF4LgorKyB4bWwudHJhbnNmb3JtLmRvbSxqYXZheC54bWwudHJhbnNm b3JtLnNheCxqYXZheC54bWwudHJhbnNmb3JtLnN0cmVhbSwKKysganVuaXQuZnJhbWV3b3JrLGp1 bml0LnN3aW5ndWksanVuaXQudGV4dHVpLG9yZy5hcGFjaGUubG9nNGosb3JnLmFwYWNoCisrIGUu bG9nNGoubmV0LG9yZy5hcGFjaGUudG9vbHMuYW50LG9yZy5hcGFjaGUudG9vbHMuYW50LmZpbHRl cnMsb3JnLmFwYQorKyBjaGUudG9vbHMuYW50LnRhc2tkZWZzLG9yZy5hcGFjaGUudG9vbHMuYW50 LnR5cGVzLG9yZy5hcGFjaGUudG9vbHMuYW4KKysgdC50eXBlcy5zZWxlY3RvcnMsb3JnLmFwYWNo ZS50b29scy5hbnQudXRpbCxvcmcuZWNsaXBzZS5jb3JlLmV4cHJlc3NpCisrIG9ucyxvcmcuZWNs aXBzZS5jb3JlLmZpbGVzeXN0ZW0sb3JnLmVjbGlwc2UuY29yZS5maWxlc3lzdGVtLnByb3ZpZGVy LAorKyBvcmcuZWNsaXBzZS5jb3JlLmludGVybmFsLnByZWZlcmVuY2VzLG9yZy5lY2xpcHNlLmNv cmUuaW50ZXJuYWwucnVudGkKKysgbWU7Y29tbW9uPXNwbGl0LG9yZy5lY2xpcHNlLmNvcmUucmVz b3VyY2VzLG9yZy5lY2xpcHNlLmNvcmUucnVudGltZTtyCisrIGVnaXN0cnk9c3BsaXQsb3JnLmVj bGlwc2UuY29yZS5ydW50aW1lLmNvbnRlbnQsb3JnLmVjbGlwc2UuY29yZS5ydW50aQorKyBtZS5q b2JzLG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5wcmVmZXJlbmNlcyxvcmcuZWNsaXBzZS5kZWJ1 Zy5jb3JlLG8KKysgcmcuZWNsaXBzZS5qZHQuY29yZSxvcmcuZWNsaXBzZS5qZHQubGF1bmNoaW5n LG9yZy5lY2xpcHNlLmpmYWNlLnByZWZlCisrIHJlbmNlLG9yZy5lY2xpcHNlLmpmYWNlLnJlc291 cmNlLG9yZy5lY2xpcHNlLm9zZ2kuc2VydmljZS5yZXNvbHZlcjt2ZQorKyByc2lvbj0iMS4xIixv cmcuZWNsaXBzZS5vc2dpLnV0aWw7dmVyc2lvbj0iMS4xIixvcmcuZWNsaXBzZS51aSxvcmcuZWMK KysgbGlwc2UudWkuaWRlLG9yZy5lY2xpcHNlLnVpLmludGVybmFsLnV0aWwsb3JnLmVjbGlwc2Uu dWkucGx1Z2luLG9yZy5lCisrIGNsaXBzZS51cGRhdGUuY29uZmlndXJhdG9yLG9yZy5vc2dpLmZy YW1ld29yazt2ZXJzaW9uPSIxLjQiLG9yZy5vc2dpLgorKyBzZXJ2aWNlLnByZWZzO3ZlcnNpb249 IjEuMSIsb3JnLnczYy5kb20sb3JnLnhtbC5zYXgsb3JnLnhtbC5zYXguaGVscGUKKysgcnMKKytF bWJlZC1TdHJpcEdyb3VwOiB0cnVlCisrQm5kLUxhc3RNb2RpZmllZDogMTI2NTk2NTM0NTc3Mgor K0J1bmRsZS1WZXJzaW9uOiAzLjEuMC5TTkFQU0hPVAorK0lnbm9yZS1QYWNrYWdlOiBvcmcuYXBh Y2hlLmF2YWxvbi5mcmFtZXdvcmsubG9nZ2VyLG9yZy5hcGFjaGUuYmNlbC5nZW4KKysgZXJpYyxF RFUub3N3ZWdvLmNzLmRsLnV0aWwuY29uY3VycmVudCxvcmcuamRvbSxjb20uc3VuLmphdmEuc3dp bmcucGxhCisrIGYud2luZG93cyxvcmcuYXBhY2hlLmJjZWwuY2xhc3NmaWxlLGNvbS53ZXJrZW4u eHBhdGgsb3JnLmpkb20uaW5wdXQsYgorKyBzaCxvcmcuaml2ZXNvZnR3YXJlLnNtYWNreC5kZWJ1 Z2dlcixvcmcuamRvbS5vdXRwdXQsamF2YXguam1zLHN1bi5zZWMKKysgdXJpdHkuYWN0aW9uCisr QnVuZGxlLU5hbWU6IENheWVubmUgTW9kZWxlciBQbHVnaW4gZm9yIEVjbGlwc2UKKytCdW5kbGUt RGVzY3JpcHRpb246IEFwYWNoZSBDYXllbm5lIGlzIGEgcG93ZXJmdWwsIGZ1bGwtZmVhdHVyZWQs IGFuZCBvCisrIHBlbiBzb3VyY2UJCUphdmEgZnJhbWV3b3JrLCBwbHVzIGRldmVsb3BlciB0b29s cywgdGhhdCBwcm92aWRlcyBPYmplYworKyB0CQlSZWxhdGlvbmFsIE1hcHBpbmcgKE9STSkgYW5k IHJlbW90aW5nIHNlcnZpY2VzIGZvciBwZXJzaXN0ZW5jZS4JCVQKKysgaGUgc29mdHdhcmUgaXMg bGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLgorK0J1bmRsZS1DbGFzc1BhdGg6IC4s dGFyZ2V0L2RlcGVuZGVuY3kvamR0LTMuMy4wLXYyMDA3MDYwNy0xMzAwLmphcix0YXIKKysgZ2V0 L2RlcGVuZGVuY3kvamdyb3Vwcy1hbGwtMi4yLjcuamFyLHRhcmdldC9kZXBlbmRlbmN5L2luZmxl Y3Rvci0wLjcuCisrIDAuamFyLHRhcmdldC9kZXBlbmRlbmN5L2NheWVubmUtbW9kZWxlci0zLjEt U05BUFNIT1QuamFyLHRhcmdldC9kZXBlbgorKyBkZW5jeS9jb21wYXRpYmlsaXR5LTMuMS4yMDAt djIwMDcwNTAyLmphcix0YXJnZXQvZGVwZW5kZW5jeS9zbWFjay0yLjIKKysgLjEuamFyLHRhcmdl dC9kZXBlbmRlbmN5L2hzcWxkYi0xLjguMC40Lmphcix0YXJnZXQvZGVwZW5kZW5jeS9qZWRpdC1z CisrIHludGF4LTIuMi4yLmphcix0YXJnZXQvZGVwZW5kZW5jeS9sb29rcy0xLjMuMS5qYXIsdGFy Z2V0L2RlcGVuZGVuY3kvYworKyBheWVubmUtamRrMS41LXVucHVibGlzaGVkLTMuMS1TTkFQU0hP VC5qYXIsdGFyZ2V0L2RlcGVuZGVuY3kvY29tbW9ucy0KKysgY29sbGVjdGlvbnMtMy4xLmphcix0 YXJnZXQvZGVwZW5kZW5jeS9jYXllbm5lLXdvY29tcGF0LXVucHVibGlzaGVkLTMuCisrIDEtU05B UFNIT1QuamFyLHRhcmdldC9kZXBlbmRlbmN5L2NheWVubmUtcHJvamVjdC11bnB1Ymxpc2hlZC0z LjEtU05BUAorKyBTSE9ULmphcix0YXJnZXQvZGVwZW5kZW5jeS9jYXllbm5lLXRvb2xzLTMuMS1T TkFQU0hPVC5qYXIsdGFyZ2V0L2RlcGUKKysgbmRlbmN5L2FzaHdvb2QtMi4wLmphcix0YXJnZXQv ZGVwZW5kZW5jeS9jb21tb25zLWRiY3AtMS4yLjEuamFyLHRhcmdlCisrIHQvZGVwZW5kZW5jeS9j YXllbm5lLWRpLXVucHVibGlzaGVkLTMuMS1TTkFQU0hPVC5qYXIsdGFyZ2V0L2RlcGVuZGVuYwor KyB5L3ZwcC0yLjIuMS5qYXIsdGFyZ2V0L2RlcGVuZGVuY3kvY29tbW9ucy1sb2dnaW5nLTEuMS5q YXIsdGFyZ2V0L2RlcGUKKysgbmRlbmN5L3Jlc291cmNlcy0zLjMuMC12MjAwNzA2MDQuamFyLHRh cmdldC9kZXBlbmRlbmN5L29zY2FjaGUtMi4zLjIuCisrIGphcix0YXJnZXQvZGVwZW5kZW5jeS91 aS0zLjMuMC1JMjAwNzA2MTQtMDgwMC5qYXIsdGFyZ2V0L2RlcGVuZGVuY3kvbworKyBnbmwtMi42 LjcuamFyLHRhcmdldC9kZXBlbmRlbmN5L3Njb3BlbXZjLTEuMC4xLmphcix0YXJnZXQvZGVwZW5k ZW5jeS8KKysgamdyYXBoLTUuMTMuMC4wLmphcix0YXJnZXQvZGVwZW5kZW5jeS9mb3Jtcy0xLjAu NS5qYXIsdGFyZ2V0L2RlcGVuZGVuCisrIGN5L2NvbW1vbnMtcG9vbC0xLjIuamFyLHRhcmdldC9k ZXBlbmRlbmN5L3NtYWNreC0yLjIuMS5qYXIsdGFyZ2V0L2RlcAorKyBlbmRlbmN5L3Jlc2luLWhl c3NpYW4tMy4xLjYuamFyCisrQnVpbGQtSmRrOiAxLjUuMF8xOAorK1ByaXZhdGUtUGFja2FnZTog YW50X3Rhc2tzLGJpbixjaGVhdHNoZWV0cyxjb20uY2F1Y2hvLmJ1cmxhcC5jbGllbnQsY28KKysg bS5jYXVjaG8uYnVybGFwLmlvLGNvbS5jYXVjaG8uYnVybGFwLnNlcnZlcixjb20uY2F1Y2hvLmhl c3NpYW4sY29tLmNhCisrIHVjaG8uaGVzc2lhbi5jbGllbnQsY29tLmNhdWNoby5oZXNzaWFuLmlv LGNvbS5jYXVjaG8uaGVzc2lhbi5qbXgsY29tLgorKyBjYXVjaG8uaGVzc2lhbi5taWNybyxjb20u Y2F1Y2hvLmhlc3NpYW4ubXV4LGNvbS5jYXVjaG8uaGVzc2lhbi5zZWN1cmkKKysgdHksY29tLmNh dWNoby5oZXNzaWFuLnNlcnZlcixjb20uY2F1Y2hvLmhlc3NpYW4udGVzdCxjb20uY2F1Y2hvLmhl c3NpCisrIGFuLnV0aWwsY29tLmNhdWNoby5zZXJ2aWNlcy5jbGllbnQsY29tLmNhdWNoby5zZXJ2 aWNlcy5tZXNzYWdlLGNvbS5jYQorKyB1Y2hvLnNlcnZpY2VzLm5hbWUsY29tLmNhdWNoby5zZXJ2 aWNlcy5zZXJ2ZXIsY29tLmpjcmFmdC5qemxpYixjb20uamcKKysgb29kaWVzLmZvcm1zLmJ1aWxk ZXIsY29tLmpnb29kaWVzLmZvcm1zLmRlYnVnLGNvbS5qZ29vZGllcy5mb3Jtcy5mYWN0CisrIG9y aWVzLGNvbS5qZ29vZGllcy5mb3Jtcy5sYXlvdXQsY29tLmpnb29kaWVzLmZvcm1zLnV0aWwsY29t Lmpnb29kaWVzLgorKyBsb29rcyxjb20uamdvb2RpZXMubG9va3MuY29tbW9uLGNvbS5qZ29vZGll cy5sb29rcy5wbGFzdGljLGNvbS5qZ29vZGkKKysgZXMubG9va3MucGxhc3RpYy5pY29ucyxjb20u amdvb2RpZXMubG9va3MucGxhc3RpYy50aGVtZSxjb20uamdvb2RpZXMuCisrIGxvb2tzLndpbmRv d3MsY29tLmpnb29kaWVzLmxvb2tzLndpbmRvd3MuaWNvbnMsY29tLmpnb29kaWVzLmxvb2tzLndp bgorKyBkb3dzLmljb25zLnhwLGNvbS5qZ3JhcGguYWxnZWJyYSxjb20uamdyYXBoLmFsZ2VicmEu Y29zdCxjb20uamdyYXBoLmMKKysgb21wb25lbnRzLmxhYmVscyxjb20uamdyYXBoLmlvLnN2Zyxj b20uamdyYXBoLmxheW91dCxjb20uamdyYXBoLmxheW91CisrIHQuZ3JhcGgsY29tLmpncmFwaC5s YXlvdXQuaGllcmFyY2hpY2FsLGNvbS5qZ3JhcGgubGF5b3V0LmhpZXJhcmNoaWNhbAorKyAubW9k ZWwsY29tLmpncmFwaC5sYXlvdXQub3JnYW5pYyxjb20uamdyYXBoLmxheW91dC5yb3V0aW5nLGNv bS5qZ3JhcGgKKysgLmxheW91dC5zaW1wbGUsY29tLmpncmFwaC5sYXlvdXQudHJlZSxjb20uamdy YXBoLm5hdmlnYXRpb24sY29tLmpncmFwCisrIGgudXRpbCxjb20ub3BlbnN5bXBob255Lm9zY2Fj aGUuYmFzZSxjb20ub3BlbnN5bXBob255Lm9zY2FjaGUuYmFzZS5hbAorKyBnb3JpdGhtLGNvbS5v cGVuc3ltcGhvbnkub3NjYWNoZS5iYXNlLmV2ZW50cyxjb20ub3BlbnN5bXBob255Lm9zY2FjaGUK KysgLmJhc2UucGVyc2lzdGVuY2UsY29tLm9wZW5zeW1waG9ueS5vc2NhY2hlLmV4dHJhLGNvbS5v cGVuc3ltcGhvbnkub3NjCisrIGFjaGUuZ2VuZXJhbCxjb20ub3BlbnN5bXBob255Lm9zY2FjaGUu cGx1Z2lucy5jbHVzdGVyc3VwcG9ydCxjb20ub3BlbgorKyBzeW1waG9ueS5vc2NhY2hlLnBsdWdp bnMuZGlza3BlcnNpc3RlbmNlLGNvbS5vcGVuc3ltcGhvbnkub3NjYWNoZS51dGkKKysgbCxjb20u b3BlbnN5bXBob255Lm9zY2FjaGUud2ViLGNvbS5vcGVuc3ltcGhvbnkub3NjYWNoZS53ZWIuZmls dGVyLGNvCisrIG0ub3BlbnN5bXBob255Lm9zY2FjaGUud2ViLnRhZyxmb3VuZHJ5bG9naWMudnBw LGZvdW5kcnlsb2dpYy52cHAubG9nLAorKyBpY29ucyxpY29ucy5mdWxsLmRsY2wxNixpY29ucy5m dWxsLmR0b29sMTYsaWNvbnMuZnVsbC5lbGNsMTYsaWNvbnMuZnUKKysgbGwuZXRvb2wxNixpY29u cy5mdWxsLmV2aWV3MTYsaWNvbnMuZnVsbC5vYmoxNixpY29ucy5mdWxsLm92cjE2LGljb25zCisr IC5mdWxsLnBvaW50ZXIsaWNvbnMuZnVsbC5wcm9ncmVzcyxpY29ucy5mdWxsLndpemJhbixpbWFn ZXMudG9waWNsYWJlbAorKyAsaW50cm8saW50cm8uY3NzLG9nbmwsb3JnLmFwYWNoZS5jYXllbm5l LG9yZy5hcGFjaGUuY2F5ZW5uZS5hY2Nlc3Msb3IKKysgZy5hcGFjaGUuY2F5ZW5uZS5hY2Nlc3Mu ZGJzeW5jLG9yZy5hcGFjaGUuY2F5ZW5uZS5hY2Nlc3MuZXZlbnQsb3JnLmFwCisrIGFjaGUuY2F5 ZW5uZS5hY2Nlc3MuamRiYyxvcmcuYXBhY2hlLmNheWVubmUuYWNjZXNzLnNlbGVjdCxvcmcuYXBh Y2hlLgorKyBjYXllbm5lLmFjY2Vzcy50cmFucyxvcmcuYXBhY2hlLmNheWVubmUuYWNjZXNzLnR5 cGVzLG9yZy5hcGFjaGUuY2F5ZW4KKysgbmUuYWNjZXNzLnV0aWwsb3JnLmFwYWNoZS5jYXllbm5l LmNhY2hlLG9yZy5hcGFjaGUuY2F5ZW5uZS5jb25mLG9yZy5hCisrIHBhY2hlLmNheWVubmUuY29u ZmlndXJhdGlvbixvcmcuYXBhY2hlLmNheWVubmUuY29uZmlndXJhdGlvbi5ldmVudCxvcgorKyBn LmFwYWNoZS5jYXllbm5lLmNvbm4sb3JnLmFwYWNoZS5jYXllbm5lLmRiYSxvcmcuYXBhY2hlLmNh eWVubmUuZGJhLmQKKysgYjIsb3JnLmFwYWNoZS5jYXllbm5lLmRiYS5kZXJieSxvcmcuYXBhY2hl LmNheWVubmUuZGJhLmZyb250YmFzZSxvcmcuCisrIGFwYWNoZS5jYXllbm5lLmRiYS5oMixvcmcu YXBhY2hlLmNheWVubmUuZGJhLmhzcWxkYixvcmcuYXBhY2hlLmNheWVubgorKyBlLmRiYS5pbmdy ZXMsb3JnLmFwYWNoZS5jYXllbm5lLmRiYS5teXNxbCxvcmcuYXBhY2hlLmNheWVubmUuZGJhLm9w ZW4KKysgYmFzZSxvcmcuYXBhY2hlLmNheWVubmUuZGJhLm9yYWNsZSxvcmcuYXBhY2hlLmNheWVu bmUuZGJhLnBvc3RncmVzLG9yCisrIGcuYXBhY2hlLmNheWVubmUuZGJhLnNxbGl0ZSxvcmcuYXBh Y2hlLmNheWVubmUuZGJhLnNxbHNlcnZlcixvcmcuYXBhYworKyBoZS5jYXllbm5lLmRiYS5zeWJh c2Usb3JnLmFwYWNoZS5jYXllbm5lLmRpLG9yZy5hcGFjaGUuY2F5ZW5uZS5kaS5zcGkKKysgLG9y Zy5hcGFjaGUuY2F5ZW5uZS5lamJxbCxvcmcuYXBhY2hlLmNheWVubmUuZWpicWwucGFyc2VyLG9y Zy5hcGFjaGUuCisrIGNheWVubmUuZXZlbnQsb3JnLmFwYWNoZS5jYXllbm5lLmV4cCxvcmcuYXBh Y2hlLmNheWVubmUuZXhwLnBhcnNlcixvcgorKyBnLmFwYWNoZS5jYXllbm5lLmV4dGVudGlvbnMu bW9kZWxlcixvcmcuYXBhY2hlLmNheWVubmUuZXh0ZW50aW9ucy5tb2QKKysgZWxlci5hY3Rpb24s b3JnLmFwYWNoZS5jYXllbm5lLmdlbixvcmcuYXBhY2hlLmNheWVubmUuZ3JhcGgsb3JnLmFwYWNo CisrIGUuY2F5ZW5uZS5sYXVuY2hlcixvcmcuYXBhY2hlLmNheWVubmUubWFwLG9yZy5hcGFjaGUu Y2F5ZW5uZS5tYXAuZXZlbgorKyB0LG9yZy5hcGFjaGUuY2F5ZW5uZS5tYXAubmFtaW5nLG9yZy5h cGFjaGUuY2F5ZW5uZS5tZXJnZSxvcmcuYXBhY2hlLmMKKysgYXllbm5lLm1vZGVsZXIsb3JnLmFw YWNoZS5jYXllbm5lLm1vZGVsZXIuYWN0aW9uLG9yZy5hcGFjaGUuY2F5ZW5uZS5tCisrIG9kZWxl ci5kaWFsb2csb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuZGlhbG9nLmF1dG9yZWxhdGlvbnNo aXAsb3JnLgorKyBhcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmRpYWxvZy5jb2RlZ2VuLG9yZy5hcGFj aGUuY2F5ZW5uZS5tb2RlbGVyLmRpYWwKKysgb2cuZGF0YWRvbWFpbixvcmcuYXBhY2hlLmNheWVu bmUubW9kZWxlci5kaWFsb2cuZGF0YW1hcCxvcmcuYXBhY2hlLmNhCisrIHllbm5lLm1vZGVsZXIu ZGlhbG9nLmRiLG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmRpYWxvZy5vYmplbnRpdHksbwor KyByZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmRpYWxvZy5wcmVmLG9yZy5hcGFjaGUuY2F5ZW5u ZS5tb2RlbGVyLmRpYWwKKysgb2cucXVlcnksb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuZGlh bG9nLnZhbGlkYXRvcixvcmcuYXBhY2hlLmNheWVuCisrIG5lLm1vZGVsZXIuZWRpdG9yLG9yZy5h cGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmVkaXRvci5kYXRhbm9kZSxvcmcuYXBhYworKyBoZS5jYXll bm5lLm1vZGVsZXIuZWRpdG9yLmRiZW50aXR5LG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmV2 ZW50LG8KKysgcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5ncmFwaCxvcmcuYXBhY2hlLmNheWVu bmUubW9kZWxlci5ncmFwaC5hY3RpCisrIG9uLG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmlt YWdlcyxvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5wcmVmLAorKyBvcmcuYXBhY2hlLmNheWVu bmUubW9kZWxlci51bmRvLG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLnV0aWwsb3JnLmEKKysg cGFjaGUuY2F5ZW5uZS5tb2RlbGVyLnV0aWwuY29tYm8sb3JnLmFwYWNoZS5jYXllbm5lLnByZWYs b3JnLmFwYWNoZS5jCisrIGF5ZW5uZS5wcm9qZWN0LG9yZy5hcGFjaGUuY2F5ZW5uZS5wcm9qZWN0 LnZhbGlkYXRvcixvcmcuYXBhY2hlLmNheWVubgorKyBlLnByb2plY3QyLG9yZy5hcGFjaGUuY2F5 ZW5uZS5wcm9qZWN0Mi51cGdyYWRlLG9yZy5hcGFjaGUuY2F5ZW5uZS5wcm8KKysgamVjdDIudXBn cmFkZS52NixvcmcuYXBhY2hlLmNheWVubmUucHJvamVjdDIudmFsaWRhdGUsb3JnLmFwYWNoZS5j YXllCisrIG5uZS5xdWVyeSxvcmcuYXBhY2hlLmNheWVubmUucmVmbGVjdCxvcmcuYXBhY2hlLmNh eWVubmUucmVmbGVjdC5nZW5lcgorKyBpYyxvcmcuYXBhY2hlLmNheWVubmUucmVmbGVjdC52YWx1 ZWhvbGRlcixvcmcuYXBhY2hlLmNheWVubmUucmVtb3RlLG8KKysgcmcuYXBhY2hlLmNheWVubmUu cmVtb3RlLmhlc3NpYW4sb3JnLmFwYWNoZS5jYXllbm5lLnJlbW90ZS5oZXNzaWFuLnNlCisrIHJ2 aWNlLG9yZy5hcGFjaGUuY2F5ZW5uZS5yZW1vdGUuc2VydmljZSxvcmcuYXBhY2hlLmNheWVubmUu cmVzb3VyY2UsbworKyByZy5hcGFjaGUuY2F5ZW5uZS5ydW50aW1lLG9yZy5hcGFjaGUuY2F5ZW5u ZS5zY2hlbWEuMy4wLG9yZy5hcGFjaGUuY2EKKysgeWVubmUuc3dpbmcsb3JnLmFwYWNoZS5jYXll bm5lLnN3aW5nLmNvbXBvbmVudHMudGV4dHBhbmUsb3JnLmFwYWNoZS5jCisrIGF5ZW5uZS5zd2lu Zy5jb21wb25lbnRzLnRleHRwYW5lLnN0eWxlLG9yZy5hcGFjaGUuY2F5ZW5uZS5zd2luZy5jb21w bworKyBuZW50cy50ZXh0cGFuZS5zeW50YXgsb3JnLmFwYWNoZS5jYXllbm5lLnN3aW5nLmNvbnRy b2wsb3JnLmFwYWNoZS5jYXkKKysgZW5uZS50b29scyxvcmcuYXBhY2hlLmNheWVubmUudXRpbCxv cmcuYXBhY2hlLmNheWVubmUudmFsaWRhdGlvbixvcmcuCisrIGFwYWNoZS5jYXllbm5lLndvY29t cGF0LG9yZy5hcGFjaGUuY2F5ZW5uZS53b2NvbXBhdC5wYXJzZXIsb3JnLmFwYWNoZQorKyAuY2F5 ZW5uZS54bWwsb3JnLmFwYWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLG9yZy5hcGFjaGUuY29tbW9u cy5jb2xsZWMKKysgdGlvbnMuYmFnLG9yZy5hcGFjaGUuY29tbW9ucy5jb2xsZWN0aW9ucy5iaWRp bWFwLG9yZy5hcGFjaGUuY29tbW9ucy5jCisrIG9sbGVjdGlvbnMuYnVmZmVyLG9yZy5hcGFjaGUu Y29tbW9ucy5jb2xsZWN0aW9ucy5jb2xsZWN0aW9uLG9yZy5hcGFjaAorKyBlLmNvbW1vbnMuY29s bGVjdGlvbnMuY29tcGFyYXRvcnMsb3JnLmFwYWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLmZ1bmMK KysgdG9ycyxvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMuaXRlcmF0b3JzLG9yZy5hcGFj aGUuY29tbW9ucy5jb2xsCisrIGVjdGlvbnMua2V5dmFsdWUsb3JnLmFwYWNoZS5jb21tb25zLmNv bGxlY3Rpb25zLmxpc3Qsb3JnLmFwYWNoZS5jb21tbworKyBucy5jb2xsZWN0aW9ucy5tYXAsb3Jn LmFwYWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLnNldCxvcmcuYXBhY2hlLmNvbW0KKysgb25zLmRi Y3Asb3JnLmFwYWNoZS5jb21tb25zLmRiY3AuY3Bkc2FkYXB0ZXIsb3JnLmFwYWNoZS5jb21tb25z LmRiY3AuCisrIGRhdGFzb3VyY2VzLG9yZy5hcGFjaGUuY29tbW9ucy5qb2NsLG9yZy5hcGFjaGUu Y29tbW9ucy5sb2dnaW5nLG9yZy5hcAorKyBhY2hlLmNvbW1vbnMubG9nZ2luZy5pbXBsLG9yZy5h cGFjaGUuY29tbW9ucy5wb29sLG9yZy5hcGFjaGUuY29tbW9ucy4KKysgcG9vbC5pbXBsLG9yZy5h cGFjaGUubG9nLG9yZy5hcGFjaGUubG9nLmZpbHRlcixvcmcuYXBhY2hlLmxvZy5mb3JtYXQsCisr IG9yZy5hcGFjaGUubG9nLm91dHB1dCxvcmcuYXBhY2hlLmxvZy5vdXRwdXQuZGIsb3JnLmFwYWNo ZS5sb2cub3V0cHV0LgorKyBpbyxvcmcuYXBhY2hlLmxvZy5vdXRwdXQuaW8ucm90YXRlLG9yZy5h cGFjaGUubG9nLm91dHB1dC5qbXMsb3JnLmFwYWMKKysgaGUubG9nLm91dHB1dC5uZXQsb3JnLmFw YWNoZS5sb2cudXRpbCxvcmcuYXBhY2hlLm9yby5pbyxvcmcuYXBhY2hlLm9yCisrIG8udGV4dCxv cmcuYXBhY2hlLm9yby50ZXh0LmF3ayxvcmcuYXBhY2hlLm9yby50ZXh0LnBlcmwsb3JnLmFwYWNo ZS5vcgorKyBvLnRleHQucmVnZXgsb3JnLmFwYWNoZS5vcm8udXRpbCxvcmcuYXBhY2hlLnZlbG9j aXR5LG9yZy5hcGFjaGUudmVsb2MKKysgaXR5LmFuYWtpYSxvcmcuYXBhY2hlLnZlbG9jaXR5LmFw cCxvcmcuYXBhY2hlLnZlbG9jaXR5LmFwcC5ldmVudCxvcmcuCisrIGFwYWNoZS52ZWxvY2l0eS5h cHAudG9vbHMsb3JnLmFwYWNoZS52ZWxvY2l0eS5jb250ZXh0LG9yZy5hcGFjaGUudmVsbworKyBj aXR5LmNvbnZlcnQsb3JnLmFwYWNoZS52ZWxvY2l0eS5leGNlcHRpb24sb3JnLmFwYWNoZS52ZWxv Y2l0eS5pbyxvcmcKKysgLmFwYWNoZS52ZWxvY2l0eS5ydW50aW1lLG9yZy5hcGFjaGUudmVsb2Np dHkucnVudGltZS5jb21waWxlcixvcmcuYXBhCisrIGNoZS52ZWxvY2l0eS5ydW50aW1lLmNvbmZp Z3VyYXRpb24sb3JnLmFwYWNoZS52ZWxvY2l0eS5ydW50aW1lLmRlZmF1bAorKyB0cyxvcmcuYXBh Y2hlLnZlbG9jaXR5LnJ1bnRpbWUuZGlyZWN0aXZlLG9yZy5hcGFjaGUudmVsb2NpdHkucnVudGlt ZS4KKysgZXhjZXB0aW9uLG9yZy5hcGFjaGUudmVsb2NpdHkucnVudGltZS5sb2csb3JnLmFwYWNo ZS52ZWxvY2l0eS5ydW50aW1lCisrIC5wYXJzZXIsb3JnLmFwYWNoZS52ZWxvY2l0eS5ydW50aW1l LnBhcnNlci5ub2RlLG9yZy5hcGFjaGUudmVsb2NpdHkucgorKyB1bnRpbWUucmVzb3VyY2Usb3Jn LmFwYWNoZS52ZWxvY2l0eS5ydW50aW1lLnJlc291cmNlLmxvYWRlcixvcmcuYXBhY2gKKysgZS52 ZWxvY2l0eS5ydW50aW1lLnZpc2l0b3Isb3JnLmFwYWNoZS52ZWxvY2l0eS5zZXJ2bGV0LG9yZy5h cGFjaGUudmVsCisrIG9jaXR5LnRlc3Qsb3JnLmFwYWNoZS52ZWxvY2l0eS50ZXN0Lm1pc2Msb3Jn LmFwYWNoZS52ZWxvY2l0eS50ZXN0LnBybworKyB2aWRlcixvcmcuYXBhY2hlLnZlbG9jaXR5LnRl c3QudmlldyxvcmcuYXBhY2hlLnZlbG9jaXR5LnRleGVuLG9yZy5hcGEKKysgY2hlLnZlbG9jaXR5 LnRleGVuLmFudCxvcmcuYXBhY2hlLnZlbG9jaXR5LnRleGVuLmRlZmF1bHRzLG9yZy5hcGFjaGUu CisrIHZlbG9jaXR5LnRleGVuLnV0aWwsb3JnLmFwYWNoZS52ZWxvY2l0eS51dGlsLG9yZy5hcGFj aGUudmVsb2NpdHkudXRpbAorKyAuaW50cm9zcGVjdGlvbixvcmcuZWNsaXBzZS5jb3JlLmJvb3Qs b3JnLmVjbGlwc2UuY29yZS5pbnRlcm5hbC5ib290LG8KKysgcmcuZWNsaXBzZS5jb3JlLmludGVy bmFsLmNvbXBhdGliaWxpdHksb3JnLmVjbGlwc2UuY29yZS5pbnRlcm5hbC5kdHJlCisrIGUsb3Jn LmVjbGlwc2UuY29yZS5pbnRlcm5hbC5ldmVudHMsb3JnLmVjbGlwc2UuY29yZS5pbnRlcm5hbC5s b2NhbHN0bworKyByZSxvcmcuZWNsaXBzZS5jb3JlLmludGVybmFsLm1vZGVsLG9yZy5lY2xpcHNl LmNvcmUuaW50ZXJuYWwucGx1Z2lucywKKysgb3JnLmVjbGlwc2UuY29yZS5pbnRlcm5hbC5wcm9w ZXJ0aWVzLG9yZy5lY2xpcHNlLmNvcmUuaW50ZXJuYWwucHJvcGVyCisrIHR5dGVzdGVyLG9yZy5l Y2xpcHNlLmNvcmUuaW50ZXJuYWwucmVmcmVzaCxvcmcuZWNsaXBzZS5jb3JlLmludGVybmFsLgor KyByZXNvdXJjZXMsb3JnLmVjbGlwc2UuY29yZS5pbnRlcm5hbC5yZXNvdXJjZXMubWFwcGluZyxv cmcuZWNsaXBzZS5jb3IKKysgZS5pbnRlcm5hbC51dGlscyxvcmcuZWNsaXBzZS5jb3JlLmludGVy bmFsLndhdHNvbixvcmcuZWNsaXBzZS5jb3JlLnJlCisrIHNvdXJjZXMsb3JnLmVjbGlwc2UuY29y ZS5yZXNvdXJjZXMubWFwcGluZyxvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcworKyAucmVmcmVz aCxvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcy50ZWFtLG9yZy5lY2xpcHNlLmNvcmUucnVudGlt ZS5tb2QKKysgZWwsb3JnLmVjbGlwc2UudWkuaW50ZXJuYWwsb3JnLmhzcWxkYixvcmcuaHNxbGRi LmluZGV4LG9yZy5oc3FsZGIuamRiCisrIGMsb3JnLmhzcWxkYi5saWIsb3JnLmhzcWxkYi5saWIu amF2YSxvcmcuaHNxbGRiLnBlcnNpc3Qsb3JnLmhzcWxkYi5yZQorKyBzb3VyY2VzLG9yZy5oc3Fs ZGIucm93aW8sb3JnLmhzcWxkYi5zY3JpcHRpbyxvcmcuaHNxbGRiLnN0b3JlLG9yZy5oc3EKKysg bGRiLnR5cGVzLG9yZy5oc3FsZGIudXRpbCxvcmcuamdyYXBoLG9yZy5qZ3JhcGguZXZlbnQsb3Jn LmpncmFwaC5ncmFwCisrIGgsb3JnLmpncmFwaC5wbGFmLG9yZy5qZ3JhcGgucGxhZi5iYXNpYyxv cmcuamdyYXBoLnV0aWwsb3JnLmpncm91cHMsbworKyByZy5qZ3JvdXBzLmJsb2Nrcyxvcmcuamdy b3Vwcy5jb25mLG9yZy5qZ3JvdXBzLmRlYnVnLG9yZy5qZ3JvdXBzLmRlbW8KKysgcyxvcmcuamdy b3Vwcy5kZW1vcy5hcHBsZXRzLG9yZy5qZ3JvdXBzLmRlbW9zLndiLG9yZy5qZ3JvdXBzLmVuc2Vt YmxlCisrICxvcmcuamdyb3Vwcy5wZXJzaXN0ZW5jZSxvcmcuamdyb3Vwcy5wcm90b2NvbHMsb3Jn Lmpncm91cHMucHJvdG9jb2xzLgorKyBwYmNhc3Qsb3JnLmpncm91cHMucHJvdG9jb2xzLnJpbmcs b3JnLmpncm91cHMuc2VydmljZSxvcmcuamdyb3Vwcy5zZXIKKysgdmljZS5sZWFzZSxvcmcuamdy b3Vwcy5zdGFjayxvcmcuamdyb3Vwcy50ZXN0cyxvcmcuamdyb3Vwcy50ZXN0cy5hZGFwCisrIHQs b3JnLmpncm91cHMudGVzdHMuYWRhcHRqbXMsb3JnLmpncm91cHMudGVzdHMuYWRhcHR0Y3Asb3Jn Lmpncm91cHMudAorKyBlc3RzLmFkYXB0dWRwLG9yZy5qZ3JvdXBzLnRlc3RzLnBlcmYsb3JnLmpn cm91cHMudGVzdHMucGVyZi50cmFuc3BvcnQKKysgcyxvcmcuamdyb3Vwcy50ZXN0cy5zdGFjayxv cmcuamdyb3Vwcy51dGlsLG9yZy5qaXZlc29mdHdhcmUuc21hY2ssb3JnCisrIC5qaXZlc29mdHdh cmUuc21hY2suZGVidWdnZXIsb3JnLmppdmVzb2Z0d2FyZS5zbWFjay5maWx0ZXIsb3JnLmppdmVz bworKyBmdHdhcmUuc21hY2sucGFja2V0LG9yZy5qaXZlc29mdHdhcmUuc21hY2sucHJvdmlkZXIs b3JnLmppdmVzb2Z0d2FyZS4KKysgc21hY2suc2FzbCxvcmcuaml2ZXNvZnR3YXJlLnNtYWNrLnV0 aWwsb3JnLmppdmVzb2Z0d2FyZS5zbWFja3gsb3JnLmppCisrIHZlc29mdHdhcmUuc21hY2t4LmJv b2ttYXJrLG9yZy5qaXZlc29mdHdhcmUuc21hY2t4LmZpbGV0cmFuc2ZlcixvcmcuagorKyBpdmVz b2Z0d2FyZS5zbWFja3gubXVjLG9yZy5qaXZlc29mdHdhcmUuc21hY2t4LnBhY2tldCxvcmcuaml2 ZXNvZnR3YXIKKysgZS5zbWFja3gucHJvdmlkZXIsb3JnLmppdmVzb2Z0d2FyZS5zbWFja3guc2Vh cmNoLG9yZy5qdm5ldC5pbmZsZWN0b3IsCisrIG9yZy5qdm5ldC5pbmZsZWN0b3IubGFuZy5lbixv cmcuanZuZXQuaW5mbGVjdG9yLmxhbmcuaXQsb3JnLmp2bmV0LmluZgorKyBsZWN0b3IucnVsZSxv cmcub2JqZWN0c3R5bGUuYXNod29vZC5kYnV0aWwsb3JnLm9iamVjdHN0eWxlLmFzaHdvb2QuZnUK KysgbmN0aW9uLG9yZy5vYmplY3RzdHlsZS5hc2h3b29kLmdyYXBoLG9yZy5vYmplY3RzdHlsZS5h c2h3b29kLmdyYXBoLmFjCisrIGNlc3Msb3JnLm9iamVjdHN0eWxlLmFzaHdvb2QuZ3JhcGguY29u dmVydCxvcmcub2JqZWN0c3R5bGUuYXNod29vZC5ncgorKyBhcGguZ3JhcGhtbCxvcmcub2JqZWN0 c3R5bGUuYXNod29vZC5ncmFwaC5sYXlvdXQsb3JnLm9iamVjdHN0eWxlLmFzaHcKKysgb29kLnBy ZWRpY2F0ZSxvcmcub2JqZWN0c3R5bGUuYXNod29vZC5yYW5kb20sb3JnLm9iamVjdHN0eWxlLmFz aHdvb2QuCisrIHV0aWwsb3JnLnNjb3BlbXZjLmNvbnRyb2xsZXIuYmFzaWMsb3JnLnNjb3BlbXZj LmNvbnRyb2xsZXIuc2VydmxldCxvcgorKyBnLnNjb3BlbXZjLmNvbnRyb2xsZXIuc2VydmxldC5q c3Asb3JnLnNjb3BlbXZjLmNvbnRyb2xsZXIuc2VydmxldC54bWwKKysgLG9yZy5zY29wZW12Yy5j b250cm9sbGVyLnN3aW5nLG9yZy5zY29wZW12Yy5jb3JlLG9yZy5zY29wZW12Yy5pbWFnZXMsCisr IG9yZy5zY29wZW12Yy5tb2RlbC5iYXNpYyxvcmcuc2NvcGVtdmMubW9kZWwuYmVhbnMsb3JnLnNj b3BlbXZjLm1vZGVsLgorKyBjb2xsZWN0aW9uLG9yZy5zY29wZW12Yy5tb2RlbC51dGlsLG9yZy5z Y29wZW12Yy51dGlsLG9yZy5zY29wZW12Yy51dGkKKysgbC5jb252ZXJ0b3Isb3JnLnNjb3BlbXZj LnZpZXcuYXd0LG9yZy5zY29wZW12Yy52aWV3LnNlcnZsZXQsb3JnLnNjb3BlCisrIG12Yy52aWV3 LnNlcnZsZXQuanNwLG9yZy5zY29wZW12Yy52aWV3LnNlcnZsZXQueG1sLG9yZy5zY29wZW12Yy52 aWV3LgorKyBzd2luZyxvcmcuc2NvcGVtdmMudmlldy51dGlsLG9yZy5zeW50YXguamVkaXQsb3Jn LnN5bnRheC5qZWRpdC50b2tlbm0KKysgYXJrZXIsb3JnLnhtbHB1bGwubXhwMSxvcmcueG1scHVs bC52MSxwcmVmLHRhcmdldC5kZXBlbmRlbmN5LHRlbXBsYXRlCisrIHMudjFfMgorK0J1bmRsZS1E b2NVUkw6IGh0dHA6Ly9jYXllbm5lLmFwYWNoZS5vcmcvCisrRW1iZWQtRGlyZWN0b3J5OiB0YXJn ZXQvZGVwZW5kZW5jeQorK0J1bmRsZS1WZW5kb3I6IEFwYWNoZSBDYXllbm5lCisrQnVuZGxlLU1h bmlmZXN0VmVyc2lvbjogMgorK0J1bmRsZS1TeW1ib2xpY05hbWU6IGNheWVubmUtbW9kZWxlci1l Y2xpcHNlLXBsdWdpbjtzaW5nbGV0b246PXRydWUKKytUb29sOiBCbmQtMC4wLjIzOAorK0VtYmVk LURlcGVuZGVuY3k6ICo7c2NvcGU9Y29tcGlsZXxydW50aW1lfHByb3ZpZGVkO2lubGluZT1mYWxz ZTsKKysKK2RpZmYgLS1naXQgYS9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdp bi9idWlsZC5wcm9wZXJ0aWVzIGIvbW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVn aW4vYnVpbGQucHJvcGVydGllcworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAu LjE2NzA4OTAKKy0tLSAvZGV2L251bGwKKysrKyBiL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVj bGlwc2UtcGx1Z2luL2J1aWxkLnByb3BlcnRpZXMKK0BAIC0wLDAgKzEsOCBAQAorK3NvdXJjZS4u ID0gc3JjL21haW4vamF2YS8sXAorKworK291dHB1dC4uID0gdGFyZ2V0L2NsYXNzZXMvCisrYmlu LmluY2x1ZGVzID0gcGx1Z2luLnhtbCxcCisrICAgICAgICAgICAgICAgTUVUQS1JTkYvLFwKKysg ICAgICAgICAgICAgICAuLFwKKysgICAgICAgICAgICAgICB0YXJnZXQvZGVwZW5kZW5jeS8KKysK K2RpZmYgLS1naXQgYS9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi9pY29u cy9jYXllbm5lLnBuZyBiL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luL2lj b25zL2NheWVubmUucG5nCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc1OGNlYWFjZTBhY2FiYmQxYmU5MzA3YTBk YmQyYzkxNTZkZjFkZgorR0lUIGJpbmFyeSBwYXRjaAorbGl0ZXJhbCA4NjMKK3pjbVYtbDFFQm5n UCk8aDszS3xMazAwMGUxTkpMVHEwMDBtRzAwMG1PMV5AczZBTV5pVjAwMDlmTmtsPFpjLW1FeQor elUxJUl0Nz4zVm9ifnBSS2xnVW9AQ3ZMTXpuPjlBSj18elJzQ1F4WFN7PHlXKHFIUkV0aE5od2d3 WTViUXFZX2NrCit6N0N+c01waShjUVV+Xk9PcUJxcmdRM14jNjB3UEdJdmBySGx0VG1jdXYpUD9G UHJzU20qbnlZQm9TRS1BP3xaJjsKK3pseF5HOFlCaVJZbWJ9cT45M0dmK1JqPTFRSWdheXlSSkJA VmFkQn4zKWR+fG9vI0JfNkEzY3I+Y2ZiRTFQX05hIQoremRIMnlXczdqXjYhb21VLTBvYjxZdDRw VXlQc0JNc3t4LTh5ZjF3P3tFUjgzfWNET3J4bSowUT1nQStmRHFVTDNWCit6c3tIV0o+fXtAMXs+ SDZTQ3dYc3wjbFZSTXd0bH52RlZDTGo7P0ViRHhfTzw7bE5UQkw8YH4wWW0rQVNVazszTjwKK3pz Rnw1KkNkYT95PTlBbWVyYXtmOzFHQU1JeGVXVnZodzs2bEM9SG51Y1NxPFBpQnRPMiZtJDl4XzFf dml7Q1dnNgorelJvKT4lbHFYIyVLKFAlVCUwTWozKW5xZFJxYlh2OzBuRW8waDNBNS1JdmwzIXR0 Y3g7QklMPmU2dl9gN0RKWWQtCit6P09HWEUyX1BxUFhATkJIYWVvfjNiTzIrMDFOcE1wZW0yQzRw JTUodEEqPz0kcGlMOXEoU31+IzF1TlUzTzxjNioKK3ooSm5NKkBARmN9Iz5ZYWF6OTgxTk1zaVB1 JCFyZ2o4RWhvRyVYTHNfXiROOG1EPmo+NjFZSHp9YGAjaWxUUjR8YgoremtZRDJgX142LXNtTFJQ fFZPSCE5VkdLJERJeTwwVWE/MXdOKiRMJkhGdGBQfSNaa0xCJUhebWVre29SZzU/a2pkCit6K1Qr OU80LW9CREpvOGRuMDNBaWl6NlEyIU1aZndROUQ3M2BKQypeKHE4RGV1WHlVOWQlKklsSF5rOUk8 WUs3STYKK3pXX28mQjAyPztJITRhSklLWkxfYShZP0xrYzAqUzdCM0tzbGhRWHo5bG1tZkF0VVpl Q1dgaHF0OHVMITA7Plp5ZworemVGeWdMTVl8Q0s0TkBjPG82Vng3a1ZKejI7el9RPXFQKiptKDZe XlJAOTtZMnsrO3VWdyZMWU9Gd2hWQXkhQFE+Cit6K05aQGY4NERlY1F4I29KTF52MFpGc2dqS3Um SVk5I3hfeTJtekR2I3lCalRid09JOTlYSnhSUDQwSX1pb2t9c0UKK3pPbVp1ZzxoMG58Q3hHISFq JnR6TT1XKnxsZCYhaX1OPlIyMkVrJWVIcWhhUjQ1Z2g0P3d3ayNvdHYjUU5AdUhtNgorcG9rb2g9 KlJGR1Z7NEBUKGJIfUB0X1dfdkRifFF2dldPbzFuMDAyb3ZQREhMa1YxZ3VnbyR2cXYKKworbGl0 ZXJhbCAwCitIY21WP2QwMDAwMQorCitkaWZmIC0tZ2l0IGEvbW9kZWxlci9jYXllbm5lLW1vZGVs ZXItZWNsaXBzZS1wbHVnaW4vcGx1Z2luLnhtbCBiL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVj bGlwc2UtcGx1Z2luL3BsdWdpbi54bWwKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwLi45Njg4MTYzCistLS0gL2Rldi9udWxsCisrKysgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxl ci1lY2xpcHNlLXBsdWdpbi9wbHVnaW4ueG1sCitAQCAtMCwwICsxLDEwIEBACisrPD94bWwgdmVy c2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKys8P2VjbGlwc2UgdmVyc2lvbj0iMy4yIj8+ CisrPHBsdWdpbj4KKys8ZXh0ZW5zaW9uIHBvaW50PSJvcmcuZWNsaXBzZS51aS5lZGl0b3JzIj4K Kys8ZWRpdG9yIG5hbWU9IkNheWVubmUgTW9kZWxlciBFY2xpcHNlIFBsdWdpbiIgaWNvbj0iaWNv bnMvY2F5ZW5uZS5wbmciIAorK2xhdW5jaGVyPSJvcmcuYXBhY2hlLmNheWVubmUubGF1bmNoZXIu RWRpdG9yTGF1bmNoZXIiIAorK2lkPSJvcmcuYXBhY2hlLmNheWVubmUubGF1bmNoZXIuRWRpdG9y TGF1bmNoZXIiPgorKzwvZWRpdG9yPgorKzwvZXh0ZW5zaW9uPgorKzwvcGx1Z2luPgorXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC0tZ2l0IGEvbW9kZWxlci9jYXllbm5lLW1vZGVs ZXItZWNsaXBzZS1wbHVnaW4vcG9tLnhtbCBiL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlw c2UtcGx1Z2luL3BvbS54bWwKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi40 ODRmNGRiCistLS0gL2Rldi9udWxsCisrKysgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xp cHNlLXBsdWdpbi9wb20ueG1sCitAQCAtMCwwICsxLDI1NiBAQAorKzxwcm9qZWN0IHhtbG5zPSJo dHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53 My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisrCXhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0 cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL21h dmVuLXY0XzBfMC54c2QiPgorKwk8cHJvcGVydGllcz4KKysJCTxidW5kbGUuc3ltYm9saWNOYW1l PmNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbjwvYnVuZGxlLnN5bWJvbGljTmFtZT4KKysJ CTxidW5kbGUubmFtZXNwYWNlPm9yZy5hcGFjaGUuY2F5ZW5uZTwvYnVuZGxlLm5hbWVzcGFjZT4K KysJPC9wcm9wZXJ0aWVzPgorKwk8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+Cisr CTxwYXJlbnQ+CisrCQk8Z3JvdXBJZD5vcmcuYXBhY2hlLmNheWVubmU8L2dyb3VwSWQ+CisrCQk8 YXJ0aWZhY3RJZD5jYXllbm5lLXBhcmVudDwvYXJ0aWZhY3RJZD4KKysJCTx2ZXJzaW9uPjMuMS1T TkFQU0hPVDwvdmVyc2lvbj4KKysJPC9wYXJlbnQ+CisrCisrCTxhcnRpZmFjdElkPmNheWVubmUt bW9kZWxlci1lY2xpcHNlLXBsdWdpbjwvYXJ0aWZhY3RJZD4KKysKKysJPG5hbWU+Q2F5ZW5uZSBN b2RlbGVyIFBsdWdpbiBmb3IgRWNsaXBzZTwvbmFtZT4KKysJPHBhY2thZ2luZz5idW5kbGU8L3Bh Y2thZ2luZz4KKysKKysJPGJ1aWxkPgorKwkJPHJlc291cmNlcz4KKysJCQk8cmVzb3VyY2U+Cisr CQkJCTx0YXJnZXRQYXRoPmljb25zPC90YXJnZXRQYXRoPgorKwkJCQk8ZGlyZWN0b3J5Pmljb25z PC9kaXJlY3Rvcnk+CisrCisrCQkJPC9yZXNvdXJjZT4KKysJCQk8cmVzb3VyY2U+CisrCQkJCTxk aXJlY3Rvcnk+LjwvZGlyZWN0b3J5PgorKwkJCQk8aW5jbHVkZXM+CisrCQkJCQk8aW5jbHVkZT5w bHVnaW4ueG1sPC9pbmNsdWRlPgorKwkJCQk8L2luY2x1ZGVzPgorKwkJCTwvcmVzb3VyY2U+Cisr CQk8L3Jlc291cmNlcz4KKysJCTxwbHVnaW5zPgorKwkJCTxwbHVnaW4+CisrCQkJCTxncm91cElk Pm9yZy5hcGFjaGUuZmVsaXg8L2dyb3VwSWQ+CisrCQkJCTxhcnRpZmFjdElkPm1hdmVuLWJ1bmRs ZS1wbHVnaW48L2FydGlmYWN0SWQ+CisrCQkJCTx2ZXJzaW9uPjEuMi4xPC92ZXJzaW9uPgorKwkJ CQk8ZXh0ZW5zaW9ucz50cnVlPC9leHRlbnNpb25zPgorKwkJCQk8Y29uZmlndXJhdGlvbj4KKysJ CQkJCTxtYW5pZmVzdExvY2F0aW9uPk1FVEEtSU5GPC9tYW5pZmVzdExvY2F0aW9uPgorKwkJCQkJ PGluc3RydWN0aW9ucz4KKysJCQkJCQk8SW5jbHVkZS1SZXNvdXJjZT50YXJnZXQvY2xhc3Nlczwv SW5jbHVkZS1SZXNvdXJjZT4KKysJCQkJCQk8QnVuZGxlLVN5bWJvbGljTmFtZT4ke2J1bmRsZS5z eW1ib2xpY05hbWV9O3NpbmdsZXRvbjo9dHJ1ZQorKwkJCQkJCTwvQnVuZGxlLVN5bWJvbGljTmFt ZT4KKysJCQkJCQk8QnVuZGxlLVZlcnNpb24+JHtwb20udmVyc2lvbn08L0J1bmRsZS1WZXJzaW9u PgorKwkJCQkJCTxJbXBvcnQtUGFja2FnZT4KKysJCQkJCQkJPCEtLSBleGNsdWRlIHBhY2thZ2Vz IGdlbmVyYXRlZCBpbiBidW5kbGUgbWFuaWZlc3QKKysJCQkJCQkJCWF1dG9tYXRpY2FsbHkgYW5k IHRoYXQgY2F1c2UgdGhlIGZhaWx1cmUgb2YgCisrCQkJCQkJCQlidW5kbGUgY29tcGlsYXRpb24K KysJCQkJCQkJCVRPRE86IGNvbnNpZGVyIHRoZSB3YXkgb2YgcmVzb2x2aW5nIHRoaXMgcHJvYmxl bSAKKysJCQkJCQkJCW5vdCBieSBleHBsaWNpdCBleGNsdXNpb24KKysJCQkJCQkJLS0+CisrCQkJ CQkJCSFFRFUub3N3ZWdvLmNzLmRsLnV0aWwuY29uY3VycmVudCwKKysJCQkJCQkJIWJzaCwKKysJ CQkJCQkJIWNvbS5zdW4uamF2YS5zd2luZy5wbGFmLndpbmRvd3MsCisrCQkJCQkJCSFjb20ud2Vy a2VuLnhwYXRoLAorKwkJCQkJCQkhamF2YXguam1zLAorKwkJCQkJCQkhb3JnLmFwYWNoZS5hdmFs b24uZnJhbWV3b3JrLmxvZ2dlciwKKysJCQkJCQkJIW9yZy5hcGFjaGUuYmNlbC4qLAorKwkJCQkJ CQkhb3JnLmpkb20uKiwKKysJCQkJCQkJIW9yZy5qaXZlc29mdHdhcmUuc21hY2t4LmRlYnVnZ2Vy LAorKwkJCQkJCQkhc3VuLnNlY3VyaXR5LmFjdGlvbiwKKysJCQkJCQkJCisrCQkJCQkJCW9yZy5l Y2xpcHNlLmNvcmUucnVudGltZSwKKysJCQkJCQkJb3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMs CisrCQkJCQkJCW9yZy5lY2xpcHNlLnVpLAorKwkJCQkJCQlvcmcuZWNsaXBzZS5qZHQubGF1bmNo aW5nLAorKwkJCQkJCQlvcmcuZWNsaXBzZS5kZWJ1Zy5jb3JlLAorKwkJCQkJCQlvcmcuZWNsaXBz ZS51aS5pZGUsCisrCQkJCQkJCW9yZy5lY2xpcHNlLmpkdC5jb3JlLCoKKysJCQkJCQk8L0ltcG9y dC1QYWNrYWdlPgorKwkJCQkJCTxCdW5kbGUtQWN0aXZhdG9yPiR7YnVuZGxlLm5hbWVzcGFjZX0u QWN0aXZhdG9yCisrCQkJCQkJPC9CdW5kbGUtQWN0aXZhdG9yPgorKwkJCQkJCTxFbWJlZC1EZXBl bmRlbmN5PgorKwkJCQkJCQkqO3Njb3BlPWNvbXBpbGV8cnVudGltZXxwcm92aWRlZDtpbmxpbmU9 ZmFsc2U7CisrCQkJCQkJPC9FbWJlZC1EZXBlbmRlbmN5PgorKwkJCQkJCTxFbWJlZC1EaXJlY3Rv cnk+dGFyZ2V0L2RlcGVuZGVuY3kKKysJCQkJCQk8L0VtYmVkLURpcmVjdG9yeT4KKysJCQkJCQk8 RW1iZWQtU3RyaXBHcm91cD50cnVlPC9FbWJlZC1TdHJpcEdyb3VwPgorKwkJCQkJPC9pbnN0cnVj dGlvbnM+CisrCQkJCTwvY29uZmlndXJhdGlvbj4KKysJCQk8L3BsdWdpbj4KKysJCQk8cGx1Z2lu PgorKwkJCQk8YXJ0aWZhY3RJZD5tYXZlbi1kZXBlbmRlbmN5LXBsdWdpbgorKwkJCQk8L2FydGlm YWN0SWQ+CisrCQkJCTxleGVjdXRpb25zPgorKwkJCQkJPGV4ZWN1dGlvbj4KKysJCQkJCQk8aWQ+ Y29weS1kZXBlbmRlbmNpZXM8L2lkPgorKwkJCQkJCTxwaGFzZT5wYWNrYWdlPC9waGFzZT4KKysJ CQkJCQk8Z29hbHM+CisrCQkJCQkJCTxnb2FsPmNvcHktZGVwZW5kZW5jaWVzPC9nb2FsPgorKwkJ CQkJCTwvZ29hbHM+CisrCQkJCQk8L2V4ZWN1dGlvbj4KKysJCQkJPC9leGVjdXRpb25zPgorKwkJ CTwvcGx1Z2luPgorKwkJCTxwbHVnaW4+CisrCQkJCTxncm91cElkPm9yZy5hcGFjaGUubWF2ZW4u cGx1Z2luczwvZ3JvdXBJZD4KKysJCQkJPGFydGlmYWN0SWQ+bWF2ZW4tY29tcGlsZXItcGx1Z2lu PC9hcnRpZmFjdElkPgorKwkJCQk8Y29uZmlndXJhdGlvbj4KKysJCQkJCTxzb3VyY2U+MS41PC9z b3VyY2U+CisrCQkJCQk8dGFyZ2V0PjEuNTwvdGFyZ2V0PgorKwkJCQk8L2NvbmZpZ3VyYXRpb24+ CisrCQkJPC9wbHVnaW4+CisrCQk8L3BsdWdpbnM+CisrCTwvYnVpbGQ+CisrCisrCTxkZXBlbmRl bmNpZXM+CisrCQk8IS0tIEVjbGlwc2UgZGVwZW5kZW5jaWVzIC0tPgorKwkJPGRlcGVuZGVuY3k+ CisrCQkJPGdyb3VwSWQ+b3JnLmVjbGlwc2U8L2dyb3VwSWQ+CisrCQkJPGFydGlmYWN0SWQ+dWk8 L2FydGlmYWN0SWQ+CisrCQkJPHZlcnNpb24+My4zLjAtSTIwMDcwNjE0LTA4MDA8L3ZlcnNpb24+ CisrCQk8L2RlcGVuZGVuY3k+CisrCQk8ZGVwZW5kZW5jeT4KKysJCQk8Z3JvdXBJZD5vcmcuZWNs aXBzZS5jb3JlPC9ncm91cElkPgorKwkJCTxhcnRpZmFjdElkPnJlc291cmNlczwvYXJ0aWZhY3RJ ZD4KKysJCQk8dmVyc2lvbj4zLjMuMC12MjAwNzA2MDQ8L3ZlcnNpb24+CisrCQk8L2RlcGVuZGVu Y3k+CisrCQk8ZGVwZW5kZW5jeT4KKysJCQk8Z3JvdXBJZD5vcmcuZWNsaXBzZS5jb3JlLnJ1bnRp bWU8L2dyb3VwSWQ+CisrCQkJPGFydGlmYWN0SWQ+Y29tcGF0aWJpbGl0eTwvYXJ0aWZhY3RJZD4K KysJCQk8dmVyc2lvbj4zLjEuMjAwLXYyMDA3MDUwMjwvdmVyc2lvbj4KKysJCTwvZGVwZW5kZW5j eT4KKysJCTxkZXBlbmRlbmN5PgorKwkJCTxncm91cElkPm9yZy5lY2xpcHNlPC9ncm91cElkPgor KwkJCTxhcnRpZmFjdElkPmpkdDwvYXJ0aWZhY3RJZD4KKysJCQk8dmVyc2lvbj4zLjMuMC12MjAw NzA2MDctMTMwMDwvdmVyc2lvbj4KKysJCTwvZGVwZW5kZW5jeT4KKysJCQorKworKwkJPCEtLSBD YXllbm5lIGRlcGVuZGVuY2llcyAtLT4KKysJCTxkZXBlbmRlbmN5PgorKwkJCTxncm91cElkPm9y Zy5hcGFjaGUuY2F5ZW5uZTwvZ3JvdXBJZD4KKysJCQk8YXJ0aWZhY3RJZD5jYXllbm5lLW1vZGVs ZXI8L2FydGlmYWN0SWQ+CisrCQkJPHZlcnNpb24+JHt2ZXJzaW9ufTwvdmVyc2lvbj4KKysJCQk8 c2NvcGU+cHJvdmlkZWQ8L3Njb3BlPgorKwkJPC9kZXBlbmRlbmN5PgorKwkJPGRlcGVuZGVuY3k+ CisrCQkJPGdyb3VwSWQ+b3JnLmFwYWNoZS5jYXllbm5lLnVucHVibGlzaGVkPC9ncm91cElkPgor KwkJCTxhcnRpZmFjdElkPmNheWVubmUtamRrMS41LXVucHVibGlzaGVkPC9hcnRpZmFjdElkPgor KwkJCTx2ZXJzaW9uPiR7dmVyc2lvbn08L3ZlcnNpb24+CisrCQkJPHNjb3BlPnByb3ZpZGVkPC9z Y29wZT4KKysJCTwvZGVwZW5kZW5jeT4KKysJCTxkZXBlbmRlbmN5PgorKwkJCTxncm91cElkPm9y Zy5hcGFjaGUuY2F5ZW5uZS51bnB1Ymxpc2hlZDwvZ3JvdXBJZD4KKysJCQk8YXJ0aWZhY3RJZD5j YXllbm5lLXByb2plY3QtdW5wdWJsaXNoZWQ8L2FydGlmYWN0SWQ+CisrCQkJPHZlcnNpb24+JHt2 ZXJzaW9ufTwvdmVyc2lvbj4KKysJCQk8c2NvcGU+cHJvdmlkZWQ8L3Njb3BlPgorKwkJPC9kZXBl bmRlbmN5PgorKwkJPGRlcGVuZGVuY3k+CisrCQkJPGdyb3VwSWQ+b3JnLmFwYWNoZS5jYXllbm5l PC9ncm91cElkPgorKwkJCTxhcnRpZmFjdElkPmNheWVubmUtdG9vbHM8L2FydGlmYWN0SWQ+Cisr CQkJPHZlcnNpb24+JHt2ZXJzaW9ufTwvdmVyc2lvbj4KKysJCTwvZGVwZW5kZW5jeT4KKysJCTxk ZXBlbmRlbmN5PgorKwkJCTxncm91cElkPm9yZy5hcGFjaGUuY2F5ZW5uZS51bnB1Ymxpc2hlZDwv Z3JvdXBJZD4KKysJCQk8YXJ0aWZhY3RJZD5jYXllbm5lLXdvY29tcGF0LXVucHVibGlzaGVkPC9h cnRpZmFjdElkPgorKwkJCTx2ZXJzaW9uPiR7dmVyc2lvbn08L3ZlcnNpb24+CisrCQkJPHNjb3Bl PnByb3ZpZGVkPC9zY29wZT4KKysJCTwvZGVwZW5kZW5jeT4KKysJCTxkZXBlbmRlbmN5PgorKwkJ CTxncm91cElkPm9yZy5hcGFjaGUuY2F5ZW5uZS51bnB1Ymxpc2hlZDwvZ3JvdXBJZD4KKysJCQk8 YXJ0aWZhY3RJZD5jYXllbm5lLWRpLXVucHVibGlzaGVkPC9hcnRpZmFjdElkPgorKwkJCTx2ZXJz aW9uPiR7dmVyc2lvbn08L3ZlcnNpb24+CisrCQk8L2RlcGVuZGVuY3k+CisrCQkKKysJCTwhLS0g VGhpcmQtcGFydHkgZGVwZW5kZW5jaWVzIC0tPgorKwkJPGRlcGVuZGVuY3k+CisrCQkJPGdyb3Vw SWQ+Y29tLmNhdWNobzwvZ3JvdXBJZD4KKysJCQk8YXJ0aWZhY3RJZD5yZXNpbi1oZXNzaWFuPC9h cnRpZmFjdElkPgorKwkJPC9kZXBlbmRlbmN5PgorKwkJPGRlcGVuZGVuY3k+CisrCQkJPGdyb3Vw SWQ+b3BlbnN5bXBob255PC9ncm91cElkPgorKwkJCTxhcnRpZmFjdElkPm9zY2FjaGU8L2FydGlm YWN0SWQ+CisrCQkJPHZlcnNpb24+Mi4zLjI8L3ZlcnNpb24+CisrCQkJPHNjb3BlPnByb3ZpZGVk PC9zY29wZT4KKysJCTwvZGVwZW5kZW5jeT4KKysJCTxkZXBlbmRlbmN5PgorKwkJCTxncm91cElk Pmpncm91cHM8L2dyb3VwSWQ+CisrCQkJPGFydGlmYWN0SWQ+amdyb3Vwcy1hbGw8L2FydGlmYWN0 SWQ+CisrCQk8L2RlcGVuZGVuY3k+CisrCQkJCTxkZXBlbmRlbmN5PgorKwkJCTxncm91cElkPmpn b29kaWVzPC9ncm91cElkPgorKwkJCTxhcnRpZmFjdElkPmxvb2tzPC9hcnRpZmFjdElkPgorKwkJ PC9kZXBlbmRlbmN5PgorKwkJPGRlcGVuZGVuY3k+CisrCQkJPGdyb3VwSWQ+amdvb2RpZXM8L2dy b3VwSWQ+CisrCQkJPGFydGlmYWN0SWQ+Zm9ybXM8L2FydGlmYWN0SWQ+CisrCQk8L2RlcGVuZGVu Y3k+CisrCQk8ZGVwZW5kZW5jeT4KKysJCQk8Z3JvdXBJZD5qaXZlc29mdHdhcmU8L2dyb3VwSWQ+ CisrCQkJPGFydGlmYWN0SWQ+c21hY2s8L2FydGlmYWN0SWQ+CisrCQkJPHZlcnNpb24+Mi4yLjE8 L3ZlcnNpb24+CisrCQkJPHNjb3BlPnByb3ZpZGVkPC9zY29wZT4KKysJCTwvZGVwZW5kZW5jeT4K KysJCTxkZXBlbmRlbmN5PgorKwkJCTxncm91cElkPmppdmVzb2Z0d2FyZTwvZ3JvdXBJZD4KKysJ CQk8YXJ0aWZhY3RJZD5zbWFja3g8L2FydGlmYWN0SWQ+CisrCQkJPHZlcnNpb24+Mi4yLjE8L3Zl cnNpb24+CisrCQkJPHNjb3BlPnByb3ZpZGVkPC9zY29wZT4KKysJCTwvZGVwZW5kZW5jeT4KKysJ CTxkZXBlbmRlbmN5PgorKwkJCTxncm91cElkPm9nbmw8L2dyb3VwSWQ+CisrCQkJPGFydGlmYWN0 SWQ+b2dubDwvYXJ0aWZhY3RJZD4KKysJCTwvZGVwZW5kZW5jeT4KKysJCTxkZXBlbmRlbmN5Pgor KwkJCTxncm91cElkPm9yZy5zY29wZW12YzwvZ3JvdXBJZD4KKysJCQk8YXJ0aWZhY3RJZD5zY29w ZW12YzwvYXJ0aWZhY3RJZD4KKysJCTwvZGVwZW5kZW5jeT4KKysJCTxkZXBlbmRlbmN5PgorKwkJ CTxncm91cElkPmhzcWxkYjwvZ3JvdXBJZD4KKysJCQk8YXJ0aWZhY3RJZD5oc3FsZGI8L2FydGlm YWN0SWQ+CisrCQk8L2RlcGVuZGVuY3k+CisrCQk8ZGVwZW5kZW5jeT4KKysJCQk8Z3JvdXBJZD5v cmcub2JqZWN0c3R5bGUuYXNod29vZDwvZ3JvdXBJZD4KKysJCQk8YXJ0aWZhY3RJZD5hc2h3b29k PC9hcnRpZmFjdElkPgorKwkJPC9kZXBlbmRlbmN5PgorKwkJPGRlcGVuZGVuY3k+CisrCQkJPGdy b3VwSWQ+amdyYXBoPC9ncm91cElkPgorKwkJCTxhcnRpZmFjdElkPmpncmFwaDwvYXJ0aWZhY3RJ ZD4KKysJCQk8dmVyc2lvbj41LjEzLjAuMDwvdmVyc2lvbj4KKysJCTwvZGVwZW5kZW5jeT4KKysJ CTxkZXBlbmRlbmN5PgorKwkJCTxncm91cElkPm5ldC5zZi5qZWRpdC1zeW50YXg8L2dyb3VwSWQ+ CisrCQkJPGFydGlmYWN0SWQ+amVkaXQtc3ludGF4PC9hcnRpZmFjdElkPgorKwkJCTx2ZXJzaW9u PjIuMi4yPC92ZXJzaW9uPgorKwkJPC9kZXBlbmRlbmN5PgorKwkJPGRlcGVuZGVuY3k+CisrCQkJ PGdyb3VwSWQ+Y29tbW9ucy1kYmNwPC9ncm91cElkPgorKwkJCTxhcnRpZmFjdElkPmNvbW1vbnMt ZGJjcDwvYXJ0aWZhY3RJZD4KKysJCQk8c2NvcGU+Y29tcGlsZTwvc2NvcGU+CisrCQk8L2RlcGVu ZGVuY3k+CisrCQk8ZGVwZW5kZW5jeT4KKysJCQk8Z3JvdXBJZD5jb21tb25zLXBvb2w8L2dyb3Vw SWQ+CisrCQkJPGFydGlmYWN0SWQ+Y29tbW9ucy1wb29sPC9hcnRpZmFjdElkPgorKwkJCTxzY29w ZT5jb21waWxlPC9zY29wZT4KKysJCTwvZGVwZW5kZW5jeT4KKysJCTxkZXBlbmRlbmN5PgorKwkJ CTxncm91cElkPmNvbW1vbnMtbG9nZ2luZzwvZ3JvdXBJZD4KKysJCQk8YXJ0aWZhY3RJZD5jb21t b25zLWxvZ2dpbmc8L2FydGlmYWN0SWQ+CisrCQk8L2RlcGVuZGVuY3k+CisrCQk8ZGVwZW5kZW5j eT4KKysJCQk8Z3JvdXBJZD5jb21tb25zLWNvbGxlY3Rpb25zPC9ncm91cElkPgorKwkJCTxhcnRp ZmFjdElkPmNvbW1vbnMtY29sbGVjdGlvbnM8L2FydGlmYWN0SWQ+CisrCQk8L2RlcGVuZGVuY3k+ CisrCQk8ZGVwZW5kZW5jeT4KKysJCQk8Z3JvdXBJZD5mb3VuZHJ5bG9naWMudnBwPC9ncm91cElk PgorKwkJCTxhcnRpZmFjdElkPnZwcDwvYXJ0aWZhY3RJZD4KKysJCTwvZGVwZW5kZW5jeT4KKysJ CTxkZXBlbmRlbmN5PgorKwkJCTxncm91cElkPm5ldC5qYXZhLmRldi5pbmZsZWN0b3I8L2dyb3Vw SWQ+CisrCQkJPGFydGlmYWN0SWQ+aW5mbGVjdG9yPC9hcnRpZmFjdElkPgorKwkJCTx2ZXJzaW9u PjAuNy4wPC92ZXJzaW9uPgorKwkJPC9kZXBlbmRlbmN5PgorKwk8L2RlcGVuZGVuY2llcz4KKys8 L3Byb2plY3Q+CitkaWZmIC0tZ2l0IGEvbW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1w bHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvQWN0aXZhdG9yLmphdmEgYi9t b2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9h cGFjaGUvY2F5ZW5uZS9BY3RpdmF0b3IuamF2YQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAuLjg3MDJiYjIKKy0tLSAvZGV2L251bGwKKysrKyBiL21vZGVsZXIvY2F5ZW5uZS1t b2RlbGVyLWVjbGlwc2UtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL0Fj dGl2YXRvci5qYXZhCitAQCAtMCwwICsxLDQ0IEBACisrcGFja2FnZSBvcmcuYXBhY2hlLmNheWVu bmU7CisrCisraW1wb3J0IG9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzLklQcm9qZWN0OworK2lt cG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcy5JUmVzb3VyY2U7CisraW1wb3J0IG9yZy5l Y2xpcHNlLmNvcmUucmVzb3VyY2VzLklXb3Jrc3BhY2U7CisraW1wb3J0IG9yZy5lY2xpcHNlLmNv cmUucmVzb3VyY2VzLklXb3Jrc3BhY2VSb290OworK2ltcG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJl c291cmNlcy5SZXNvdXJjZXNQbHVnaW47CisraW1wb3J0IG9yZy5lY2xpcHNlLmNvcmUucnVudGlt ZS5JUGF0aDsKKytpbXBvcnQgb3JnLmVjbGlwc2UudWkucGx1Z2luLkFic3RyYWN0VUlQbHVnaW47 CisrCisrcHVibGljIGNsYXNzIEFjdGl2YXRvciBleHRlbmRzIEFic3RyYWN0VUlQbHVnaW4gewor KworKwkvLyBUaGUgc2hhcmVkIGluc3RhbmNlLgorKwlwcml2YXRlIHN0YXRpYyBBY3RpdmF0b3Ig cGx1Z2luOworKworKwkvKioKKysJICogVGhlIGNvbnN0cnVjdG9yLgorKwkgKi8KKysJcHVibGlj IEFjdGl2YXRvcigpIHsKKysJCXN1cGVyKCk7CisrCQlwbHVnaW4gPSB0aGlzOworKworKwl9Cisr CisrCS8qKgorKwkgKiBSZXR1cm5zIHRoZSBzaGFyZWQgaW5zdGFuY2Ugb2YgdGhlIHBsdWctaW4u CisrCSAqLworKwlwdWJsaWMgc3RhdGljIEFjdGl2YXRvciBnZXREZWZhdWx0KCkgeworKwkJcmV0 dXJuIHBsdWdpbiA9PSBudWxsID8gbmV3IEFjdGl2YXRvcigpIDogcGx1Z2luOworKwl9CisrCisr CXB1YmxpYyB2b2lkIHVwZGF0ZVdvcmtzcGFjZShJUGF0aCBwYXRoKSB7CisrCisrCQl0cnkgewor KwkJCUlXb3Jrc3BhY2Ugd29ya3NwYWNlID0gUmVzb3VyY2VzUGx1Z2luLmdldFdvcmtzcGFjZSgp OworKwkJCUlXb3Jrc3BhY2VSb290IHJvb3QgPSB3b3Jrc3BhY2UuZ2V0Um9vdCgpOworKwkJCUlQ cm9qZWN0IHByb2plY3QgPSByb290LmdldEZpbGVGb3JMb2NhdGlvbihwYXRoKS5nZXRQcm9qZWN0 KCk7CisrCQkJcHJvamVjdC5yZWZyZXNoTG9jYWwoSVJlc291cmNlLkRFUFRIX0lORklOSVRFLCBu dWxsKTsKKysJCX0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CisrCQkJZS5wcmludFN0YWNrVHJhY2Uo KTsKKysJCX0KKysJfQorKworK30KK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAt LWdpdCBhL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luL3NyYy9tYWluL2ph dmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4dGVudGlvbnMvbW9kZWxlci9QbHVnaW5BY3Rpb25NYW5h Z2VyLmphdmEgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi9zcmMvbWFp bi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvUGx1Z2luQWN0aW9u TWFuYWdlci5qYXZhCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMmI5MzI5 NgorLS0tIC9kZXYvbnVsbAorKysrIGIvbW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1w bHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVy L1BsdWdpbkFjdGlvbk1hbmFnZXIuamF2YQorQEAgLTAsMCArMSwyNSBAQAorK3BhY2thZ2Ugb3Jn LmFwYWNoZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxlcjsKKysKKytpbXBvcnQgb3JnLmFwYWNo ZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxlci5hY3Rpb24uUGx1Z2luRXhpdEFjdGlvbjsKKytp bXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxlci5hY3Rpb24uUGx1Z2lu UHJvamVjdEFjdGlvbjsKKytpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuQWN0aW9u TWFuYWdlcjsKKytpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuQXBwbGljYXRpb247 CisraW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmFjdGlvbi5FeGl0QWN0aW9uOwor K2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5hY3Rpb24uUHJvamVjdEFjdGlvbjsK KysKKytwdWJsaWMgY2xhc3MgUGx1Z2luQWN0aW9uTWFuYWdlciBleHRlbmRzIEFjdGlvbk1hbmFn ZXIgeworKworKwlwdWJsaWMgUGx1Z2luQWN0aW9uTWFuYWdlcihBcHBsaWNhdGlvbiBhcHBsaWNh dGlvbikgeworKwkJc3VwZXIoYXBwbGljYXRpb24pOworKwl9CisrCisrCUBPdmVycmlkZQorKwlw cm90ZWN0ZWQgRXhpdEFjdGlvbiBjcmVhdGVFeGl0QWN0aW9uKEFwcGxpY2F0aW9uIGFwcGxpY2F0 aW9uKSB7CisrCQlyZXR1cm4gbmV3IFBsdWdpbkV4aXRBY3Rpb24oYXBwbGljYXRpb24pOworKwl9 CisrCisrCUBPdmVycmlkZQorKwlwcm90ZWN0ZWQgUHJvamVjdEFjdGlvbiBjcmVhdGVQcm9qZWN0 QWN0aW9uKEFwcGxpY2F0aW9uIGFwcGxpY2F0aW9uKSB7CisrCQlyZXR1cm4gbmV3IFBsdWdpblBy b2plY3RBY3Rpb24oYXBwbGljYXRpb24pOworKwl9CisrfQorZGlmZiAtLWdpdCBhL21vZGVsZXIv Y2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9j YXllbm5lL2V4dGVudGlvbnMvbW9kZWxlci9QbHVnaW5BcHBsaWNhdGlvbi5qYXZhIGIvbW9kZWxl ci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hl L2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbkFwcGxpY2F0aW9uLmphdmEKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi43ZGZjYTljCistLS0gL2Rldi9udWxsCisr KysgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi9zcmMvbWFpbi9qYXZh L29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvUGx1Z2luQXBwbGljYXRpb24u amF2YQorQEAgLTAsMCArMSwyNSBAQAorK3BhY2thZ2Ugb3JnLmFwYWNoZS5jYXllbm5lLmV4dGVu dGlvbnMubW9kZWxlcjsKKysKKytpbXBvcnQgamF2YS5pby5GaWxlOworKworK2ltcG9ydCBvcmcu YXBhY2hlLmNheWVubmUubW9kZWxlci5BY3Rpb25NYW5hZ2VyOworK2ltcG9ydCBvcmcuYXBhY2hl LmNheWVubmUubW9kZWxlci5BcHBsaWNhdGlvbjsKKytpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5l Lm1vZGVsZXIuQ2F5ZW5uZU1vZGVsZXJDb250cm9sbGVyOworKworK3B1YmxpYyBjbGFzcyBQbHVn aW5BcHBsaWNhdGlvbiBleHRlbmRzIEFwcGxpY2F0aW9uIHsKKysKKysJcHVibGljIFBsdWdpbkFw cGxpY2F0aW9uKEZpbGUgaW5pdGlhbFByb2plY3QpIHsKKysJCXN1cGVyKGluaXRpYWxQcm9qZWN0 KTsKKysJfQorKworKwlAT3ZlcnJpZGUKKysJcHJvdGVjdGVkIENheWVubmVNb2RlbGVyQ29udHJv bGxlciBpbml0RnJhbWVDb250cm9sbGVyKCkgeworKwkJcmV0dXJuIG5ldyBQbHVnaW5Nb2RlbGVy Q29udHJvbGxlcih0aGlzLCBpbml0aWFsUHJvamVjdCk7CisrCisrCX0KKysKKysJQE92ZXJyaWRl CisrCXByb3RlY3RlZCBBY3Rpb25NYW5hZ2VyIGluaXRBY3Rpb25NYW5hZ2VyKCkgeworKwkJcmV0 dXJuIG5ldyBQbHVnaW5BY3Rpb25NYW5hZ2VyKHRoaXMpOworKwl9CisrfQorZGlmZiAtLWdpdCBh L21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luL3NyYy9tYWluL2phdmEvb3Jn L2FwYWNoZS9jYXllbm5lL2V4dGVudGlvbnMvbW9kZWxlci9QbHVnaW5NYWluLmphdmEgYi9tb2Rl bGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFj aGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvUGx1Z2luTWFpbi5qYXZhCituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNzVmZDVlZgorLS0tIC9kZXYvbnVsbAorKysrIGIv bW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcv YXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbk1haW4uamF2YQorQEAgLTAs MCArMSwyOSBAQAorK3BhY2thZ2Ugb3JnLmFwYWNoZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxl cjsKKysKKytpbXBvcnQgamF2YS5pby5GaWxlOworKworK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVu bmUubW9kZWxlci5BcHBsaWNhdGlvbjsKKytpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVs ZXIuTWFpbjsKKysKKytwdWJsaWMgY2xhc3MgUGx1Z2luTWFpbiBleHRlbmRzIE1haW4geworKwkK KysJcHVibGljIHZvaWQgcnVuKFN0cmluZ1tdYXJncyl7CisrCQkKKysJCWNvbmZpZ3VyZUxvZ2dp bmcoKTsKKysKKysgICAgICAgIC8vIGNoZWNrIGpkayB2ZXJzaW9uCisrICAgICAgICBpZiAoIWNo ZWNrSkRLVmVyc2lvbigpKSB7CisrICAgICAgICAgICAgU3lzdGVtLmV4aXQoMSk7CisrICAgICAg ICB9CisrCisrICAgICAgICBGaWxlIHByb2plY3RGaWxlID0gcHJvamVjdEZpbGVGcm9tQXJncyhh cmdzKTsKKysgICAgICAgIHJ1bk1vZGVsZXIocHJvamVjdEZpbGUpOworKyAgICB9CisrCQorKwor KwlAT3ZlcnJpZGUKKysJcHJvdGVjdGVkIEFwcGxpY2F0aW9uIGluaXRBcHBsaWNhdGlvbihGaWxl IHByb2plY3RGaWxlKSB7CisrCQlyZXR1cm4gbmV3IFBsdWdpbkFwcGxpY2F0aW9uKHByb2plY3RG aWxlKTsKKysJfQorKworK30KK2RpZmYgLS1naXQgYS9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1l Y2xpcHNlLXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25z L21vZGVsZXIvUGx1Z2luTW9kZWxlckNvbnRyb2xsZXIuamF2YSBiL21vZGVsZXIvY2F5ZW5uZS1t b2RlbGVyLWVjbGlwc2UtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4 dGVudGlvbnMvbW9kZWxlci9QbHVnaW5Nb2RlbGVyQ29udHJvbGxlci5qYXZhCituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZWQzZmJiZgorLS0tIC9kZXYvbnVsbAorKysrIGIv bW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcv YXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL1BsdWdpbk1vZGVsZXJDb250cm9sbGVy LmphdmEKK0BAIC0wLDAgKzEsNDQgQEAKKytwYWNrYWdlIG9yZy5hcGFjaGUuY2F5ZW5uZS5leHRl bnRpb25zLm1vZGVsZXI7CisrCisraW1wb3J0IGphdmEuaW8uRmlsZTsKKysKKytpbXBvcnQgamF2 YXguc3dpbmcuV2luZG93Q29uc3RhbnRzOworKworK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUu QWN0aXZhdG9yOworK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5BcHBsaWNhdGlv bjsKKytpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuQ2F5ZW5uZU1vZGVsZXJDb250 cm9sbGVyOworK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5DYXllbm5lTW9kZWxl ckZyYW1lOworK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5hY3Rpb24uR2VuZXJh dGVDb2RlQWN0aW9uOworK2ltcG9ydCBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuUGF0aDsKKysK KytwdWJsaWMgY2xhc3MgUGx1Z2luTW9kZWxlckNvbnRyb2xsZXIgZXh0ZW5kcyBDYXllbm5lTW9k ZWxlckNvbnRyb2xsZXIgeworKworKwlwdWJsaWMgUGx1Z2luTW9kZWxlckNvbnRyb2xsZXIoQXBw bGljYXRpb24gYXBwbGljYXRpb24sIEZpbGUgaW5pdGlhbFByb2plY3QpIHsKKysJCXN1cGVyKGFw cGxpY2F0aW9uLCBpbml0aWFsUHJvamVjdCk7CisrCX0KKysKKysJQE92ZXJyaWRlCisrCXB1Ymxp YyB2b2lkIHByb2plY3RTYXZlZEFjdGlvbigpIHsKKysJCSgoR2VuZXJhdGVDb2RlQWN0aW9uKSBB cHBsaWNhdGlvbi5nZXRJbnN0YW5jZSgpLmdldEFjdGlvbigKKysJCQkJR2VuZXJhdGVDb2RlQWN0 aW9uLmdldEFjdGlvbk5hbWUoKSkpCisrCQkJCS5wZXJmb3JtR2VuZXJhdGlvbk9uQWxsRGF0YU1h cHMoKTsKKysJCUFjdGl2YXRvci5nZXREZWZhdWx0KCkudXBkYXRlV29ya3NwYWNlKAorKwkJCQlu ZXcgUGF0aChwcm9qZWN0Q29udHJvbGxlci5nZXRQcm9qZWN0KCkKKysJCQkJCQkuZ2V0Q29uZmln dXJhdGlvblJlc291cmNlKCkuZ2V0VVJMKCkuZ2V0UGF0aCgpKSk7CisrCQlzdXBlci5wcm9qZWN0 U2F2ZWRBY3Rpb24oKTsKKysKKysJfQorKworKwlAT3ZlcnJpZGUKKysJcHJvdGVjdGVkIHZvaWQg aW5pdEJpbmRpbmdzKCkgeworKwkJc3VwZXIuaW5pdEJpbmRpbmdzKCk7CisrCQlmcmFtZS5zZXRE ZWZhdWx0Q2xvc2VPcGVyYXRpb24oV2luZG93Q29uc3RhbnRzLkRJU1BPU0VfT05fQ0xPU0UpOwor KworKwl9CisrCisrCUBPdmVycmlkZQorKwlwcm90ZWN0ZWQgQ2F5ZW5uZU1vZGVsZXJGcmFtZSBp bml0TW9kZWxlckZyYW1lKEFwcGxpY2F0aW9uIGFwcGxpY2F0aW9uKSB7CisrCQlyZXR1cm4gbmV3 IFBsdWdpbk1vZGVsZXJGcmFtZShhcHBsaWNhdGlvbi5nZXRBY3Rpb25NYW5hZ2VyKCkpOworKwl9 CisrCisrfQorZGlmZiAtLWdpdCBhL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1 Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4dGVudGlvbnMvbW9kZWxlci9Q bHVnaW5Nb2RlbGVyRnJhbWUuamF2YSBiL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2Ut cGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4dGVudGlvbnMvbW9kZWxl ci9QbHVnaW5Nb2RlbGVyRnJhbWUuamF2YQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAuLjRiOGIwZjIKKy0tLSAvZGV2L251bGwKKysrKyBiL21vZGVsZXIvY2F5ZW5uZS1tb2Rl bGVyLWVjbGlwc2UtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4dGVu dGlvbnMvbW9kZWxlci9QbHVnaW5Nb2RlbGVyRnJhbWUuamF2YQorQEAgLTAsMCArMSw3MiBAQAor K3BhY2thZ2Ugb3JnLmFwYWNoZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxlcjsKKysKKytpbXBv cnQgamF2YS5hd3QuQ29tcG9uZW50OworKworK2ltcG9ydCBqYXZheC5zd2luZy5BYnN0cmFjdEFj dGlvbjsKKytpbXBvcnQgamF2YXguc3dpbmcuSkJ1dHRvbjsKKytpbXBvcnQgamF2YXguc3dpbmcu Sk1lbnU7CisraW1wb3J0IGphdmF4LnN3aW5nLkpNZW51SXRlbTsKKytpbXBvcnQgamF2YXguc3dp bmcuSlRvb2xCYXI7CisrCisraW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLkFjdGlv bk1hbmFnZXI7CisraW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLkNheWVubmVNb2Rl bGVyRnJhbWU7CisraW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmFjdGlvbi5OZXdQ cm9qZWN0QWN0aW9uOworK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci5hY3Rpb24u T3BlblByb2plY3RBY3Rpb247CisraW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmFj dGlvbi5Qcm9qZWN0QWN0aW9uOworK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci51 dGlsLlJlY2VudEZpbGVNZW51OworKworK3B1YmxpYyBjbGFzcyBQbHVnaW5Nb2RlbGVyRnJhbWUg ZXh0ZW5kcyBDYXllbm5lTW9kZWxlckZyYW1lIHsKKysKKysJcHVibGljIFBsdWdpbk1vZGVsZXJG cmFtZShBY3Rpb25NYW5hZ2VyIGFjdGlvbk1hbmFnZXIpIHsKKysJCXN1cGVyKGFjdGlvbk1hbmFn ZXIpOworKwl9CisrCisrCUBPdmVycmlkZQorKwlwcm90ZWN0ZWQgdm9pZCBidWlsZEZpbGVNZW51 KEpNZW51IGZpbGVNZW51KSB7CisrCQkvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIG1ldGhvZCBzdHVi CisrCQlzdXBlci5idWlsZEZpbGVNZW51KGZpbGVNZW51KTsKKysJCWZvciAoaW50IGkgPSAwOyBp IDwgZmlsZU1lbnUuZ2V0SXRlbUNvdW50KCk7IGkrKykgeworKwkJCUpNZW51SXRlbSBpdGVtID0g ZmlsZU1lbnUuZ2V0SXRlbShpKTsKKysJCQlpZiAoaXRlbSAhPSBudWxsKSB7CisrCQkJCVN0cmlu ZyBuYW1lID0gaXRlbS5nZXRUZXh0KCk7CisrCQkJCWlmIChOZXdQcm9qZWN0QWN0aW9uLmdldEFj dGlvbk5hbWUoKS5lcXVhbHMobmFtZSkKKysJCQkJCQl8fCBPcGVuUHJvamVjdEFjdGlvbi5nZXRB Y3Rpb25OYW1lKCkuZXF1YWxzKG5hbWUpCisrCQkJCQkJfHwgUHJvamVjdEFjdGlvbi5nZXRBY3Rp b25OYW1lKCkuZXF1YWxzKG5hbWUpCisrCQkJCQkJfHwgIlJlY2VudCBQcm9qZWN0cyIuZXF1YWxz KG5hbWUpKSB7CisrCQkJCQlpdGVtLnNldEVuYWJsZWQoZmFsc2UpOworKwkJCQl9CisrCisrCQkJ fQorKwkJfQorKworKwl9CisrCisrCUBPdmVycmlkZQorKwlwcm90ZWN0ZWQgdm9pZCBidWlsZFBy b2plY3RUb29sYmFyKEpUb29sQmFyIHRvb2xCYXIpIHsKKysJCXN1cGVyLmJ1aWxkUHJvamVjdFRv b2xiYXIodG9vbEJhcik7CisrCQlmb3IgKGludCBpID0gMDsgaSA8IHRvb2xCYXIuZ2V0Q29tcG9u ZW50Q291bnQoKTsgaSsrKSB7CisrCQkJQ29tcG9uZW50IGNvbXBvbmVudCA9IHRvb2xCYXIuZ2V0 Q29tcG9uZW50QXRJbmRleChpKTsKKysJCQlpZiAoY29tcG9uZW50ICE9IG51bGwgJiYgY29tcG9u ZW50IGluc3RhbmNlb2YgSkJ1dHRvbikgeworKworKwkJCQlBYnN0cmFjdEFjdGlvbiBhY3Rpb24g PSAoQWJzdHJhY3RBY3Rpb24pICgoSkJ1dHRvbikgY29tcG9uZW50KQorKwkJCQkJCS5nZXRBY3Rp b24oKTsKKysJCQkJaWYgKGFjdGlvbiBpbnN0YW5jZW9mIE5ld1Byb2plY3RBY3Rpb24KKysJCQkJ CQl8fCBhY3Rpb24gaW5zdGFuY2VvZiBPcGVuUHJvamVjdEFjdGlvbikgeworKwkJCQkJY29tcG9u ZW50LnNldEVuYWJsZWQoZmFsc2UpOworKwkJCQl9CisrCQkJfQorKwkJfQorKwl9CisrCisrCUBP dmVycmlkZQorKwlwcm90ZWN0ZWQgUmVjZW50RmlsZU1lbnUgaW5pdFJlY2VudEZpbGVNZW51KFN0 cmluZyB0aXRsZSkgeworKwkJcmV0dXJuIG5ldyBSZWNlbnRGaWxlTWVudSh0aXRsZSkgeworKwor KwkJCUBPdmVycmlkZQorKwkJCXB1YmxpYyB2b2lkIHJlY2VudEZpbGVMaXN0Q2hhbmdlZCgpIHsK KysJCQkJLy8gbm90aGluZyB0byBkbywgb25seSBvbmUgcHJvamVjdCBjYWIgYmUgb3BlbmVkIGJ5 IG1vZGVsZXIKKysJCQl9CisrCisrCQl9OworKwl9CisrfQorZGlmZiAtLWdpdCBhL21vZGVsZXIv Y2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9j YXllbm5lL2V4dGVudGlvbnMvbW9kZWxlci9hY3Rpb24vUGx1Z2luRXhpdEFjdGlvbi5qYXZhIGIv bW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcv YXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2RlbGVyL2FjdGlvbi9QbHVnaW5FeGl0QWN0aW9u LmphdmEKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zYTQzMjY3CistLS0g L2Rldi9udWxsCisrKysgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi9z cmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvYWN0aW9u L1BsdWdpbkV4aXRBY3Rpb24uamF2YQorQEAgLTAsMCArMSwxNiBAQAorK3BhY2thZ2Ugb3JnLmFw YWNoZS5jYXllbm5lLmV4dGVudGlvbnMubW9kZWxlci5hY3Rpb247CisrCisraW1wb3J0IG9yZy5h cGFjaGUuY2F5ZW5uZS5tb2RlbGVyLkFwcGxpY2F0aW9uOworK2ltcG9ydCBvcmcuYXBhY2hlLmNh eWVubmUubW9kZWxlci5hY3Rpb24uRXhpdEFjdGlvbjsKKysKKytwdWJsaWMgY2xhc3MgUGx1Z2lu RXhpdEFjdGlvbiBleHRlbmRzIEV4aXRBY3Rpb24geworKworKwlwdWJsaWMgUGx1Z2luRXhpdEFj dGlvbihBcHBsaWNhdGlvbiBhcHBsaWNhdGlvbikgeworKwkJc3VwZXIoYXBwbGljYXRpb24pOwor Kwl9CisrCisrCUBPdmVycmlkZQorKwlwcm90ZWN0ZWQgdm9pZCBhcHBsaWNhdGlvblNodXRkb3du KCkgeworKwkJY2xvc2VQcm9qZWN0KGZhbHNlKTsKKysJfQorK30KK2RpZmYgLS1naXQgYS9tb2Rl bGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFj aGUvY2F5ZW5uZS9leHRlbnRpb25zL21vZGVsZXIvYWN0aW9uL1BsdWdpblByb2plY3RBY3Rpb24u amF2YSBiL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luL3NyYy9tYWluL2ph dmEvb3JnL2FwYWNoZS9jYXllbm5lL2V4dGVudGlvbnMvbW9kZWxlci9hY3Rpb24vUGx1Z2luUHJv amVjdEFjdGlvbi5qYXZhCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYzY1 ZmJkMQorLS0tIC9kZXYvbnVsbAorKysrIGIvbW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBz ZS1wbHVnaW4vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvZXh0ZW50aW9ucy9tb2Rl bGVyL2FjdGlvbi9QbHVnaW5Qcm9qZWN0QWN0aW9uLmphdmEKK0BAIC0wLDAgKzEsMjAgQEAKKytw YWNrYWdlIG9yZy5hcGFjaGUuY2F5ZW5uZS5leHRlbnRpb25zLm1vZGVsZXIuYWN0aW9uOworKwor K2ltcG9ydCBqYXZhLmF3dC5ldmVudC5BY3Rpb25FdmVudDsKKysKKytpbXBvcnQgb3JnLmFwYWNo ZS5jYXllbm5lLm1vZGVsZXIuQXBwbGljYXRpb247CisraW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5u ZS5tb2RlbGVyLmFjdGlvbi5Qcm9qZWN0QWN0aW9uOworKworK3B1YmxpYyBjbGFzcyBQbHVnaW5Q cm9qZWN0QWN0aW9uIGV4dGVuZHMgUHJvamVjdEFjdGlvbiB7CisrCisrCXB1YmxpYyBQbHVnaW5Q cm9qZWN0QWN0aW9uKEFwcGxpY2F0aW9uIGFwcGxpY2F0aW9uKSB7CisrCQlzdXBlcihhcHBsaWNh dGlvbik7CisrCX0KKysKKysJQE92ZXJyaWRlCisrCXB1YmxpYyB2b2lkIHBlcmZvcm1BY3Rpb24o QWN0aW9uRXZlbnQgZSkgeworKwkJc3VwZXIucGVyZm9ybUFjdGlvbihlKTsKKysJCUFwcGxpY2F0 aW9uLmdldEluc3RhbmNlKCkuZ2V0RnJhbWVDb250cm9sbGVyKCkuZ2V0V2luZG93KCkuZGlzcG9z ZSgpOworKwl9CisrCisrfQorZGlmZiAtLWdpdCBhL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyLWVj bGlwc2UtcGx1Z2luL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL2xhdW5jaGVyL0Vk aXRvckxhdW5jaGVyLmphdmEgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdp bi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9sYXVuY2hlci9FZGl0b3JMYXVuY2hl ci5qYXZhCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYmM3ZmIxZAorLS0t IC9kZXYvbnVsbAorKysrIGIvbW9kZWxlci9jYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4v c3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvbGF1bmNoZXIvRWRpdG9yTGF1bmNoZXIu amF2YQorQEAgLTAsMCArMSwxOSBAQAorK3BhY2thZ2Ugb3JnLmFwYWNoZS5jYXllbm5lLmxhdW5j aGVyOworKworK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUuZXh0ZW50aW9ucy5tb2RlbGVyLlBs dWdpbk1haW47CisraW1wb3J0IG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5JUGF0aDsKKytpbXBv cnQgb3JnLmVjbGlwc2UudWkuSUVkaXRvckxhdW5jaGVyOworKworK3B1YmxpYyBjbGFzcyBFZGl0 b3JMYXVuY2hlciBpbXBsZW1lbnRzIElFZGl0b3JMYXVuY2hlciB7CisrCisrCUBTdXBwcmVzc1dh cm5pbmdzKCJzdGF0aWMtYWNjZXNzIikKKysJcHVibGljIHZvaWQgb3BlbihJUGF0aCBmaWxlKSB7 CisrCQlTeXN0ZW0ub3V0LnByaW50bG4oIkxhdW5jaCBTdWNjZXNzZnVsIDogZmlsZSBMb2NhdGlv biA9ICIKKysJCQkJKyBmaWxlLnRvU3RyaW5nKCkpOworKworKwkJU3RyaW5nW10gYXJncyA9IG5l dyBTdHJpbmdbXSB7IGZpbGUudG9TdHJpbmcoKSB9OworKwkJbmV3IFBsdWdpbk1haW4oKS5ydW4o YXJncyk7CisrCisrCX0KKysKKyt9CitkaWZmIC0tZ2l0IGEvbW9kZWxlci9jYXllbm5lLW1vZGVs ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvbW9kZWxlci9hY3Rpb24vQWN0aW9u TWFuYWdlci5qYXZhIGIvbW9kZWxlci9jYXllbm5lLW1vZGVsZXIvc3JjL21haW4vamF2YS9vcmcv YXBhY2hlL2NheWVubmUvbW9kZWxlci9hY3Rpb24vQWN0aW9uTWFuYWdlci5qYXZhCitpbmRleCAx MWE5YjNmLi44ODQ2YWQ5IDEwMDY0NAorLS0tIGEvbW9kZWxlci9jYXllbm5lLW1vZGVsZXIvc3Jj L21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvbW9kZWxlci9hY3Rpb24vQWN0aW9uTWFuYWdl ci5qYXZhCisrKysgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxlci9zcmMvbWFpbi9qYXZhL29yZy9h cGFjaGUvY2F5ZW5uZS9tb2RlbGVyL2FjdGlvbi9BY3Rpb25NYW5hZ2VyLmphdmEKK0BAIC0xODcs NyArMTg3LDcgQEAgcHVibGljIGNsYXNzIEFjdGlvbk1hbmFnZXIgeworICAgICBwdWJsaWMgQWN0 aW9uTWFuYWdlcihBcHBsaWNhdGlvbiBhcHBsaWNhdGlvbikgeworICAgICAgICAgdGhpcy5hY3Rp b25NYXAgPSBuZXcgSGFzaE1hcDxTdHJpbmcsIEFjdGlvbj4oNDApOworIAorLSAgICAgICAgcmVn aXN0ZXJBY3Rpb24obmV3IFByb2plY3RBY3Rpb24oYXBwbGljYXRpb24pKTsKKysgICAgICAgIHJl Z2lzdGVyQWN0aW9uKGNyZWF0ZVByb2plY3RBY3Rpb24oYXBwbGljYXRpb24pKTsKKyAgICAgICAg IHJlZ2lzdGVyQWN0aW9uKG5ldyBOZXdQcm9qZWN0QWN0aW9uKGFwcGxpY2F0aW9uKSkuc2V0QWx3 YXlzT24odHJ1ZSk7CisgICAgICAgICByZWdpc3RlckFjdGlvbihuZXcgT3BlblByb2plY3RBY3Rp b24oYXBwbGljYXRpb24pKS5zZXRBbHdheXNPbih0cnVlKTsKKyAgICAgICAgIHJlZ2lzdGVyQWN0 aW9uKG5ldyBJbXBvcnREYXRhTWFwQWN0aW9uKGFwcGxpY2F0aW9uKSk7CitAQCAtMjMyLDcgKzIz Miw3IEBAIHB1YmxpYyBjbGFzcyBBY3Rpb25NYW5hZ2VyIHsKKyAgICAgICAgIHJlZ2lzdGVyQWN0 aW9uKG5ldyBBYm91dEFjdGlvbihhcHBsaWNhdGlvbikpLnNldEFsd2F5c09uKHRydWUpOworICAg ICAgICAgcmVnaXN0ZXJBY3Rpb24obmV3IERvY3VtZW50YXRpb25BY3Rpb24oYXBwbGljYXRpb24p KS5zZXRBbHdheXNPbih0cnVlKTsKKyAgICAgICAgIHJlZ2lzdGVyQWN0aW9uKG5ldyBDb25maWd1 cmVQcmVmZXJlbmNlc0FjdGlvbihhcHBsaWNhdGlvbikpLnNldEFsd2F5c09uKHRydWUpOworLSAg ICAgICAgcmVnaXN0ZXJBY3Rpb24obmV3IEV4aXRBY3Rpb24oYXBwbGljYXRpb24pKS5zZXRBbHdh eXNPbih0cnVlKTsKKysgICAgICAgIHJlZ2lzdGVyQWN0aW9uKGNyZWF0ZUV4aXRBY3Rpb24oYXBw bGljYXRpb24pKS5zZXRBbHdheXNPbih0cnVlKTsKKyAgICAgICAgIHJlZ2lzdGVyQWN0aW9uKG5l dyBOYXZpZ2F0ZUJhY2t3YXJkQWN0aW9uKGFwcGxpY2F0aW9uKSkuc2V0QWx3YXlzT24odHJ1ZSk7 CisgICAgICAgICByZWdpc3RlckFjdGlvbihuZXcgTmF2aWdhdGVGb3J3YXJkQWN0aW9uKGFwcGxp Y2F0aW9uKSkuc2V0QWx3YXlzT24odHJ1ZSk7CisgICAgICAgICAvLyBzZWFyY2ggYWN0aW9uIHJl Z2lzdGVyZWQKK0BAIC00MTEsNCArNDExLDEyIEBAIHB1YmxpYyBjbGFzcyBBY3Rpb25NYW5hZ2Vy IHsKKyAgICAgICAgIG1hcC5wdXQoVHJhbnNmZXJIYW5kbGVyLmdldFBhc3RlQWN0aW9uKCkuZ2V0 VmFsdWUoQWN0aW9uLk5BTUUpLAorICAgICAgICAgICAgICAgICBnZXRBY3Rpb24oUGFzdGVBY3Rp b24uZ2V0QWN0aW9uTmFtZSgpKSk7CisgICAgIH0KKysKKysgICAgcHJvdGVjdGVkIEV4aXRBY3Rp b24gY3JlYXRlRXhpdEFjdGlvbihBcHBsaWNhdGlvbiBhcHBsaWNhdGlvbikgeworKyAgICAgICAg cmV0dXJuIG5ldyBFeGl0QWN0aW9uKGFwcGxpY2F0aW9uKTsKKysgICAgfQorKworKyAgICBwcm90 ZWN0ZWQgUHJvamVjdEFjdGlvbiBjcmVhdGVQcm9qZWN0QWN0aW9uKEFwcGxpY2F0aW9uIGFwcGxp Y2F0aW9uKSB7CisrICAgICAgICByZXR1cm4gbmV3IFByb2plY3RBY3Rpb24oYXBwbGljYXRpb24p OworKyAgICB9CisgfQorZGlmZiAtLWdpdCBhL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyL3NyYy9t YWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL21vZGVsZXIvQXBwbGljYXRpb24uamF2YSBiL21v ZGVsZXIvY2F5ZW5uZS1tb2RlbGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL21v ZGVsZXIvQXBwbGljYXRpb24uamF2YQoraW5kZXggZWZmNmMwYS4uMTYxMjIyMSAxMDA2NDQKKy0t LSBhL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXll bm5lL21vZGVsZXIvQXBwbGljYXRpb24uamF2YQorKysrIGIvbW9kZWxlci9jYXllbm5lLW1vZGVs ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvbW9kZWxlci9BcHBsaWNhdGlvbi5q YXZhCitAQCAtMjE0LDExICsyMTQsMTEgQEAgcHVibGljIGNsYXNzIEFwcGxpY2F0aW9uIHsKKyAK KyAgICAgICAgIC8vIGluaXQgYWN0aW9ucyBiZWZvcmUgdGhlIGZyYW1lLCBhcyBpdCB3aWxsIGF0 dGVtcHQgdG8gYnVpbGQgbWVudXMgb3V0IG9mCisgICAgICAgICAvLyBhY3Rpb25zLgorLSAgICAg ICAgdGhpcy5hY3Rpb25NYW5hZ2VyID0gbmV3IEFjdGlvbk1hbmFnZXIodGhpcyk7CisrICAgICAg ICB0aGlzLmFjdGlvbk1hbmFnZXIgPSBpbml0QWN0aW9uTWFuYWdlcigpOworICAgICAgICAgdGhp cy51bmRvTWFuYWdlciA9IG5ldyBvcmcuYXBhY2hlLmNheWVubmUubW9kZWxlci51bmRvLkNheWVu bmVVbmRvTWFuYWdlcih0aGlzKTsKKyAKKyAgICAgICAgIC8vIC4uLmNyZWF0ZSBtYWluIGZyYW1l CistICAgICAgICB0aGlzLmZyYW1lQ29udHJvbGxlciA9IG5ldyBDYXllbm5lTW9kZWxlckNvbnRy b2xsZXIodGhpcywgaW5pdGlhbFByb2plY3QpOworKyAgICAgICAgdGhpcy5mcmFtZUNvbnRyb2xs ZXIgPSBpbml0RnJhbWVDb250cm9sbGVyKCk7CisgCisgICAgICAgICAvLyB1cGRhdGUgU2NvcGUg dG8gd29yayBuaWNlbHkgd2l0aCBtYWluIGZyYW1lCisgICAgICAgICBWaWV3Q29udGV4dC5zZXRH bG9iYWxDb250ZXh0KG5ldyBNb2RlbGVyQ29udGV4dChmcmFtZUNvbnRyb2xsZXIuZ2V0RnJhbWUo KSkpOworQEAgLTQyMyw0ICs0MjMsMTIgQEAgcHVibGljIGNsYXNzIEFwcGxpY2F0aW9uIHsKKyAg ICAgcHVibGljIHZvaWQgc2V0UXVpdHRpbmdBcHBsaWNhdGlvbihib29sZWFuIGlzUXVpdHRpbmdB cHBsaWNhdGlvbikgeworICAgICAgICAgdGhpcy5pc1F1aXR0aW5nQXBwbGljYXRpb24gPSBpc1F1 aXR0aW5nQXBwbGljYXRpb247CisgICAgIH0KKysKKysgICAgcHJvdGVjdGVkIENheWVubmVNb2Rl bGVyQ29udHJvbGxlciBpbml0RnJhbWVDb250cm9sbGVyKCkgeworKyAgICAgICAgcmV0dXJuIG5l dyBDYXllbm5lTW9kZWxlckNvbnRyb2xsZXIodGhpcywgaW5pdGlhbFByb2plY3QpOworKyAgICB9 CisrCisrICAgIHByb3RlY3RlZCBBY3Rpb25NYW5hZ2VyIGluaXRBY3Rpb25NYW5hZ2VyKCkgewor KyAgICAgICAgcmV0dXJuIG5ldyBBY3Rpb25NYW5hZ2VyKHRoaXMpOworKyAgICB9CisgfQorZGlm ZiAtLWdpdCBhL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNo ZS9jYXllbm5lL21vZGVsZXIvQ2F5ZW5uZU1vZGVsZXJDb250cm9sbGVyLmphdmEgYi9tb2RlbGVy L2NheWVubmUtbW9kZWxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9tb2RlbGVy L0NheWVubmVNb2RlbGVyQ29udHJvbGxlci5qYXZhCitpbmRleCA4ZTM1ODdkLi45N2U1ZjY4IDEw MDY0NAorLS0tIGEvbW9kZWxlci9jYXllbm5lLW1vZGVsZXIvc3JjL21haW4vamF2YS9vcmcvYXBh Y2hlL2NheWVubmUvbW9kZWxlci9DYXllbm5lTW9kZWxlckNvbnRyb2xsZXIuamF2YQorKysrIGIv bW9kZWxlci9jYXllbm5lLW1vZGVsZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUv bW9kZWxlci9DYXllbm5lTW9kZWxlckNvbnRyb2xsZXIuamF2YQorQEAgLTYzLDcgKzYzLDcgQEAg cHVibGljIGNsYXNzIENheWVubmVNb2RlbGVyQ29udHJvbGxlciBleHRlbmRzIENheWVubmVDb250 cm9sbGVyIHsKKyAgICAgICAgIHN1cGVyKGFwcGxpY2F0aW9uKTsKKyAKKyAgICAgICAgIHRoaXMu aW5pdGlhbFByb2plY3QgPSBpbml0aWFsUHJvamVjdDsKKy0gICAgICAgIHRoaXMuZnJhbWUgPSBu ZXcgQ2F5ZW5uZU1vZGVsZXJGcmFtZShhcHBsaWNhdGlvbi5nZXRBY3Rpb25NYW5hZ2VyKCkpOwor KyAgICAgICAgdGhpcy5mcmFtZSA9IGluaXRNb2RlbGVyRnJhbWUoYXBwbGljYXRpb24pOworICAg ICAgICAgdGhpcy5wcm9qZWN0Q29udHJvbGxlciA9IG5ldyBQcm9qZWN0Q29udHJvbGxlcih0aGlz KTsKKyAgICAgfQorIAorQEAgLTM0Myw0ICszNDMsOCBAQCBwdWJsaWMgY2xhc3MgQ2F5ZW5uZU1v ZGVsZXJDb250cm9sbGVyIGV4dGVuZHMgQ2F5ZW5uZUNvbnRyb2xsZXIgeworICAgICAgICAgZ2V0 TGFzdERpcmVjdG9yeSgpLnNldERpcmVjdG9yeShuZXcgRmlsZShuZXdQYXRoKSk7CisgICAgICAg ICBmcmFtZS5maXJlUmVjZW50RmlsZUxpc3RDaGFuZ2VkKCk7CisgICAgIH0KKysKKysgICAgcHJv dGVjdGVkIENheWVubmVNb2RlbGVyRnJhbWUgaW5pdE1vZGVsZXJGcmFtZShBcHBsaWNhdGlvbiBh cHBsaWNhdGlvbikgeworKyAgICAgICAgcmV0dXJuIG5ldyBDYXllbm5lTW9kZWxlckZyYW1lKGFw cGxpY2F0aW9uLmdldEFjdGlvbk1hbmFnZXIoKSk7CisrICAgIH0KKyB9CitkaWZmIC0tZ2l0IGEv bW9kZWxlci9jYXllbm5lLW1vZGVsZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUv bW9kZWxlci9DYXllbm5lTW9kZWxlckZyYW1lLmphdmEgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxl ci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9tb2RlbGVyL0NheWVubmVNb2RlbGVy RnJhbWUuamF2YQoraW5kZXggM2VhMjYxMy4uZTAwNjMyOSAxMDA2NDQKKy0tLSBhL21vZGVsZXIv Y2F5ZW5uZS1tb2RlbGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL21vZGVsZXIv Q2F5ZW5uZU1vZGVsZXJGcmFtZS5qYXZhCisrKysgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxlci9z cmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9tb2RlbGVyL0NheWVubmVNb2RlbGVyRnJh bWUuamF2YQorQEAgLTE4NiwxNSArMTg2LDcgQEAgcHVibGljIGNsYXNzIENheWVubmVNb2RlbGVy RnJhbWUgZXh0ZW5kcyBKRnJhbWUgaW1wbGVtZW50cyBEYXRhTm9kZURpc3BsYXlMaXN0ZW4KKyAg ICAgICAgICAgICBoZWxwTWVudS5zZXRNbmVtb25pYyhLZXlFdmVudC5WS19IKTsKKyAgICAgICAg IH0KKyAKKy0gICAgICAgIGZpbGVNZW51LmFkZChnZXRBY3Rpb24oTmV3UHJvamVjdEFjdGlvbi5n ZXRBY3Rpb25OYW1lKCkpLmJ1aWxkTWVudSgpKTsKKy0gICAgICAgIGZpbGVNZW51LmFkZChnZXRB Y3Rpb24oT3BlblByb2plY3RBY3Rpb24uZ2V0QWN0aW9uTmFtZSgpKS5idWlsZE1lbnUoKSk7Cist ICAgICAgICBmaWxlTWVudS5hZGQoZ2V0QWN0aW9uKFByb2plY3RBY3Rpb24uZ2V0QWN0aW9uTmFt ZSgpKS5idWlsZE1lbnUoKSk7CistICAgICAgICBmaWxlTWVudS5hZGQoZ2V0QWN0aW9uKEltcG9y dERhdGFNYXBBY3Rpb24uZ2V0QWN0aW9uTmFtZSgpKS5idWlsZE1lbnUoKSk7CistICAgICAgICBm aWxlTWVudS5hZGRTZXBhcmF0b3IoKTsKKy0gICAgICAgIGZpbGVNZW51LmFkZChnZXRBY3Rpb24o U2F2ZUFjdGlvbi5nZXRBY3Rpb25OYW1lKCkpLmJ1aWxkTWVudSgpKTsKKy0gICAgICAgIGZpbGVN ZW51LmFkZChnZXRBY3Rpb24oU2F2ZUFzQWN0aW9uLmdldEFjdGlvbk5hbWUoKSkuYnVpbGRNZW51 KCkpOworLSAgICAgICAgZmlsZU1lbnUuYWRkKGdldEFjdGlvbihSZXZlcnRBY3Rpb24uZ2V0QWN0 aW9uTmFtZSgpKS5idWlsZE1lbnUoKSk7CistICAgICAgICBmaWxlTWVudS5hZGRTZXBhcmF0b3Io KTsKKysgICAgICAgIGJ1aWxkRmlsZU1lbnUoZmlsZU1lbnUpOworIAorICAgICAgICAgZWRpdE1l bnUuYWRkKGdldEFjdGlvbihVbmRvQWN0aW9uLmdldEFjdGlvbk5hbWUoKSkuYnVpbGRNZW51KCkp OworICAgICAgICAgZWRpdE1lbnUuYWRkKGdldEFjdGlvbihSZWRvQWN0aW9uLmdldEFjdGlvbk5h bWUoKSkuYnVpbGRNZW51KCkpOworQEAgLTIwMiwxNiArMTk0LDYgQEAgcHVibGljIGNsYXNzIENh eWVubmVNb2RlbGVyRnJhbWUgZXh0ZW5kcyBKRnJhbWUgaW1wbGVtZW50cyBEYXRhTm9kZURpc3Bs YXlMaXN0ZW4KKyAgICAgICAgIGVkaXRNZW51LmFkZChnZXRBY3Rpb24oQ29weUFjdGlvbi5nZXRB Y3Rpb25OYW1lKCkpLmJ1aWxkTWVudSgpKTsKKyAgICAgICAgIGVkaXRNZW51LmFkZChnZXRBY3Rp b24oUGFzdGVBY3Rpb24uZ2V0QWN0aW9uTmFtZSgpKS5idWlsZE1lbnUoKSk7CisgCistICAgICAg ICByZWNlbnRGaWxlTWVudSA9IG5ldyBSZWNlbnRGaWxlTWVudSgiUmVjZW50IFByb2plY3RzIik7 CistICAgICAgICBhZGRSZWNlbnRGaWxlTGlzdExpc3RlbmVyKHJlY2VudEZpbGVNZW51KTsKKy0g ICAgICAgIGZpbGVNZW51LmFkZChyZWNlbnRGaWxlTWVudSk7CistCistICAgICAgICAvLyBNYWMg T1MgWCBkb2Vzbid0IHVzZSBGaWxlLT5FeGl0LCBpdCB1c2VzIENheWVubmVNb2RlbGVyLT5RdWl0 IChjb21tYW5kLVEpCistICAgICAgICBpZiAoT3BlcmF0aW5nU3lzdGVtLmdldE9TKCkgIT0gT3Bl cmF0aW5nU3lzdGVtLk1BQ19PU19YKSB7CistICAgICAgICAgICAgZmlsZU1lbnUuYWRkU2VwYXJh dG9yKCk7CistICAgICAgICAgICAgZmlsZU1lbnUuYWRkKGdldEFjdGlvbihFeGl0QWN0aW9uLmdl dEFjdGlvbk5hbWUoKSkuYnVpbGRNZW51KCkpOworLSAgICAgICAgfQorLQorICAgICAgICAgcHJv amVjdE1lbnUuYWRkKGdldEFjdGlvbihWYWxpZGF0ZUFjdGlvbi5nZXRBY3Rpb25OYW1lKCkpLmJ1 aWxkTWVudSgpKTsKKyAgICAgICAgIHByb2plY3RNZW51LmFkZFNlcGFyYXRvcigpOworICAgICAg ICAgcHJvamVjdE1lbnUuYWRkKGdldEFjdGlvbihDcmVhdGVOb2RlQWN0aW9uLmdldEFjdGlvbk5h bWUoKSkuYnVpbGRNZW51KCkpOworQEAgLTI3OSw2ICsyNjEsMjggQEAgcHVibGljIGNsYXNzIENh eWVubmVNb2RlbGVyRnJhbWUgZXh0ZW5kcyBKRnJhbWUgaW1wbGVtZW50cyBEYXRhTm9kZURpc3Bs YXlMaXN0ZW4KKyAgICAgICAgIHNldEpNZW51QmFyKG1lbnVCYXIpOworICAgICB9CisgCisrICAg IHByb3RlY3RlZCB2b2lkIGJ1aWxkRmlsZU1lbnUoSk1lbnUgZmlsZU1lbnUpIHsKKysgICAgICAg IGZpbGVNZW51LmFkZChnZXRBY3Rpb24oTmV3UHJvamVjdEFjdGlvbi5nZXRBY3Rpb25OYW1lKCkp LmJ1aWxkTWVudSgpKTsKKysgICAgICAgIGZpbGVNZW51LmFkZChnZXRBY3Rpb24oT3BlblByb2pl Y3RBY3Rpb24uZ2V0QWN0aW9uTmFtZSgpKS5idWlsZE1lbnUoKSk7CisrICAgICAgICBmaWxlTWVu dS5hZGQoZ2V0QWN0aW9uKFByb2plY3RBY3Rpb24uZ2V0QWN0aW9uTmFtZSgpKS5idWlsZE1lbnUo KSk7CisrICAgICAgICBmaWxlTWVudS5hZGQoZ2V0QWN0aW9uKEltcG9ydERhdGFNYXBBY3Rpb24u Z2V0QWN0aW9uTmFtZSgpKS5idWlsZE1lbnUoKSk7CisrICAgICAgICBmaWxlTWVudS5hZGRTZXBh cmF0b3IoKTsKKysgICAgICAgIGZpbGVNZW51LmFkZChnZXRBY3Rpb24oU2F2ZUFjdGlvbi5nZXRB Y3Rpb25OYW1lKCkpLmJ1aWxkTWVudSgpKTsKKysgICAgICAgIGZpbGVNZW51LmFkZChnZXRBY3Rp b24oU2F2ZUFzQWN0aW9uLmdldEFjdGlvbk5hbWUoKSkuYnVpbGRNZW51KCkpOworKyAgICAgICAg ZmlsZU1lbnUuYWRkKGdldEFjdGlvbihSZXZlcnRBY3Rpb24uZ2V0QWN0aW9uTmFtZSgpKS5idWls ZE1lbnUoKSk7CisrICAgICAgICBmaWxlTWVudS5hZGRTZXBhcmF0b3IoKTsKKysgICAgICAgIAor KyAgICAgICAgcmVjZW50RmlsZU1lbnUgPSBpbml0UmVjZW50RmlsZU1lbnUoIlJlY2VudCBQcm9q ZWN0cyIpOworKyAgICAgICAgYWRkUmVjZW50RmlsZUxpc3RMaXN0ZW5lcihyZWNlbnRGaWxlTWVu dSk7CisrICAgICAgICBmaWxlTWVudS5hZGQocmVjZW50RmlsZU1lbnUpOworKworKyAgICAgICAg Ly8gTWFjIE9TIFggZG9lc24ndCB1c2UgRmlsZS0+RXhpdCwgaXQgdXNlcyBDYXllbm5lTW9kZWxl ci0+UXVpdCAoY29tbWFuZC1RKQorKyAgICAgICAgaWYgKE9wZXJhdGluZ1N5c3RlbS5nZXRPUygp ICE9IE9wZXJhdGluZ1N5c3RlbS5NQUNfT1NfWCkgeworKyAgICAgICAgICAgIGZpbGVNZW51LmFk ZFNlcGFyYXRvcigpOworKyAgICAgICAgICAgIGZpbGVNZW51LmFkZChnZXRBY3Rpb24oRXhpdEFj dGlvbi5nZXRBY3Rpb25OYW1lKCkpLmJ1aWxkTWVudSgpKTsKKysgICAgICAgIH0KKysgICAgfQor KworICAgICAvKioKKyAgICAgICogU2VsZWN0cy9kZXNlbGVjdHMgbWVudSBpdGVtLCBkZXBlbmRp bmcgb24gc3RhdHVzIG9mIGxvZyBjb25zb2xlCisgICAgICAqLworQEAgLTM2MCw5ICszNjQsNyBA QCBwdWJsaWMgY2xhc3MgQ2F5ZW5uZU1vZGVsZXJGcmFtZSBleHRlbmRzIEpGcmFtZSBpbXBsZW1l bnRzIERhdGFOb2RlRGlzcGxheUxpc3RlbgorICAgICBwcm90ZWN0ZWQgdm9pZCBpbml0VG9vbGJh cigpIHsKKyAgICAgICAgIEpUb29sQmFyIHRvb2xCYXIgPSBuZXcgSlRvb2xCYXIoKTsKKyAKKy0g ICAgICAgIHRvb2xCYXIuYWRkKGdldEFjdGlvbihOZXdQcm9qZWN0QWN0aW9uLmdldEFjdGlvbk5h bWUoKSkuYnVpbGRCdXR0b24oKSk7CistICAgICAgICB0b29sQmFyLmFkZChnZXRBY3Rpb24oT3Bl blByb2plY3RBY3Rpb24uZ2V0QWN0aW9uTmFtZSgpKS5idWlsZEJ1dHRvbigpKTsKKy0gICAgICAg IHRvb2xCYXIuYWRkKGdldEFjdGlvbihTYXZlQWN0aW9uLmdldEFjdGlvbk5hbWUoKSkuYnVpbGRC dXR0b24oKSk7CisrICAgICAgICBidWlsZFByb2plY3RUb29sYmFyKHRvb2xCYXIpOworIAorICAg ICAgICAgdG9vbEJhci5hZGRTZXBhcmF0b3IoKTsKKyAgICAgICAgIHRvb2xCYXIuYWRkKGdldEFj dGlvbihSZW1vdmVBY3Rpb24uZ2V0QWN0aW9uTmFtZSgpKS5idWlsZEJ1dHRvbigpKTsKK0BAIC00 NDksNiArNDUxLDEyIEBAIHB1YmxpYyBjbGFzcyBDYXllbm5lTW9kZWxlckZyYW1lIGV4dGVuZHMg SkZyYW1lIGltcGxlbWVudHMgRGF0YU5vZGVEaXNwbGF5TGlzdGVuCisgICAgICAgICBnZXRDb250 ZW50UGFuZSgpLmFkZCh0b29sQmFyLCBCb3JkZXJMYXlvdXQuTk9SVEgpOworICAgICB9CisgCisr ICAgIHByb3RlY3RlZCB2b2lkIGJ1aWxkUHJvamVjdFRvb2xiYXIoSlRvb2xCYXIgdG9vbEJhcikg eworKyAgICAgICAgdG9vbEJhci5hZGQoZ2V0QWN0aW9uKE5ld1Byb2plY3RBY3Rpb24uZ2V0QWN0 aW9uTmFtZSgpKS5idWlsZEJ1dHRvbigpKTsKKysgICAgICAgIHRvb2xCYXIuYWRkKGdldEFjdGlv bihPcGVuUHJvamVjdEFjdGlvbi5nZXRBY3Rpb25OYW1lKCkpLmJ1aWxkQnV0dG9uKCkpOworKyAg ICAgICAgdG9vbEJhci5hZGQoZ2V0QWN0aW9uKFNhdmVBY3Rpb24uZ2V0QWN0aW9uTmFtZSgpKS5i dWlsZEJ1dHRvbigpKTsKKysgICAgfQorKworICAgICBwdWJsaWMgdm9pZCBjdXJyZW50RGF0YU5v ZGVDaGFuZ2VkKERhdGFOb2RlRGlzcGxheUV2ZW50IGUpIHsKKyAgICAgICAgIGFjdGlvbk1hbmFn ZXIuZGF0YU5vZGVTZWxlY3RlZCgpOworICAgICB9CitAQCAtNTM3LDQgKzU0NSwxMCBAQCBwdWJs aWMgY2xhc3MgQ2F5ZW5uZU1vZGVsZXJGcmFtZSBleHRlbmRzIEpGcmFtZSBpbXBsZW1lbnRzIERh dGFOb2RlRGlzcGxheUxpc3RlbgorICAgICAgICAgICAgIHJlY2VudEZpbGVMaXN0ZW5lci5yZWNl bnRGaWxlTGlzdENoYW5nZWQoKTsKKyAgICAgICAgIH0KKyAgICAgfQorKworKyAgICBwcm90ZWN0 ZWQgUmVjZW50RmlsZU1lbnUgaW5pdFJlY2VudEZpbGVNZW51KFN0cmluZyB0aXRsZSkgeworKyAg ICAgICAgcmV0dXJuIG5ldyBSZWNlbnRGaWxlTWVudSh0aXRsZSk7CisrICAgIH0KKysKKysgICAg CisgfQorZGlmZiAtLWdpdCBhL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyL3NyYy9tYWluL2phdmEv b3JnL2FwYWNoZS9jYXllbm5lL21vZGVsZXIvTWFpbi5qYXZhIGIvbW9kZWxlci9jYXllbm5lLW1v ZGVsZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvbW9kZWxlci9NYWluLmphdmEK K2luZGV4IDFlZThhYmIuLjE0NWQ1ZjYgMTAwNjQ0CistLS0gYS9tb2RlbGVyL2NheWVubmUtbW9k ZWxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9tb2RlbGVyL01haW4uamF2YQor KysrIGIvbW9kZWxlci9jYXllbm5lLW1vZGVsZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2Nh eWVubmUvbW9kZWxlci9NYWluLmphdmEKK0BAIC0xMDYsNyArMTA2LDcgQEAgcHVibGljIGNsYXNz IE1haW4geworICAgICAgICAgLy8gc2V0IHVwIFVJCisgICAgICAgICBjb25maWd1cmVMb29rQW5k RmVlbCgpOworIAorLSAgICAgICAgQXBwbGljYXRpb24uaW5zdGFuY2UgPSBuZXcgQXBwbGljYXRp b24ocHJvamVjdEZpbGUpOworKyAgICAgICAgQXBwbGljYXRpb24uaW5zdGFuY2UgPSBpbml0QXBw bGljYXRpb24ocHJvamVjdEZpbGUpOworIAorICAgICAgICAgLy8gc3RhcnQgZnJhbWUgYW5kIGxv YWQgcHJvamVjdCBmcm9tIEV2ZW50RGlzcGF0Y2hUaHJlYWQuLi4KKyAgICAgICAgIFJ1bm5hYmxl IHJ1bm5hYmxlID0gbmV3IFJ1bm5hYmxlKCkgeworQEAgLTMwMSw0ICszMDEsOCBAQCBwdWJsaWMg Y2xhc3MgTWFpbiB7CisgCisgICAgICAgICByZXR1cm4gQ2F5ZW5uZVVzZXJEaXIuZ2V0SW5zdGFu Y2UoKS5yZXNvbHZlRmlsZSgibW9kZWxlci5sb2ciKTsKKyAgICAgfQorKworKyAgICBwcm90ZWN0 ZWQgQXBwbGljYXRpb24gaW5pdEFwcGxpY2F0aW9uKEZpbGUgcHJvamVjdEZpbGUpIHsKKysgICAg ICAgIHJldHVybiBuZXcgQXBwbGljYXRpb24ocHJvamVjdEZpbGUpOworKyAgICB9CisgfQorZGlm ZiAtLWdpdCBhL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNo ZS9jYXllbm5lL21vZGVsZXIvYWN0aW9uL0V4aXRBY3Rpb24uamF2YSBiL21vZGVsZXIvY2F5ZW5u ZS1tb2RlbGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL21vZGVsZXIvYWN0aW9u L0V4aXRBY3Rpb24uamF2YQoraW5kZXggYzg1YmNiMC4uZWI3YzZjNCAxMDA2NDQKKy0tLSBhL21v ZGVsZXIvY2F5ZW5uZS1tb2RlbGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL21v ZGVsZXIvYWN0aW9uL0V4aXRBY3Rpb24uamF2YQorKysrIGIvbW9kZWxlci9jYXllbm5lLW1vZGVs ZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvbW9kZWxlci9hY3Rpb24vRXhpdEFj dGlvbi5qYXZhCitAQCAtNTUsOCArNTUsNyBAQCBwdWJsaWMgY2xhc3MgRXhpdEFjdGlvbiBleHRl bmRzIFByb2plY3RBY3Rpb24geworIAorIAkJQ2F5ZW5uZVByZWZlcmVuY2VGb3JQcm9qZWN0LnJl bW92ZU5ld1ByZWZlcmVuY2VzKCk7CisgCQkKKy0JCS8vIGdvb2RieWUKKy0gICAgICAgIFN5c3Rl bS5leGl0KDApOworKwkJYXBwbGljYXRpb25TaHV0ZG93bigpOworICAgICB9CisgCisgICAgIC8q KgorQEAgLTY1LDQgKzY0LDkgQEAgcHVibGljIGNsYXNzIEV4aXRBY3Rpb24gZXh0ZW5kcyBQcm9q ZWN0QWN0aW9uIHsKKyAgICAgcHVibGljIGJvb2xlYW4gZW5hYmxlRm9yUGF0aChQcm9qZWN0UGF0 aCBwYXRoKSB7CisgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgfQorKworKyAgICBwcm90ZWN0 ZWQgdm9pZCBhcHBsaWNhdGlvblNodXRkb3duKCkgeworKyAgICAgICAgLy8gZ29vZGJ5ZQorKyAg ICAgICAgU3lzdGVtLmV4aXQoMCk7CisrICAgIH0KKyB9CitkaWZmIC0tZ2l0IGEvbW9kZWxlci9j YXllbm5lLW1vZGVsZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvbW9kZWxlci9h Y3Rpb24vR2VuZXJhdGVDb2RlQWN0aW9uLmphdmEgYi9tb2RlbGVyL2NheWVubmUtbW9kZWxlci9z cmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9tb2RlbGVyL2FjdGlvbi9HZW5lcmF0ZUNv ZGVBY3Rpb24uamF2YQoraW5kZXggM2ZkNTNkOC4uZTc5MzQ1MCAxMDA2NDQKKy0tLSBhL21vZGVs ZXIvY2F5ZW5uZS1tb2RlbGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL21vZGVs ZXIvYWN0aW9uL0dlbmVyYXRlQ29kZUFjdGlvbi5qYXZhCisrKysgYi9tb2RlbGVyL2NheWVubmUt bW9kZWxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9tb2RlbGVyL2FjdGlvbi9H ZW5lcmF0ZUNvZGVBY3Rpb24uamF2YQorQEAgLTIxLDYgKzIxLDcgQEAgcGFja2FnZSBvcmcuYXBh Y2hlLmNheWVubmUubW9kZWxlci5hY3Rpb247CisgCisgaW1wb3J0IGphdmEuYXd0LmV2ZW50LkFj dGlvbkV2ZW50OworIAorK2ltcG9ydCBvcmcuYXBhY2hlLmNheWVubmUuY29uZmlndXJhdGlvbi5E YXRhQ2hhbm5lbERlc2NyaXB0b3I7CisgaW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5tYXAuRGF0 YU1hcDsKKyBpbXBvcnQgb3JnLmFwYWNoZS5jYXllbm5lLm1vZGVsZXIuQXBwbGljYXRpb247Cisg aW1wb3J0IG9yZy5hcGFjaGUuY2F5ZW5uZS5tb2RlbGVyLmRpYWxvZy5jb2RlZ2VuLkNvZGVHZW5l cmF0b3JDb250cm9sbGVyOworQEAgLTU5LDQgKzYwLDEzIEBAIHB1YmxpYyBjbGFzcyBHZW5lcmF0 ZUNvZGVBY3Rpb24gZXh0ZW5kcyBDYXllbm5lQWN0aW9uIHsKKyAKKyAgICAgICAgIHJldHVybiBw YXRoLmZpcnN0SW5zdGFuY2VPZihEYXRhTWFwLmNsYXNzKSAhPSBudWxsOworICAgICB9CisrCisr ICAgIHB1YmxpYyB2b2lkIHBlcmZvcm1HZW5lcmF0aW9uT25BbGxEYXRhTWFwcygpIHsKKysgICAg ICAgIGZvcihEYXRhTWFwIGRhdGFNYXA6KChEYXRhQ2hhbm5lbERlc2NyaXB0b3IpZ2V0UHJvamVj dENvbnRyb2xsZXIoKS5nZXRQcm9qZWN0KCkuZ2V0Um9vdE5vZGUoKSkuZ2V0RGF0YU1hcHMoKSl7 CisrICAgICAgICAgICAgaWYgKGRhdGFNYXAgIT0gbnVsbCkgeworKyAgICAgICAgICAgICAgICBu ZXcgQ29kZUdlbmVyYXRvckNvbnRyb2xsZXIoZ2V0QXBwbGljYXRpb24oKS5nZXRGcmFtZUNvbnRy b2xsZXIoKSwgZGF0YU1hcCkKKysgICAgICAgICAgICAgICAgICAgICAgICAuc3RhcnR1cCgpOwor KyAgICAgICAgICAgIH0KKysgICAgICAgIH0KKysgICAgfQorIH0KK2RpZmYgLS1naXQgYS9tb2Rl bGVyL2NheWVubmUtbW9kZWxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvY2F5ZW5uZS9tb2Rl bGVyL3V0aWwvQ2F5ZW5uZUNvbnRyb2xsZXIuamF2YSBiL21vZGVsZXIvY2F5ZW5uZS1tb2RlbGVy L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL21vZGVsZXIvdXRpbC9DYXllbm5lQ29u dHJvbGxlci5qYXZhCitpbmRleCAxODRmNGE3Li5kNzlmOTUxIDEwMDY0NAorLS0tIGEvbW9kZWxl ci9jYXllbm5lLW1vZGVsZXIvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2NheWVubmUvbW9kZWxl ci91dGlsL0NheWVubmVDb250cm9sbGVyLmphdmEKKysrKyBiL21vZGVsZXIvY2F5ZW5uZS1tb2Rl bGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9jYXllbm5lL21vZGVsZXIvdXRpbC9DYXllbm5l Q29udHJvbGxlci5qYXZhCitAQCAtNTYsNyArNTYsOSBAQCBwdWJsaWMgYWJzdHJhY3QgY2xhc3Mg Q2F5ZW5uZUNvbnRyb2xsZXIgaW1wbGVtZW50cyBCb3VuZENvbXBvbmVudCB7CisgICAgIHByb3Rl Y3RlZCBQcm9wZXJ0eUNoYW5nZVN1cHBvcnQgcHJvcGVydHlDaGFuZ2VTdXBwb3J0OworIAorICAg ICBwdWJsaWMgQ2F5ZW5uZUNvbnRyb2xsZXIoQ2F5ZW5uZUNvbnRyb2xsZXIgcGFyZW50KSB7Cist ICAgICAgICB0aGlzLmFwcGxpY2F0aW9uID0gKHBhcmVudCAhPSBudWxsKSA/IHBhcmVudC5nZXRB cHBsaWNhdGlvbigpIDogbnVsbDsKKysgICAgICAgIGlmKHBhcmVudCE9bnVsbCl7CisrICAgICAg ICAgICAgdGhpcy5hcHBsaWNhdGlvbiA9IHBhcmVudC5nZXRBcHBsaWNhdGlvbigpOworKyAgICAg ICAgfQorICAgICAgICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7CisgICAgIH0KKyAKKy0tIAorMS42 LjAuNgorCkluZGV4OiBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tSUkvcGx1Z2luLnht bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBjYXllbm5lLW1vZGVsZXItZWNsaXBzZS1wbHVnaW4tSUkvcGx1Z2lu LnhtbAkocmV2aXNpb24gMCkKKysrIGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1JSS9w bHVnaW4ueG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIx LjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPD9lY2xpcHNlIHZlcnNpb249IjMuMiI/PgorPHBsdWdp bj4KKzxleHRlbnNpb24gcG9pbnQ9Im9yZy5lY2xpcHNlLnVpLmVkaXRvcnMiPgorPGVkaXRvciBu YW1lPSJDYXllbm5lIE1vZGVsZXIgRWNsaXBzZSBQbHVnaW4iIGljb249Imljb25zL2NheWVubmUu cG5nIiAKK2xhdW5jaGVyPSJvcmcuYXBhY2hlLmNheWVubmUubGF1bmNoZXIuRWRpdG9yTGF1bmNo ZXIiIAoraWQ9Im9yZy5hcGFjaGUuY2F5ZW5uZS5sYXVuY2hlci5FZGl0b3JMYXVuY2hlciI+Cis8 L2VkaXRvcj4KKzwvZXh0ZW5zaW9uPgorPC9wbHVnaW4+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpJbmRleDogY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLUlJLy5zZXR0aW5ncy9v cmcuZWNsaXBzZS5qZHQuY29yZS5wcmVmcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjYXllbm5lLW1vZGVsZXIt ZWNsaXBzZS1wbHVnaW4tSUkvLnNldHRpbmdzL29yZy5lY2xpcHNlLmpkdC5jb3JlLnByZWZzCShy ZXZpc2lvbiAwKQorKysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLUlJLy5zZXR0aW5n cy9vcmcuZWNsaXBzZS5qZHQuY29yZS5wcmVmcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5IEBA CisjTW9uIEp1biAxMyAyMDoyNDo1MyBJU1QgMjAxMQorZWNsaXBzZS5wcmVmZXJlbmNlcy52ZXJz aW9uPTEKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLmNvZGVnZW4uaW5saW5lSnNyQnl0 ZWNvZGU9ZW5hYmxlZAorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIuY29kZWdlbi50YXJn ZXRQbGF0Zm9ybT0xLjUKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLmNvbXBsaWFuY2U9 MS41CitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLmFzc2VydElkZW50aWZp ZXI9ZXJyb3IKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0uZW51bUlkZW50 aWZpZXI9ZXJyb3IKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnByb2JsZW0uZm9yYmlk ZGVuUmVmZXJlbmNlPXdhcm5pbmcKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLnNvdXJj ZT0xLjUKSW5kZXg6IGNheWVubmUtbW9kZWxlci1lY2xpcHNlLXBsdWdpbi1JSS8uc2V0dGluZ3Mv b3JnLm1hdmVuLmlkZS5lY2xpcHNlLnByZWZzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNheWVubmUtbW9kZWxl ci1lY2xpcHNlLXBsdWdpbi1JSS8uc2V0dGluZ3Mvb3JnLm1hdmVuLmlkZS5lY2xpcHNlLnByZWZz CShyZXZpc2lvbiAwKQorKysgY2F5ZW5uZS1tb2RlbGVyLWVjbGlwc2UtcGx1Z2luLUlJLy5zZXR0 aW5ncy9vcmcubWF2ZW4uaWRlLmVjbGlwc2UucHJlZnMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs OCBAQAorI1RodSBNYXkgMTIgMDk6NTk6NTYgRUVTVCAyMDExCithY3RpdmVQcm9maWxlcz0KK2Vj bGlwc2UucHJlZmVyZW5jZXMudmVyc2lvbj0xCitmdWxsQnVpbGRHb2Fscz1wcm9jZXNzLXRlc3Qt cmVzb3VyY2VzCityZXNvbHZlV29ya3NwYWNlUHJvamVjdHM9dHJ1ZQorcmVzb3VyY2VGaWx0ZXJH b2Fscz1wcm9jZXNzLXJlc291cmNlcyByZXNvdXJjZXNcOnRlc3RSZXNvdXJjZXMKK3NraXBDb21w aWxlclBsdWdpbj10cnVlCit2ZXJzaW9uPTEK --bcaec50167152c720804a59ac0af--