Home » Modeling » EMF » ecore not reloading from Java in RC6. Worked under RC5!
| |
Re: ecore not reloading from Java in RC6. Worked under RC5! [message #401435 is a reply to message #401429] |
Tue, 30 May 2006 06:59 |
Philipp Kutter Messages: 306 Registered: July 2009 |
Senior Member |
|
|
Hi, Ed.
I removed the .metadata, reimported the two projects, and get the
following error log:
!SESSION 2006-05-29 23:56:05.078
-----------------------------------------------
eclipse.buildId=I20060526-0010
java.version=1.5.0_06
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH
Command-line arguments: -os win32 -ws win32 -arch x86
!ENTRY org.eclipse.emf.importer.java 2 0 2006-05-29 23:58:06.562
!MESSAGE
!STACK 0
java.lang.NullPointerException
at
org.eclipse.emf.importer.java.builder.JavaEcoreBuilder.compu teEPackages(JavaEcoreBuilder.java:510)
at
org.eclipse.emf.importer.java.JavaImporter.doComputeEPackage s(JavaImporter.java:82)
at
org.eclipse.emf.importer.ModelImporter.computeEPackages(Mode lImporter.java:519)
at
org.eclipse.emf.importer.java.ui.JavaPackagePage.computeEPac kages(JavaPackagePage.java:106)
at
org.eclipse.emf.importer.java.ui.JavaPackagePage$2.execute(J avaPackagePage.java:81)
at
org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(Worksp aceModifyOperation.java:101)
at org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1737)
at
org.eclipse.ui.actions.WorkspaceModifyOperation.run(Workspac eModifyOperation.java:113)
at
org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:369)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:313)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 851)
at
org.eclipse.emf.importer.java.ui.JavaPackagePage.computeEPac kages(JavaPackagePage.java:96)
at
org.eclipse.emf.importer.java.ui.JavaPackagePage$1.run(JavaP ackagePage.java:59)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:123)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3325)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2971)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:820 )
at org.eclipse.jface.window.Window.open(Window.java:796)
at
org.eclipse.emf.converter.ui.OpenWizardActionDelegate.run(Op enWizardActionDelegate.java:112)
at
org.eclipse.emf.converter.ui.OpenWizardActionDelegate.run(Op enWizardActionDelegate.java:102)
at
org.eclipse.ui.actions.ActionDelegate.runWithEvent(ActionDel egate.java:70)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginActi on.java:244)
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:539)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:488)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:400)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
Best, Philipp
Ed Merks wrote:
> Phillip,
>
> It worked for me locally just now. Could you check the error log for
> exceptions?
>
>
> Philipp W. Kutter wrote:
>> Here is the zip. For me this does not allow me to reload the Ecore
>> from the Java sources under RC6. Under RC5 it works.
>>
>>
>> Under RC6 it just shows an empty set of packages ;-(
>>
>> I attach the project, its templateFw, the other project (patternFw) is
>> just imported. The genmodel I try to reload is under templateFw/model
>>
>> Best, Philipp
|
|
|
Re: ecore not reloading from Java in RC6. Worked under RC5! [message #401437 is a reply to message #401435] |
Tue, 30 May 2006 11:11 |
Ed Merks Messages: 33142 Registered: July 2009 |
Senior Member |
|
|
This is a multi-part message in MIME format.
--------------000309070407000207060503
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Philipp,
I'll need to add a guard since it seems there is a dependency on a
missing plugin on the second line here:
Bundle bundle = Platform.getBundle(pluginID);
String requires =
(String)bundle.getHeaders().get(Constants.REQUIRE_BUNDLE);
This relates to changes made for
https://bugs.eclipse.org/bugs/show_bug.cgi?id=144254 which allow you to
use @model annotations in a brand new model to use a GenModel registered
in the installed plugin environment, i.e., the above code is doing a
full plugin dependency analysis.
Could you use the attached JavaEcoreBuilder.class to patch your
installation and confirm that this fixes the problem and that there are
no additional problems? Please open a bugzilla as well...
Philipp W. Kutter wrote:
> Hi, Ed.
> I removed the .metadata, reimported the two projects, and get the
> following error log:
>
> !SESSION 2006-05-29 23:56:05.078
> -----------------------------------------------
> eclipse.buildId=I20060526-0010
> java.version=1.5.0_06
> java.vendor=Sun Microsystems Inc.
> BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH
> Command-line arguments: -os win32 -ws win32 -arch x86
>
> !ENTRY org.eclipse.emf.importer.java 2 0 2006-05-29 23:58:06.562
> !MESSAGE
> !STACK 0
> java.lang.NullPointerException
> at
> org.eclipse.emf.importer.java.builder.JavaEcoreBuilder.compu teEPackages(JavaEcoreBuilder.java:510)
>
> at
> org.eclipse.emf.importer.java.JavaImporter.doComputeEPackage s(JavaImporter.java:82)
>
> at
> org.eclipse.emf.importer.ModelImporter.computeEPackages(Mode lImporter.java:519)
>
> at
> org.eclipse.emf.importer.java.ui.JavaPackagePage.computeEPac kages(JavaPackagePage.java:106)
>
> at
> org.eclipse.emf.importer.java.ui.JavaPackagePage$2.execute(J avaPackagePage.java:81)
>
> at
> org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(Worksp aceModifyOperation.java:101)
>
> at
> org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1737)
> at
> org.eclipse.ui.actions.WorkspaceModifyOperation.run(Workspac eModifyOperation.java:113)
>
> at
> org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:369)
>
> at
> org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:313)
> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 851)
> at
> org.eclipse.emf.importer.java.ui.JavaPackagePage.computeEPac kages(JavaPackagePage.java:96)
>
> at
> org.eclipse.emf.importer.java.ui.JavaPackagePage$1.run(JavaP ackagePage.java:59)
>
> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
> at
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:123)
>
> at
> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3325)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2971)
> at org.eclipse.jface.window.Window.runEventLoop(Window.java:820 )
> at org.eclipse.jface.window.Window.open(Window.java:796)
> at
> org.eclipse.emf.converter.ui.OpenWizardActionDelegate.run(Op enWizardActionDelegate.java:112)
>
> at
> org.eclipse.emf.converter.ui.OpenWizardActionDelegate.run(Op enWizardActionDelegate.java:102)
>
> at
> org.eclipse.ui.actions.ActionDelegate.runWithEvent(ActionDel egate.java:70)
>
> at
> org.eclipse.ui.internal.PluginAction.runWithEvent(PluginActi on.java:244)
> at
> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:539)
>
> at
> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:488)
>
> at
> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:400)
>
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
> at
> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3348)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2968)
> at
> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1914)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:419)
>
> at
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at
> org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
> at
> org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
> at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
> at org.eclipse.core.launcher.Main.run(Main.java:977)
> at org.eclipse.core.launcher.Main.main(Main.java:952)
>
>
> Best, Philipp
>
> Ed Merks wrote:
>> Phillip,
>>
>> It worked for me locally just now. Could you check the error log for
>> exceptions?
>>
>>
>> Philipp W. Kutter wrote:
>>> Here is the zip. For me this does not allow me to reload the Ecore
>>> from the Java sources under RC6. Under RC5 it works.
>>>
>>>
>>> Under RC6 it just shows an empty set of packages ;-(
>>>
>>> I attach the project, its templateFw, the other project (patternFw)
>>> is just imported. The genmodel I try to reload is under
>>> templateFw/model
>>>
>>> Best, Philipp
--------------000309070407000207060503
Content-Type: application/octet-stream;
name="JavaEcoreBuilder.class"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="JavaEcoreBuilder.class"
yv66vgAAADAG5AcAAgEANm9yZy9lY2xpcHNlL2VtZi9pbXBvcnRlci9qYXZh L2J1aWxkZXIv
SmF2YUVjb3JlQnVpbGRlcgcABAEAEGphdmEvbGFuZy9PYmplY3QBAAtqZG9t RmFjdG9yeQEA
JkxvcmcvZWNsaXBzZS9qZHQvY29yZS9qZG9tL0RPTUZhY3Rvcnk7AQAMZ2Vu TW9kZWxGaWxl
AQAiTG9yZy9lY2xpcHNlL2NvcmUvcmVzb3VyY2VzL0lGaWxlOwEACGdlbk1v ZGVsAQAxTG9y
Zy9lY2xpcHNlL2VtZi9jb2RlZ2VuL2Vjb3JlL2dlbm1vZGVsL0dlbk1vZGVs OwEAIGV4dGVy
bmFsUGFja2FnZU5hbWVUb0VQYWNrYWdlTWFwAQAPTGphdmEvdXRpbC9NYXA7 AQAYcGFja2Fn
ZU5hbWVUb0VQYWNrYWdlTWFwAQAVZVBhY2thZ2VUb09yZGVyaW5nTWFwAQAT ZVBhY2thZ2VU
b1ByZWZpeE1hcAEAGmVNb2RlbEVsZW1lbnRUb0lET01Ob2RlTWFwAQAaZVR5 cGVkRWxlbWVu
dFRvVHlwZU5hbWVNYXABACJlVHlwZWRFbGVtZW50VG9JbnN0YW5jZVR5cGVO YW1lTWFwAQAX
ZGVtYW5kQ3JlYXRlZEVEYXRhVHlwZXMBAA9MamF2YS91dGlsL1NldDsBABll Q2xhc3NUb1N1
cGVyVHlwZU5hbWVzTWFwAQAbZVJlZmVyZW5jZVRvT3Bwb3NpdGVOYW1lTWFw AQARZXh0ZXJu
YWxHZW5Nb2RlbHMBABZMamF2YS91dGlsL0NvbGxlY3Rpb247AQAPdXNlZEdl blBhY2thZ2Vz
AQAPYmFzaWNEaWFnbm9zdGljAQAtTG9yZy9lY2xpcHNlL2VtZi9jb21tb24v dXRpbC9CYXNp
Y0RpYWdub3N0aWM7AQAJZm91bmRKYXZhAQABWgEAEm9sZEdlbk1vZGVsVmVy c2lvbgEAEm1v
ZGVsRG9jRXhwcmVzc2lvbgEAGUxqYXZhL3V0aWwvcmVnZXgvUGF0dGVybjsB ABltb2RlbEFu
bm90YXRpb25FeHByZXNzaW9uAQAbZXh0ZW5kc0Fubm90YXRpb25FeHByZXNz aW9uAQAeaW1w
bGVtZW50c0Fubm90YXRpb25FeHByZXNzaW9uAQAVZUFubm90YXRpb25FeHBy ZXNzaW9uAQAb
ZUFubm90YXRpb25EZXRhaWxFeHByZXNzaW9uAQAIPGNsaW5pdD4BAAMoKVYB AARDb2RlBwAq
AQAkb3JnL2VjbGlwc2UvamR0L2NvcmUvamRvbS9ET01GYWN0b3J5CgApACwM AC0AJwEABjxp
bml0PgkAAQAvDAAFAAYIADEBAEw8IS0tXHMqYmVnaW4tbW9kZWwtZG9jXHMq LS0+WyBcZlxu
XHJcdF0qXCpccz8oLio/KTwhLS1ccyplbmQtbW9kZWwtZG9jXHMqLS0+CgAz ADUHADQBABdq
YXZhL3V0aWwvcmVnZXgvUGF0dGVybgwANgA3AQAHY29tcGlsZQEALihMamF2 YS9sYW5nL1N0
cmluZztJKUxqYXZhL3V0aWwvcmVnZXgvUGF0dGVybjsJAAEAOQwAHwAgCAA7 AQBPQFsgXGZc
blxyXHQqXSptb2RlbFsgXGZcblxyXHQqXSooKFx3KlxzKj1ccyooWyciXSko Pz5cXC58Likq
P1wzWyBcZlxuXHJcdCpdKikqKQkAAQA9DAAhACAIAD8BACFAXHMqZXh0ZW5k c1xzKigoWy5c
d10qXHMqLCpccyopKykJAAEAQQwAIgAgCABDAQAkQFxzKmltcGxlbWVudHNc cyooKFsuXHdd
KlxzKiwqXHMqKSspCQABAEUMACMAIAgARwEARFxHXHMqKCg/PlxcLnxcUykr KSgoPzpccyso
Pz5cXC58XFMpK1xzKis9XHMqKFsnIl0pKCg/PlxcLnwuKSo/KVwzKSopCgAz AEkMADYASgEA
LShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvdXRpbC9yZWdleC9QYXR0ZXJu OwkAAQBMDAAk
ACAIAE4BAC9ccysoKD8+XFwufFxTKSspXHMqKz1ccyooKFsnIl0pKCg/Plxc LnwuKSo/KVwz
KQkAAQBQDAAlACABAA9MaW5lTnVtYmVyVGFibGUBABJMb2NhbFZhcmlhYmxl VGFibGUBACUo
TG9yZy9lY2xpcHNlL2NvcmUvcmVzb3VyY2VzL0lGaWxlOylWCgADACwHAFYB ABdqYXZhL3V0
aWwvTGlua2VkSGFzaE1hcAoAVQAsCQABAFkMAAsADAkAAQBbDAANAAwJAAEA XQwADgAMCQAB
AF8MAA8ADAkAAQBhDAAQAAwJAAEAYwwAEQAMCQABAGUMABIADAcAZwEAEWph dmEvdXRpbC9I
YXNoU2V0CgBmACwJAAEAagwAEwAUCQABAGwMABUADAkAAQBuDAAWAAwHAHAB ACdvcmcvZWNs
aXBzZS9lbWYvY29tbW9uL3V0aWwvVW5pcXVlRUxpc3QKAG8ALAkAAQBzDAAX ABgHAHUBABNq
YXZhL3V0aWwvQXJyYXlMaXN0CgB0ACwJAAEAeAwAGQAYCQABAHoMABwAHQkA AQB8DAAHAAgH
AH4BACtvcmcvZWNsaXBzZS9lbWYvY29tbW9uL3V0aWwvQmFzaWNEaWFnbm9z dGljCgCAAIIH
AIEBADBvcmcvZWNsaXBzZS9lbWYvaW1wb3J0ZXIvamF2YS9KYXZhSW1wb3J0 ZXJQbHVnaW4M
AIMAhAEACWdldFBsdWdpbgEAQygpTG9yZy9lY2xpcHNlL2VtZi9pbXBvcnRl ci9qYXZhL0ph
dmFJbXBvcnRlclBsdWdpbiRJbXBsZW1lbnRhdGlvbjsKAIYAiAcAhwEAP29y Zy9lY2xpcHNl
L2VtZi9pbXBvcnRlci9qYXZhL0phdmFJbXBvcnRlclBsdWdpbiRJbXBsZW1l bnRhdGlvbgwA
iQCKAQAJZ2V0QnVuZGxlAQAdKClMb3JnL29zZ2kvZnJhbWV3b3JrL0J1bmRs ZTsLAIwAjgcA
jQEAGW9yZy9vc2dpL2ZyYW1ld29yay9CdW5kbGUMAI8AkAEAD2dldFN5bWJv bGljTmFtZQEA
FCgpTGphdmEvbGFuZy9TdHJpbmc7CQCSAJQHAJMBADBvcmcvZWNsaXBzZS9l bWYvY29kZWdl
bi9lY29yZS9Db2RlR2VuRWNvcmVQbHVnaW4MAJUAlgEACElOU1RBTkNFAQAy TG9yZy9lY2xp
cHNlL2VtZi9jb2RlZ2VuL2Vjb3JlL0NvZGVHZW5FY29yZVBsdWdpbjsIAJgB ACJfVUlfRXJy
b3JzV2VyZURldGVjdGVkSmF2YV9tZXNzYWdlCgCSAJoMAJsAnAEACWdldFN0 cmluZwEAJihM
amF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7CgB9AJ4MAC0A nwEAOyhMamF2
YS9sYW5nL1N0cmluZztJTGphdmEvbGFuZy9TdHJpbmc7W0xqYXZhL2xhbmcv T2JqZWN0OylW
CQABAKEMABoAGwEABHRoaXMBADhMb3JnL2VjbGlwc2UvZW1mL2ltcG9ydGVy L2phdmEvYnVp
bGRlci9KYXZhRWNvcmVCdWlsZGVyOwEAVihMb3JnL2VjbGlwc2UvY29yZS9y ZXNvdXJjZXMv
SUZpbGU7TG9yZy9lY2xpcHNlL2VtZi9jb2RlZ2VuL2Vjb3JlL2dlbm1vZGVs L0dlbk1vZGVs
OylWCgABAKYMAC0AUwkAAQCoDAAeAAoBAIcoTG9yZy9lY2xpcHNlL2NvcmUv cmVzb3VyY2Vz
L0lGaWxlO0xvcmcvZWNsaXBzZS9lbWYvY29kZWdlbi9lY29yZS9nZW5tb2Rl bC9HZW5Nb2Rl
bDtMb3JnL2VjbGlwc2UvZW1mL2NvZGVnZW4vZWNvcmUvZ2VubW9kZWwvR2Vu TW9kZWw7KVYK
AAEAqwwALQCkCQABAK0MAAkACgEAEWNyZWF0ZVJlc291cmNlU2V0AQAuKClM b3JnL2VjbGlw
c2UvZW1mL2Vjb3JlL3Jlc291cmNlL1Jlc291cmNlU2V0OwcAsQEAM29yZy9l Y2xpcHNlL2Vt
Zi9lY29yZS9yZXNvdXJjZS9pbXBsL1Jlc291cmNlU2V0SW1wbAoAsAAsCwC0 ALYHALUBACpv
cmcvZWNsaXBzZS9lbWYvZWNvcmUvcmVzb3VyY2UvUmVzb3VyY2VTZXQMALcA uAEAD2dldFVS
SUNvbnZlcnRlcgEALygpTG9yZy9lY2xpcHNlL2VtZi9lY29yZS9yZXNvdXJj ZS9VUklDb252
ZXJ0ZXI7CwC6ALwHALsBACtvcmcvZWNsaXBzZS9lbWYvZWNvcmUvcmVzb3Vy Y2UvVVJJQ29u
dmVydGVyDAC9AL4BAAlnZXRVUklNYXABABEoKUxqYXZhL3V0aWwvTWFwOwoA wADCBwDBAQAo
b3JnL2VjbGlwc2UvZW1mL2Vjb3JlL3BsdWdpbi9FY29yZVBsdWdpbgwAwwC+ AQAVY29tcHV0
ZVBsYXRmb3JtVVJJTWFwCwDFAMcHAMYBAA1qYXZhL3V0aWwvTWFwDADIAMkB AAZwdXRBbGwB
ABIoTGphdmEvdXRpbC9NYXA7KVYBAAZyZXN1bHQBACxMb3JnL2VjbGlwc2Uv ZW1mL2Vjb3Jl
L3Jlc291cmNlL1Jlc291cmNlU2V0OwEADmFuYWx5c2VQcm9qZWN0AQBHKExv cmcvZWNsaXBz
ZS9jb3JlL3Jlc291cmNlcy9JUHJvamVjdDspTG9yZy9lY2xpcHNlL2NvcmUv cnVudGltZS9J
UGF0aDsBAApFeGNlcHRpb25zBwDQAQATamF2YS9sYW5nL0V4Y2VwdGlvbgoA 0gDUBwDTAQAd
b3JnL2VjbGlwc2UvamR0L2NvcmUvSmF2YUNvcmUMANUA1gEABmNyZWF0ZQEA SihMb3JnL2Vj
bGlwc2UvY29yZS9yZXNvdXJjZXMvSVByb2plY3Q7KUxvcmcvZWNsaXBzZS9q ZHQvY29yZS9J
SmF2YVByb2plY3Q7CwDYANoHANkBACFvcmcvZWNsaXBzZS9qZHQvY29yZS9J SmF2YVByb2pl
Y3QMANsA3AEAF2dldFBhY2thZ2VGcmFnbWVudFJvb3RzAQAuKClbTG9yZy9l Y2xpcHNlL2pk
dC9jb3JlL0lQYWNrYWdlRnJhZ21lbnRSb290OwsA3gDgBwDfAQApb3JnL2Vj bGlwc2UvamR0
L2NvcmUvSVBhY2thZ2VGcmFnbWVudFJvb3QMAOEA4gEAB2dldEtpbmQBAAMo KUkLAN4A5AwA
5QDmAQAVZ2V0VW5kZXJseWluZ1Jlc291cmNlAQAoKClMb3JnL2VjbGlwc2Uv Y29yZS9yZXNv
dXJjZXMvSVJlc291cmNlOwcA6AEAJW9yZy9lY2xpcHNlL2NvcmUvcmVzb3Vy Y2VzL0lDb250
YWluZXIKAAEA6gwA6wDsAQAIdHJhdmVyc2UBADkoTG9yZy9lY2xpcHNlL2Nv cmUvcmVzb3Vy
Y2VzL0lDb250YWluZXI7TGphdmEvdXRpbC9TZXQ7KVYLAMUA7gwA7wDwAQAI ZW50cnlTZXQB
ABEoKUxqYXZhL3V0aWwvU2V0OwsA8gD0BwDzAQANamF2YS91dGlsL1NldAwA 9QD2AQAIaXRl
cmF0b3IBABYoKUxqYXZhL3V0aWwvSXRlcmF0b3I7CwD4APoHAPkBABJqYXZh L3V0aWwvSXRl
cmF0b3IMAPsA/AEABG5leHQBABQoKUxqYXZhL2xhbmcvT2JqZWN0OwcA/gEA E2phdmEvdXRp
bC9NYXAkRW50cnkLAP0BAAwBAQD8AQAGZ2V0S2V5BwEDAQAjb3JnL2VjbGlw c2UvZW1mL2Vj
b3JlL0VUeXBlZEVsZW1lbnQLAP0BBQwBBgD8AQAIZ2V0VmFsdWUHAQgBABBq YXZhL2xhbmcv
U3RyaW5nCgABAQoMAQsBDAEAB3Jlc29sdmUBAFwoTG9yZy9lY2xpcHNlL2Vt Zi9lY29yZS9F
TW9kZWxFbGVtZW50O0xqYXZhL2xhbmcvU3RyaW5nOylMb3JnL2VjbGlwc2Uv ZW1mL2Vjb3Jl
L0VDbGFzc2lmaWVyOwcBDgEAHG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FQ2xh c3MHARABACBv
cmcvZWNsaXBzZS9lbWYvZWNvcmUvRUF0dHJpYnV0ZQsBDwESDAETARQBABNn ZXRFQ29udGFp
bmluZ0NsYXNzAQAgKClMb3JnL2VjbGlwc2UvZW1mL2Vjb3JlL0VDbGFzczsJ ARYBGAcBFwEA
Im9yZy9lY2xpcHNlL2VtZi9lY29yZS9FY29yZUZhY3RvcnkMARkBGgEACWVJ TlNUQU5DRQEA
JExvcmcvZWNsaXBzZS9lbWYvZWNvcmUvRWNvcmVGYWN0b3J5OwsBFgEcDAEd AR4BABBjcmVh
dGVFUmVmZXJlbmNlAQAkKClMb3JnL2VjbGlwc2UvZW1mL2Vjb3JlL0VSZWZl cmVuY2U7CwEP
ASAMASEBIgEADGlzQ2hhbmdlYWJsZQEAAygpWgsBJAEmBwElAQAgb3JnL2Vj bGlwc2UvZW1m
L2Vjb3JlL0VSZWZlcmVuY2UMAScBKAEADXNldENoYW5nZWFibGUBAAQoWilW CwEPASoMASsB
IgEACmlzVm9sYXRpbGULASQBLQwBLgEoAQALc2V0Vm9sYXRpbGULAQ8BMAwB MQEiAQALaXNU
cmFuc2llbnQLASQBMwwBNAEoAQAMc2V0VHJhbnNpZW50CwEPATYMATcA4gEA DWdldExvd2Vy
Qm91bmQLASQBOQwBOgE7AQANc2V0TG93ZXJCb3VuZAEABChJKVYLAQ8BPQwB PgDiAQANZ2V0
VXBwZXJCb3VuZAsBJAFADAFBATsBAA1zZXRVcHBlckJvdW5kCwECAUMMAUQA kAEAB2dldE5h
bWULASQBRgwBRwFIAQAHc2V0TmFtZQEAFShMamF2YS9sYW5nL1N0cmluZzsp VgsBJAFKDAFL
AUwBAA9nZXRFQW5ub3RhdGlvbnMBACUoKUxvcmcvZWNsaXBzZS9lbWYvY29t bW9uL3V0aWwv
RUxpc3Q7CwECAUoLAU8BUQcBUAEAIW9yZy9lY2xpcHNlL2VtZi9jb21tb24v dXRpbC9FTGlz
dAwBUgFTAQAGYWRkQWxsAQAZKExqYXZhL3V0aWwvQ29sbGVjdGlvbjspWgsB DQFVDAFWAUwB
ABZnZXRFU3RydWN0dXJhbEZlYXR1cmVzCwFPAVgMAVkBWgEAB2luZGV4T2YB ABUoTGphdmEv
bGFuZy9PYmplY3Q7KUkLAU8BXAwBXQFeAQADYWRkAQAWKElMamF2YS9sYW5n L09iamVjdDsp
VgsBTwFgDAFhAWIBAAZyZW1vdmUBABUoTGphdmEvbGFuZy9PYmplY3Q7KVoH AWQBAB9vcmcv
ZWNsaXBzZS9lbWYvZWNvcmUvRURhdGFUeXBlCwEkARILARYBZwwBaAFpAQAQ Y3JlYXRlRUF0
dHJpYnV0ZQEAJCgpTG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FQXR0cmlidXRl OwsBJAEgCwEP
ASYLASQBKgsBDwEtCwEkATALAQ8BMwsBJAE2CwEPATkLASQBPQsBDwFACwEP AUYLAQ8BSgsA
xQF3DAFhAXgBACYoTGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2Jq ZWN0OwsAxQF6
DAF7AXgBAANnZXQLAPIBfQwBfgFiAQAIY29udGFpbnMLAPIBYAoAAQGBDAEL AYIBAF0oTG9y
Zy9lY2xpcHNlL2VtZi9lY29yZS9FTW9kZWxFbGVtZW50O0xqYXZhL2xhbmcv U3RyaW5nO1op
TG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FQ2xhc3NpZmllcjsLAYQBhgcBhQEA IW9yZy9lY2xp
cHNlL2VtZi9lY29yZS9FQ2xhc3NpZmllcgwBhwCQAQAUZ2V0SW5zdGFuY2VD bGFzc05hbWUL
AWMBiQwBigFIAQAUc2V0SW5zdGFuY2VDbGFzc05hbWUIAYwBACpfVUlfVGhl VHlwZURvZXNO
b3RSZXNvbHZlQ29ycmVjdGx5X21lc3NhZ2UKAJIBjgwAmwGPAQA5KExqYXZh L2xhbmcvU3Ry
aW5nO1tMamF2YS9sYW5nL09iamVjdDspTGphdmEvbGFuZy9TdHJpbmc7CgAB AZEMAZIBSAEA
BWVycm9yCQGUAZYHAZUBACtvcmcvZWNsaXBzZS9lbWYvZWNvcmUvRWNvcmVQ YWNrYWdlJExp
dGVyYWxzDAGXAZgBAAdFT0JKRUNUAQAeTG9yZy9lY2xpcHNlL2VtZi9lY29y ZS9FQ2xhc3M7
CwECAZoMAZsBnAEACHNldEVUeXBlAQAmKExvcmcvZWNsaXBzZS9lbWYvZWNv cmUvRUNsYXNz
aWZpZXI7KVYKAAEBngwBnwGgAQAEdXNlZAEAKChMb3JnL2VjbGlwc2UvZW1m L2Vjb3JlL0VN
b2RlbEVsZW1lbnQ7KVYLAPgBogwBowEiAQAHaGFzTmV4dAcBpQEAE1tMamF2 YS9sYW5nL1N0
cmluZzsLAYQBpwwBqAGpAQALZ2V0RVBhY2thZ2UBACIoKUxvcmcvZWNsaXBz ZS9lbWYvZWNv
cmUvRVBhY2thZ2U7CgGrAa0HAawBACRvcmcvZWNsaXBzZS9lbWYvZWNvcmUv dXRpbC9FY29y
ZVV0aWwMAa4BrwEAEGdldFJvb3RDb250YWluZXIBAEAoTG9yZy9lY2xpcHNl L2VtZi9lY29y
ZS9FT2JqZWN0OylMb3JnL2VjbGlwc2UvZW1mL2Vjb3JlL0VPYmplY3Q7BwGx AQAeb3JnL2Vj
bGlwc2UvZW1mL2Vjb3JlL0VQYWNrYWdlCwEWAbMMAbQBFAEADGNyZWF0ZUVD bGFzcwsBDQGJ
CwGEAUMLAQ0BRgsBDQG5DAG6ASgBAAtzZXRBYnN0cmFjdAsBDQG8DAG9ASgB AAxzZXRJbnRl
cmZhY2ULAbABvwwBwAFMAQAPZ2V0RUNsYXNzaWZpZXJzCwFPAcIMAV0BYgsB DQHEDAHFAUwB
AA5nZXRFU3VwZXJUeXBlcwgBxwEAL19VSV9UaGVTdXBlclR5cGVEb2VzTm90 UmVzb2x2ZUNv
cnJlY3RseV9tZXNzYWdlCwEkAckMAcoBywEACGdldEVUeXBlAQAlKClMb3Jn L2VjbGlwc2Uv
ZW1mL2Vjb3JlL0VDbGFzc2lmaWVyOwsBDQHNDAHOAc8BABVnZXRFU3RydWN0 dXJhbEZlYXR1
cmUBAD4oTGphdmEvbGFuZy9TdHJpbmc7KUxvcmcvZWNsaXBzZS9lbWYvZWNv cmUvRVN0cnVj
dHVyYWxGZWF0dXJlOwgB0QEAJl9VSV9UaGVBdHRyaWJ1dGVJc05vdEFNZW1i ZXJPZl9tZXNz
YWdlCwENAUMLASQB1AwB1QEeAQAMZ2V0RU9wcG9zaXRlCAHXAQApX1VJX1Ro ZU9wcG9zaXRl
QWxyZWFkeUhhc09wcG9zaXRlX21lc3NhZ2ULASQBQwsBJAHaDAHbAdwBAAxz ZXRFT3Bwb3Np
dGUBACUoTG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FUmVmZXJlbmNlOylWCwEk Ad4MAd8BIgEA
DWlzQ29udGFpbm1lbnQKAAEB4QwB4gHjAQAEc29ydAEANShMb3JnL2VjbGlw c2UvZW1mL2Nv
bW1vbi91dGlsL0VMaXN0O0xqYXZhL3V0aWwvTWFwOylWCwFPAPQLAeYB6AcB 5wEAI29yZy9l
Y2xpcHNlL2NvcmUvcmVzb3VyY2VzL0lQcm9qZWN0DAHpAeoBAAtnZXRGdWxs UGF0aAEAIigp
TG9yZy9lY2xpcHNlL2NvcmUvcnVudGltZS9JUGF0aDsLAewB6AcB7QEAJG9y Zy9lY2xpcHNl
L2NvcmUvcmVzb3VyY2VzL0lSZXNvdXJjZQsB7wHxBwHwAQAeb3JnL2VjbGlw c2UvY29yZS9y
dW50aW1lL0lQYXRoDAHyAfMBAAppc1ByZWZpeE9mAQAjKExvcmcvZWNsaXBz ZS9jb3JlL3J1
bnRpbWUvSVBhdGg7KVoBAAdwcm9qZWN0AQAlTG9yZy9lY2xpcHNlL2NvcmUv cmVzb3VyY2Vz
L0lQcm9qZWN0OwEAC2phdmFQcm9qZWN0AQAjTG9yZy9lY2xpcHNlL2pkdC9j b3JlL0lKYXZh
UHJvamVjdDsBABRwYWNrYWdlRnJhZ21lbnRSb290cwEALFtMb3JnL2VjbGlw c2UvamR0L2Nv
cmUvSVBhY2thZ2VGcmFnbWVudFJvb3Q7AQAHdmlzaXRlZAEAAWkBAAFJAQAU TGphdmEvdXRp
bC9JdGVyYXRvcjsBAAVlbnRyeQEAFUxqYXZhL3V0aWwvTWFwJEVudHJ5OwEA DWVUeXBlZEVs
ZW1lbnQBACVMb3JnL2VjbGlwc2UvZW1mL2Vjb3JlL0VUeXBlZEVsZW1lbnQ7 AQAIdHlwZU5h
bWUBABJMamF2YS9sYW5nL1N0cmluZzsBAAtlQ2xhc3NpZmllcgEAI0xvcmcv ZWNsaXBzZS9l
bWYvZWNvcmUvRUNsYXNzaWZpZXI7AQAKZUF0dHJpYnV0ZQEAIkxvcmcvZWNs aXBzZS9lbWYv
ZWNvcmUvRUF0dHJpYnV0ZTsBAAljb250YWluZXIBAAplUmVmZXJlbmNlAQAi TG9yZy9lY2xp
cHNlL2VtZi9lY29yZS9FUmVmZXJlbmNlOwEAEWluc3RhbmNlQ2xhc3NOYW1l AQAZcmVzb2x2
ZWRJbnN0YW5jZUNsYXNzTmFtZQEABmVDbGFzcwEADnN1cGVyVHlwZU5hbWVz AQABagEACGVQ
YWNrYWdlAQAgTG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FUGFja2FnZTsBAAtz dXBlckVDbGFz
cwEADG9wcG9zaXRlTmFtZQEACWVPcHBvc2l0ZQEAC25hbWVUb0lETWFwAQAS dGFyZ2V0RnJh
Z21lbnRSb290AQAgTG9yZy9lY2xpcHNlL2NvcmUvcnVudGltZS9JUGF0aDsB AARwYXRoAQAQ
Y29tcHV0ZUVQYWNrYWdlcwEAUChMb3JnL2VjbGlwc2UvZW1mL2NvbW1vbi91 dGlsL01vbml0
b3I7TG9yZy9lY2xpcHNlL2VtZi9pbXBvcnRlci9Nb2RlbEltcG9ydGVyOylW CwIcAh4HAh0B
ACBvcmcvZWNsaXBzZS9jb3JlL3Jlc291cmNlcy9JRmlsZQwCHwIgAQAKZ2V0 UHJvamVjdAEA
JygpTG9yZy9lY2xpcHNlL2NvcmUvcmVzb3VyY2VzL0lQcm9qZWN0OwoCIgIk BwIjAQAob3Jn
L2VjbGlwc2UvZW1mL2NvbW1vbi91dGlsL0Jhc2ljTW9uaXRvcgwCJQImAQAS dG9JUHJvZ3Jl
c3NNb25pdG9yAQBSKExvcmcvZWNsaXBzZS9lbWYvY29tbW9uL3V0aWwvTW9u aXRvcjspTG9y
Zy9lY2xpcHNlL2NvcmUvcnVudGltZS9JUHJvZ3Jlc3NNb25pdG9yOwsB5gIo DAIpAioBAARv
cGVuAQAuKExvcmcvZWNsaXBzZS9jb3JlL3J1bnRpbWUvSVByb2dyZXNzTW9u aXRvcjspVgsB
5gIsDAItAi4BAA5nZXREZXNjcmlwdGlvbgEAMigpTG9yZy9lY2xpcHNlL2Nv cmUvcmVzb3Vy
Y2VzL0lQcm9qZWN0RGVzY3JpcHRpb247CwIwAjIHAjEBAC5vcmcvZWNsaXBz ZS9jb3JlL3Jl
c291cmNlcy9JUHJvamVjdERlc2NyaXB0aW9uDAIzAjQBABVnZXRSZWZlcmVu Y2VkUHJvamVj
dHMBACgoKVtMb3JnL2VjbGlwc2UvY29yZS9yZXNvdXJjZXMvSVByb2plY3Q7 CgABAjYMAjcC
OAEAGGdldEFsbFJlZmVyZW5jZWRQcm9qZWN0cwEAPyhMamF2YS91dGlsL0Nv bGxlY3Rpb247
W0xvcmcvZWNsaXBzZS9jb3JlL3Jlc291cmNlcy9JUHJvamVjdDspVgsCMAI6 DAI7AjQBABRn
ZXREeW5hbWljUmVmZXJlbmNlcwsCPQD0BwI+AQAUamF2YS91dGlsL0NvbGxl Y3Rpb24KAAEC
QAwCQQJCAQATZ2V0QWxsR2VuTW9kZWxGaWxlcwEAQChMamF2YS91dGlsL0Nv bGxlY3Rpb247
TG9yZy9lY2xpcHNlL2NvcmUvcmVzb3VyY2VzL0lDb250YWluZXI7KVYKAkQC RgcCRQEAJm9y
Zy9lY2xpcHNlL2VtZi9pbXBvcnRlci9Nb2RlbEltcG9ydGVyDACuAK8LAhwB 6AsB7wJJDAJK
AJABAAh0b1N0cmluZwoCRAJMDAJNAk4BAA1jcmVhdGVGaWxlVVJJAQA1KExq YXZhL2xhbmcv
U3RyaW5nOylMb3JnL2VjbGlwc2UvZW1mL2NvbW1vbi91dGlsL1VSSTsLALQC UAwCUQJSAQAL
Z2V0UmVzb3VyY2UBAE0oTG9yZy9lY2xpcHNlL2VtZi9jb21tb24vdXRpbC9V Ukk7WilMb3Jn
L2VjbGlwc2UvZW1mL2Vjb3JlL3Jlc291cmNlL1Jlc291cmNlOwsCVAJWBwJV AQAnb3JnL2Vj
bGlwc2UvZW1mL2Vjb3JlL3Jlc291cmNlL1Jlc291cmNlDAJXAUwBAAtnZXRD b250ZW50cwsB
TwJZDAF7AloBABUoSSlMamF2YS9sYW5nL09iamVjdDsHAlwBAC9vcmcvZWNs aXBzZS9lbWYv
Y29kZWdlbi9lY29yZS9nZW5tb2RlbC9HZW5Nb2RlbAsCPQHCCwJbAl8MAmAB TAEADmdldEdl
blBhY2thZ2VzBwJiAQAxb3JnL2VjbGlwc2UvZW1mL2NvZGVnZW4vZWNvcmUv Z2VubW9kZWwv
R2VuUGFja2FnZQoAAQJkDAJlAmYBABlkZXRlcm1pbmVFeHRlcm5hbFBhY2th Z2VzAQBeKExv
cmcvZWNsaXBzZS9lbWYvY29kZWdlbi9lY29yZS9nZW5tb2RlbC9HZW5QYWNr YWdlO0xvcmcv
ZWNsaXBzZS9lbWYvaW1wb3J0ZXIvTW9kZWxJbXBvcnRlcjspVgcCaAEAFmph dmEvbGFuZy9T
dHJpbmdCdWZmZXIKAmcALAoCZwJrDAJsAm0BAAZhcHBlbmQBACwoTGphdmEv bGFuZy9PYmpl
Y3Q7KUxqYXZhL2xhbmcvU3RyaW5nQnVmZmVyOwgCbwEAFS9NRVRBLUlORi9N QU5JRkVTVC5N
RgoCZwJxDAJsAnIBACwoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcv U3RyaW5nQnVm
ZmVyOwoCZwJJCgJ1AncHAnYBAB9vcmcvZWNsaXBzZS9lbWYvY29tbW9uL3V0 aWwvVVJJDAJ4
Ak4BAAljcmVhdGVVUkkHAnoBABZqYXZhL3V0aWwvamFyL01hbmlmZXN0CwC6 AnwMAn0CfgEA
EWNyZWF0ZUlucHV0U3RyZWFtAQA4KExvcmcvZWNsaXBzZS9lbWYvY29tbW9u L3V0aWwvVVJJ
OylMamF2YS9pby9JbnB1dFN0cmVhbTsKAnkCgAwALQKBAQAYKExqYXZhL2lv L0lucHV0U3Ry
ZWFtOylWCgJ5AoMMAoQChQEAEWdldE1haW5BdHRyaWJ1dGVzAQAcKClMamF2 YS91dGlsL2ph
ci9BdHRyaWJ1dGVzOwgChwEADlJlcXVpcmUtQnVuZGxlCgKJAosHAooBABhq YXZhL3V0aWwv
amFyL0F0dHJpYnV0ZXMMAQYAnAoCjQKPBwKOAQAlb3JnL2VjbGlwc2Uvb3Nn aS91dGlsL01h
bmlmZXN0RWxlbWVudAwCkAKRAQALcGFyc2VIZWFkZXIBAE4oTGphdmEvbGFu Zy9TdHJpbmc7
TGphdmEvbGFuZy9TdHJpbmc7KVtMb3JnL2VjbGlwc2Uvb3NnaS91dGlsL01h bmlmZXN0RWxl
bWVudDsIApMBAAhyZWV4cG9ydAgClQEACnZpc2liaWxpdHkKAo0ClwwCmACc AQAMZ2V0RGly
ZWN0aXZlCgEHApoMApsBYgEABmVxdWFscwoCjQKdDAEGAJALAp8BwgcCoAEA DmphdmEvdXRp
bC9MaXN0CwKfAlkKAqMCpQcCpAEAIW9yZy9lY2xpcHNlL2NvcmUvcnVudGlt ZS9QbGF0Zm9y
bQwAiQKmAQAvKExqYXZhL2xhbmcvU3RyaW5nOylMb3JnL29zZ2kvZnJhbWV3 b3JrL0J1bmRs
ZTsLAIwCqAwCqQKqAQAKZ2V0SGVhZGVycwEAGCgpTGphdmEvdXRpbC9EaWN0 aW9uYXJ5OwoC
rAF6BwKtAQAUamF2YS91dGlsL0RpY3Rpb25hcnkLAp8CrwwCsADiAQAEc2l6 ZQcCsgEAEWph
dmEvdXRpbC9IYXNoTWFwCgKxACwKAMACtQwCtgC+AQAlZ2V0RVBhY2thZ2VO c1VSSVRvR2Vu
TW9kZWxMb2NhdGlvbk1hcAgCuAEACHBsYXRmb3JtCgJ1AroMArsAkAEABnNj aGVtZQoCdQK9
DAK+AOIBAAxzZWdtZW50Q291bnQIAsABAAZwbHVnaW4KAnUCwgwCwwLEAQAH c2VnbWVudAEA
FShJKUxqYXZhL2xhbmcvU3RyaW5nOwsAxQLGDALHAsgBAANwdXQBADgoTGph dmEvbGFuZy9P
YmplY3Q7TGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwsA xQLKDALLAPAB
AAZrZXlTZXQLAp8CzQwCzgFTAQAJcmV0YWluQWxsCwKfAPQKAAEC0QwAzADN CgJEAtMMAtQB
SAEAF3NldE1vZGVsUGx1Z2luRGlyZWN0b3J5CwDFAtYMAtcBIgEAB2lzRW1w dHkJAIAC2QwA
lQLaAQAyTG9yZy9lY2xpcHNlL2VtZi9pbXBvcnRlci9qYXZhL0phdmFJbXBv cnRlclBsdWdp
bjsIAtwBACFfVUlfTm9Nb2RlbEVsZW1lbnRzSW5KYXZhX21lc3NhZ2UIAt4B ABtfVUlfTm9N
b2RlbEVsZW1lbnRzX21lc3NhZ2UKAIAAmgsAxQLhDALiAuMBAAZ2YWx1ZXMB ABgoKUxqYXZh
L3V0aWwvQ29sbGVjdGlvbjsKAkQC5QwC5gLnAQAMZ2V0RVBhY2thZ2VzAQAS KClMamF2YS91
dGlsL0xpc3Q7CgJEAukMAuoC6wEAFWdldEVQYWNrYWdlSW1wb3J0SW5mbwEA XShMb3JnL2Vj
bGlwc2UvZW1mL2Vjb3JlL0VQYWNrYWdlOylMb3JnL2VjbGlwc2UvZW1mL2lt cG9ydGVyL01v
ZGVsSW1wb3J0ZXIkRVBhY2thZ2VJbXBvcnRJbmZvOwoC7QLvBwLuAQA5b3Jn L2VjbGlwc2Uv
ZW1mL2ltcG9ydGVyL01vZGVsSW1wb3J0ZXIkRVBhY2thZ2VJbXBvcnRJbmZv DALwAUgBAAlz
ZXRQcmVmaXgIAvIBAAEuCgEHAvQMAvUC9gEAC2xhc3RJbmRleE9mAQAVKExq YXZhL2xhbmcv
U3RyaW5nOylJCgEHAvgMAvkC+gEACXN1YnN0cmluZwEAFihJSSlMamF2YS9s YW5nL1N0cmlu
ZzsKAu0C/AwC/QFIAQAOc2V0QmFzZVBhY2thZ2UHAv8BABNqYXZhL2lvL0lP RXhjZXB0aW9u
AQAHbW9uaXRvcgEAJUxvcmcvZWNsaXBzZS9lbWYvY29tbW9uL3V0aWwvTW9u aXRvcjsBAA1t
b2RlbEltcG9ydGVyAQAoTG9yZy9lY2xpcHNlL2VtZi9pbXBvcnRlci9Nb2Rl bEltcG9ydGVy
OwEAEGFsbEdlbk1vZGVsRmlsZXMBABVhbGxSZWZlcmVuY2VkUHJvamVjdHMB AAtyZXNvdXJj
ZVNldAEABGZpbGUBAAhyZXNvdXJjZQEAKUxvcmcvZWNsaXBzZS9lbWYvZWNv cmUvcmVzb3Vy
Y2UvUmVzb3VyY2U7AQAKZ2VuUGFja2FnZQEAM0xvcmcvZWNsaXBzZS9lbWYv Y29kZWdlbi9l
Y29yZS9nZW5tb2RlbC9HZW5QYWNrYWdlOwEAFmFsbFJlZmVyZW5jZWRQbHVn aW5JRHMBABBM
amF2YS91dGlsL0xpc3Q7AQARcmVmZXJlbmNlZFByb2plY3QBAAttYW5pZmVz dFVSSQEAIUxv
cmcvZWNsaXBzZS9lbWYvY29tbW9uL3V0aWwvVVJJOwEACG1hbmlmZXN0AQAY TGphdmEvdXRp
bC9qYXIvTWFuaWZlc3Q7AQAIcmVxdWlyZXMBAAhlbGVtZW50cwEAKFtMb3Jn L2VjbGlwc2Uv
b3NnaS91dGlsL01hbmlmZXN0RWxlbWVudDsBAAdlbGVtZW50AQAnTG9yZy9l Y2xpcHNlL29z
Z2kvdXRpbC9NYW5pZmVzdEVsZW1lbnQ7AQAIcGx1Z2luSUQBAAZidW5kbGUB ABtMb3JnL29z
Z2kvZnJhbWV3b3JrL0J1bmRsZTsBAAV2YWx1ZQEAF2FsbFBsdWdpbnNXaXRo R2VuTW9kZWxz
AQAQZ2VuTW9kZWxMb2NhdGlvbgEABGxpc3QBAAFrAQAMZVBhY2thZ2VJbmZv AQA7TG9yZy9l
Y2xpcHNlL2VtZi9pbXBvcnRlci9Nb2RlbEltcG9ydGVyJEVQYWNrYWdlSW1w b3J0SW5mbzsB
AAdlbnRyaWVzAQAUcXVhbGlmaWVkUGFja2FnZU5hbWUBAAVpbmRleAkDJgMo BwMnAQAib3Jn
L2VjbGlwc2UvZW1mL2Vjb3JlL0Vjb3JlUGFja2FnZQwBGQMpAQAkTG9yZy9l Y2xpcHNlL2Vt
Zi9lY29yZS9FY29yZVBhY2thZ2U7CwJbAysMAywDLQEADmZpbmRHZW5QYWNr YWdlAQBVKExv
cmcvZWNsaXBzZS9lbWYvZWNvcmUvRVBhY2thZ2U7KUxvcmcvZWNsaXBzZS9l bWYvY29kZWdl
bi9lY29yZS9nZW5tb2RlbC9HZW5QYWNrYWdlOwoAAQMvDAMwAuMBABJnZXRV c2VkR2VuUGFj
a2FnZXMLAj0BfQsCYQMzDAM0AzUBAAllUmVzb3VyY2UBACsoKUxvcmcvZWNs aXBzZS9lbWYv
ZWNvcmUvcmVzb3VyY2UvUmVzb3VyY2U7CwGwAzcMAzgDOQEADGVBbGxDb250 ZW50cwEALCgp
TG9yZy9lY2xpcHNlL2VtZi9jb21tb24vdXRpbC9UcmVlSXRlcmF0b3I7BwM7 AQAdb3JnL2Vj
bGlwc2UvZW1mL2Vjb3JlL0VPYmplY3QLAzoDPQwDPgFMAQAQZUNyb3NzUmVm ZXJlbmNlcwcD
QAEAI29yZy9lY2xpcHNlL2VtZi9lY29yZS9FTW9kZWxFbGVtZW50AQAMbW9k ZWxFbGVtZW50
AQAlTG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FTW9kZWxFbGVtZW50OwEAB2VP YmplY3QBAB9M
b3JnL2VjbGlwc2UvZW1mL2Vjb3JlL0VPYmplY3Q7AQABbwEAEkxqYXZhL2xh bmcvT2JqZWN0
OwEANihMb3JnL2VjbGlwc2UvZW1mL2NvZGVnZW4vZWNvcmUvZ2VubW9kZWwv R2VuUGFja2Fn
ZTspVgoCRANJDANKAucBABhnZXRSZWZlcmVuY2VkR2VuUGFja2FnZXMLAmED TAwDTQGpAQAP
Z2V0RWNvcmVQYWNrYWdlCwJhA08MA1AAkAEAF2dldEludGVyZmFjZVBhY2th Z2VOYW1lCwJh
A1IMA1MBTAEAFGdldE5lc3RlZEdlblBhY2thZ2VzCgABA1UMAmUDRwcDVwEA Jm9yZy9lY2xp
cHNlL2NvcmUvcnVudGltZS9Db3JlRXhjZXB0aW9uCwHmA1kMA1oBIgEABmV4 aXN0cwsB5gNc
DANdASIBAAZpc09wZW4BAAhwcm9qZWN0cwEAJltMb3JnL2VjbGlwc2UvY29y ZS9yZXNvdXJj
ZXMvSVByb2plY3Q7CwDnA2EMA2IDYwEAB21lbWJlcnMBACkoKVtMb3JnL2Vj bGlwc2UvY29y
ZS9yZXNvdXJjZXMvSVJlc291cmNlOwsB7ANlDANmAOIBAAdnZXRUeXBlCgAB A2gMAkEDaQEA
OyhMamF2YS91dGlsL0NvbGxlY3Rpb247TG9yZy9lY2xpcHNlL2NvcmUvcmVz b3VyY2VzL0lG
aWxlOylWAQAnTG9yZy9lY2xpcHNlL2NvcmUvcmVzb3VyY2VzL0lDb250YWlu ZXI7AQAIY29u
dGVudHMBACdbTG9yZy9lY2xpcHNlL2NvcmUvcmVzb3VyY2VzL0lSZXNvdXJj ZTsBACZMb3Jn
L2VjbGlwc2UvY29yZS9yZXNvdXJjZXMvSVJlc291cmNlOwsCHAFDCANwAQAJ Lmdlbm1vZGVs
CgEHA3IMA3MDdAEACGVuZHNXaXRoAQAVKExqYXZhL2xhbmcvU3RyaW5nOyla CwDYA3YMA3cB
6gEAEWdldE91dHB1dExvY2F0aW9uCwHmA3kMA3oDewEADGdldFdvcmtzcGFj ZQEAKSgpTG9y
Zy9lY2xpcHNlL2NvcmUvcmVzb3VyY2VzL0lXb3Jrc3BhY2U7CwN9A38HA34B ACVvcmcvZWNs
aXBzZS9jb3JlL3Jlc291cmNlcy9JV29ya3NwYWNlDAOAA4EBAAdnZXRSb290 AQAtKClMb3Jn
L2VjbGlwc2UvY29yZS9yZXNvdXJjZXMvSVdvcmtzcGFjZVJvb3Q7CwODA4UH A4QBAClvcmcv
ZWNsaXBzZS9jb3JlL3Jlc291cmNlcy9JV29ya3NwYWNlUm9vdAwDhgOHAQAK ZmluZE1lbWJl
cgEASChMb3JnL2VjbGlwc2UvY29yZS9ydW50aW1lL0lQYXRoOylMb3JnL2Vj bGlwc2UvY29y
ZS9yZXNvdXJjZXMvSVJlc291cmNlOwoAgAOJDAOKA4sBAANsb2cBABUoTGph dmEvbGFuZy9P
YmplY3Q7KVYHA40BACdvcmcvZWNsaXBzZS9qZHQvY29yZS9KYXZhTW9kZWxF eGNlcHRpb24B
AA5vdXRwdXRMb2NhdGlvbgEACWV4Y2VwdGlvbgEAKUxvcmcvZWNsaXBzZS9q ZHQvY29yZS9K
YXZhTW9kZWxFeGNlcHRpb247CwDyAcIKAAEDkwwA6wBTCAOVAQAEamF2YQsC HAOXDAOYAeoB
ABZnZXRQcm9qZWN0UmVsYXRpdmVQYXRoCwHvA5oMA5sAkAEAEGdldEZpbGVF eHRlbnNpb24K
AQcDnQwDngN0AQAQZXF1YWxzSWdub3JlQ2FzZQcDoAEAG2phdmEvaW8vQnVm ZmVyZWRJbnB1
dFN0cmVhbQsCHAOiDAJXA6MBABgoWilMamF2YS9pby9JbnB1dFN0cmVhbTsK A58CgAoDnwOm
DAOnAOIBAAlhdmFpbGFibGUKA58DqQwDqgOrAQAEcmVhZAEABShbQilJCgOf A60MA64AJwEA
BWNsb3NlCwIcA7AMA7EAkAEACmdldENoYXJzZXQKAQcDswwALQO0AQAFKFtC KVYKAQcDtgwA
LQO3AQAXKFtCTGphdmEvbGFuZy9TdHJpbmc7KVYIA7kBAAROQU1FCgApA7sM A7wDvQEAFWNy
ZWF0ZUNvbXBpbGF0aW9uVW5pdAEAVShMamF2YS9sYW5nL1N0cmluZztMamF2 YS9sYW5nL1N0
cmluZzspTG9yZy9lY2xpcHNlL2pkdC9jb3JlL2pkb20vSURPTUNvbXBpbGF0 aW9uVW5pdDsK
AAEDvwwDwAPBAQAWYW5hbHl6ZUNvbXBpbGF0aW9uVW5pdAEAMihMb3JnL2Vj bGlwc2UvamR0
L2NvcmUvamRvbS9JRE9NQ29tcGlsYXRpb25Vbml0OylWAQATYnVmZmVyZWRJ bnB1dFN0cmVh
bQEAHUxqYXZhL2lvL0J1ZmZlcmVkSW5wdXRTdHJlYW07AQAFaW5wdXQBAAJb QgEACGVuY29k
aW5nAQAQakNvbXBpbGF0aW9uVW5pdAEAL0xvcmcvZWNsaXBzZS9qZHQvY29y ZS9qZG9tL0lE
T01Db21waWxhdGlvblVuaXQ7AQAVTGphdmEvaW8vSU9FeGNlcHRpb247CwPL A80HA8wBAC1v
cmcvZWNsaXBzZS9qZHQvY29yZS9qZG9tL0lET01Db21waWxhdGlvblVuaXQM A84DzwEADWdl
dEZpcnN0Q2hpbGQBACYoKUxvcmcvZWNsaXBzZS9qZHQvY29yZS9qZG9tL0lE T01Ob2RlOwsD
0QPTBwPSAQAib3JnL2VjbGlwc2UvamR0L2NvcmUvamRvbS9JRE9NTm9kZQwD 1ADiAQALZ2V0
Tm9kZVR5cGUHA9YBACJvcmcvZWNsaXBzZS9qZHQvY29yZS9qZG9tL0lET01U eXBlCgABA9gM
A9kD2gEAC2FuYWx5emVUeXBlAQAnKExvcmcvZWNsaXBzZS9qZHQvY29yZS9q ZG9tL0lET01U
eXBlOylWCwPRA9wMA90DzwEAC2dldE5leHROb2RlAQAPY29tcGlsYXRpb25V bml0AQAFY2hp
bGQBACRMb3JnL2VjbGlwc2UvamR0L2NvcmUvamRvbS9JRE9NTm9kZTsLA9UD 4gwD4wPPAQAJ
Z2V0UGFyZW50BwPlAQAlb3JnL2VjbGlwc2UvamR0L2NvcmUvamRvbS9JRE9N UGFja2FnZQsD
5AFDCwPVA+gMA+kAkAEACmdldENvbW1lbnQKAAED6wwD7ACcAQASZ2V0TW9k ZWxBbm5vdGF0
aW9uCAPuAQAEa2luZAoAAQPwDAPxA/IBABtnZXRNb2RlbEFubm90YXRpb25B dHRyaWJ1dGUB
ADgoTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7KUxqYXZh L2xhbmcvU3Ry
aW5nOwgD9AEAB3BhY2thZ2ULARYD9gwD9wGpAQAOY3JlYXRlRVBhY2thZ2UK AQcD+QwC+QLE
CwGwAUYIA/wBAAhodHRwOi8vLwoCZwP+DAAtAUgIBAABAARudWxsCgEHBAIM BAMEBAEAB3Jl
cGxhY2UBABYoQ0MpTGphdmEvbGFuZy9TdHJpbmc7CAQGAQAGLmVjb3JlCwGw BAgMBAkBSAEA
CHNldE5zVVJJCwGwBAsMBAwBSAEAC3NldE5zUHJlZml4CgEHBA4MBA8EEAEA BmNoYXJBdAEA
BChJKUMKBBIEFAcEEwEAE2phdmEvbGFuZy9DaGFyYWN0ZXIMBBUEFgEAC3Rv VXBwZXJDYXNl
AQAEKEMpQwoBBwQYDAQZBBoBAAd2YWx1ZU9mAQAVKEMpTGphdmEvbGFuZy9T dHJpbmc7CwPV
BBwMBB0A4gEACGdldEZsYWdzCAQfAQAFY2xhc3MLA9UBQwsBDQFKCgABBCMM BCQEJQEAE2V4
dHJhY3RFQW5ub3RhdGlvbnMBACQoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZh L3V0aWwvTGlz
dDsKAAEEJwwEKACcAQAVZ2V0TW9kZWxEb2N1bWVudGF0aW9uCgGrBCoMBCsE LAEAEHNldERv
Y3VtZW50YXRpb24BADooTG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FTW9kZWxF bGVtZW50O0xq
YXZhL2xhbmcvU3RyaW5nOylWCwPVBC4MBC8EMAEAEmdldFN1cGVySW50ZXJm YWNlcwEAFSgp
W0xqYXZhL2xhbmcvU3RyaW5nOwoAAQQyDAQzAJwBABRnZXRFeHRlbmRzQW5u b3RhdGlvbgoE
NQQ3BwQ2AQAQamF2YS91dGlsL0FycmF5cwwEOAQ5AQAGYXNMaXN0AQAlKFtM amF2YS9sYW5n
L09iamVjdDspTGphdmEvdXRpbC9MaXN0OwoAdAQ7DAAtBDwBABkoTGphdmEv dXRpbC9Db2xs
ZWN0aW9uOylWBwQ+AQAZamF2YS91dGlsL1N0cmluZ1Rva2VuaXplcggEQAEA BiAsCQoNDAoE
PQRCDAAtBEMBACcoTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJp bmc7KVYKBD0E
RQwERgCQAQAJbmV4dFRva2VuCwKfAWAKBD0ESQwESgEiAQANaGFzTW9yZVRv a2VucwsCnwRM
DARNBE4BAAd0b0FycmF5AQAoKFtMamF2YS9sYW5nL09iamVjdDspW0xqYXZh L2xhbmcvT2Jq
ZWN0OwgEUAEACGFic3RyYWN0CARSAQAEdHJ1ZQgEVAEACWludGVyZmFjZQsD 1QPNBwRXAQAk
b3JnL2VjbGlwc2UvamR0L2NvcmUvamRvbS9JRE9NTWV0aG9kCgABBFkMBFoE WwEADWFuYWx5
emVNZXRob2QBAEcoTG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FQ2xhc3M7TG9y Zy9lY2xpcHNl
L2pkdC9jb3JlL2pkb20vSURPTU1ldGhvZDspVggEXQEACGZlYXR1cmVzCARf AQABIAoAAQRh
DARiA/IBABtnZXRGaWx0ZXJlZE1vZGVsQW5ub3RhdGlvbnMIAXsKAmcEZQwC bARmAQAbKEMp
TGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7CARoAQAQamF2YS5sYW5nLk9iamVj dAoAAQRqDARa
BGsBAKEoTG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FQ2xhc3M7TGphdmEvbGFu Zy9TdHJpbmc7
TGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7W0xqYXZhL2xh bmcvU3RyaW5n
O1tMamF2YS9sYW5nL1N0cmluZzspTG9yZy9lY2xpcHNlL2VtZi9lY29yZS9F VHlwZWRFbGVt
ZW50OwgEbQEAHF9VSV9EdXBsaWNhdGVGZWF0dXJlX21lc3NhZ2UKAAEEbwwE cAFIAQAHd2Fy
bmluZwsBFgRyDARzBHQBAAtjcmVhdGVFRW51bQEAHygpTG9yZy9lY2xpcHNl L2VtZi9lY29y
ZS9FRW51bTsLBHYBRgcEdwEAG29yZy9lY2xpcHNlL2VtZi9lY29yZS9FRW51 bQsEdgFKBwR6
AQAjb3JnL2VjbGlwc2UvamR0L2NvcmUvamRvbS9JRE9NRmllbGQKAAEEfAwE fQR+AQAMYW5h
bHl6ZUZpZWxkAQBFKExvcmcvZWNsaXBzZS9lbWYvZWNvcmUvRUVudW07TG9y Zy9lY2xpcHNl
L2pkdC9jb3JlL2pkb20vSURPTUZpZWxkOylWCASAAQAHUGFja2FnZQoBBwSC DASDAOIBAAZs
ZW5ndGgLA9EBQwsEeQSGDANmAJAIBIgBAAVlTkFNRQsEeQSKDASLAJABAA5n ZXRJbml0aWFs
aXplcggEjQEAB2VOU19VUkkIBI8BAAplTlNfUFJFRklYCASRAQADaW50CAST AQANRkVBVFVS
RV9DT1VOVAgElQEAASsKAQcElwwEmACQAQAEdHJpbQoEmgScBwSbAQARamF2 YS9sYW5nL0lu
dGVnZXIMBJ0C9gEACHBhcnNlSW50CgSaBJ8MAC0BOwsEVgPoCwRWBKIMBKMA kAEADWdldFJl
dHVyblR5cGUIBKUBAAlFRGF0YVR5cGULARYEpwwEqASpAQAPY3JlYXRlRURh dGFUeXBlAQAj
KClMb3JnL2VjbGlwc2UvZW1mL2Vjb3JlL0VEYXRhVHlwZTsIBKsBAA1pbnN0 YW5jZUNsYXNz
CwRWAUMLAWMBRggErwEADHNlcmlhbGl6YWJsZQgEsQEABWZhbHNlCwFjBLMM BLQBKAEAD3Nl
dFNlcmlhbGl6YWJsZQsBYwFKCAS3AQAGRUNsYXNzCAS5AQATamF2YS51dGls Lk1hcCRFbnRy
eQgEuwEAA2tleQgBAQgDGwgBBgsCnwLWCwGwAUoHBMIBAB9qYXZhL2xhbmcv TnVtYmVyRm9y
bWF0RXhjZXB0aW9uAQAEdHlwZQEAJExvcmcvZWNsaXBzZS9qZHQvY29yZS9q ZG9tL0lET01U
eXBlOwEAD21vZGVsQW5ub3RhdGlvbgEADWlzRUNsYXNzaWZpZXIBAAtwYWNr YWdlTmFtZQEA
BnByZWZpeAEAD3N1cGVySW50ZXJmYWNlcwEABmV4dGVuZAEAEnN1cGVySW50 ZXJmYWNlTGlz
dAEAD3N0cmluZ1Rva2VuaXplcgEAG0xqYXZhL3V0aWwvU3RyaW5nVG9rZW5p emVyOwEACmlz
QWJzdHJhY3QBAAtpc0ludGVyZmFjZQEAB2ZlYXR1cmUBAAVlRW51bQEAHUxv cmcvZWNsaXBz
ZS9lbWYvZWNvcmUvRUVudW07AQAKaXNFUGFja2FnZQEADXBhY2thZ2VQcmVm aXgBAARuYW1l
AQAFbnNVUkkBAAhuc1ByZWZpeAEACGVDbGFzc2VzAQAKZURhdGFUeXBlcwEA CG9yZGVyaW5n
AQAFZmllbGQBACVMb3JnL2VjbGlwc2UvamR0L2NvcmUvamRvbS9JRE9NRmll bGQ7AQAJY2hp
bGROYW1lAQAJY2hpbGRUeXBlAQALaW5pdGlhbGl6ZXIBAAlwbHVzSW5kZXgB AAZtZXRob2QB
ACZMb3JnL2VjbGlwc2UvamR0L2NvcmUvamRvbS9JRE9NTWV0aG9kOwEAEG1l dGhvZEFubm90
YXRpb24BAApyZXR1cm5UeXBlAQAJZURhdGFUeXBlAQAhTG9yZy9lY2xpcHNl L2VtZi9lY29y
ZS9FRGF0YVR5cGU7AQAOaXNTZXJpYWxpemFibGUBABBleGlzdGluZ0VQYWNr YWdlCwRWBOoM
BOsEMAEAEWdldFBhcmFtZXRlck5hbWVzCwRWBO0MBO4EMAEAEWdldFBhcmFt ZXRlclR5cGVz
BwTwAQAgb3JnL2VjbGlwc2UvZW1mL2Vjb3JlL0VPcGVyYXRpb24LBO8E8gwE 8wFMAQAOZ2V0
RVBhcmFtZXRlcnMHBPUBACBvcmcvZWNsaXBzZS9lbWYvZWNvcmUvRVBhcmFt ZXRlcgEACm1l
dGhvZE5hbWUBAA5wYXJhbWV0ZXJOYW1lcwEADnBhcmFtZXRlclR5cGVzAQAK ZU9wZXJhdGlv
bgEAIkxvcmcvZWNsaXBzZS9lbWYvZWNvcmUvRU9wZXJhdGlvbjsBAAplUGFy YW1ldGVyAQAi
TG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FUGFyYW1ldGVyOwgE/gEACnBhcmFt ZXRlcnMIBQAB
AAlvcGVyYXRpb24IBQIBAAlhdHRyaWJ1dGUIBQQBAAlyZWZlcmVuY2UKAQcF BgwFBwN0AQAK
c3RhcnRzV2l0aAoEEgUJDAUKBQsBAAtpc1VwcGVyQ2FzZQEABChDKVoIBQ0B AAdib29sZWFu
CAUPAQAEdm9pZAoFEQUTBwUSAQAob3JnL2VjbGlwc2UvZW1mL2NvZGVnZW4v dXRpbC9Db2Rl
R2VuVXRpbAwFFACcAQAJdW5jYXBOYW1lCAUWAQACaXMLARYFGAwFGQUaAQAQ Y3JlYXRlRU9w
ZXJhdGlvbgEAJCgpTG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FT3BlcmF0aW9u OwsBDQUcDAUd
AUwBAA5nZXRFT3BlcmF0aW9ucwoBBwUfDAQZBSABACYoTGphdmEvbGFuZy9P YmplY3Q7KUxq
YXZhL2xhbmcvU3RyaW5nOwoAAQUiDAUjBSQBABNoYW5kbGVFVHlwZWRFbGVt ZW50AQBwKExv
cmcvZWNsaXBzZS9lbWYvZWNvcmUvRVR5cGVkRWxlbWVudDtMamF2YS9sYW5n L1N0cmluZztM
amF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5n L1N0cmluZzsp
VggFJgEAAAoEPQP+CwEWBSkMBSoFKwEAEGNyZWF0ZUVQYXJhbWV0ZXIBACQo KUxvcmcvZWNs
aXBzZS9lbWYvZWNvcmUvRVBhcmFtZXRlcjsIBS0BAAEtCAUvAQAKZGF0YVR5 cGU9IggFMQEA
AiIgCwT0AUoIBTQBAAhvcHBvc2l0ZQgFNgEAC2NvbnRhaW5tZW50CAU4AQAO cmVzb2x2ZVBy
b3hpZXMIBToBAAdtYXBUeXBlCAU8AQAHa2V5VHlwZQgFPgEACXZhbHVlVHlw ZQgFQAEABUVu
dHJ5CwEkBUIMBUMBKAEADnNldENvbnRhaW5tZW50CwEkBUUMBUYBKAEAEXNl dFJlc29sdmVQ
cm94aWVzCAVIAQAKdW5zZXR0YWJsZQsBJAVKDAVLASgBAA1zZXRVbnNldHRh YmxlCwEPBUoI
BU4BAAJpZAsBDwVQDAVRASgBAAVzZXRJRAgFUwEADGRlZmF1bHRWYWx1ZQgF VQEAB2RlZmF1
bHQLBVcFWQcFWAEAKG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FU3RydWN0dXJh bEZlYXR1cmUM
BVoBSAEAFnNldERlZmF1bHRWYWx1ZUxpdGVyYWwIBVwBAApjaGFuZ2VhYmxl CwVXASYIBV8B
AAdkZXJpdmVkCwVXBWEMBWIBKAEACnNldERlcml2ZWQIBWQBAAh2b2xhdGls ZQsFVwEtCAVn
AQAJdHJhbnNpZW50CwVXATMIBWoBABdzdXBwcmVzc2VkR2V0VmlzaWJpbGl0 eQoBqwVsDAVt
BW4BABdzZXRTdXBwcmVzc2VkVmlzaWJpbGl0eQEALyhMb3JnL2VjbGlwc2Uv ZW1mL2Vjb3Jl
L0VTdHJ1Y3R1cmFsRmVhdHVyZTtJWilWCAVwAQAXc3VwcHJlc3NlZFNldFZp c2liaWxpdHkI
BXIBABlzdXBwcmVzc2VkSXNTZXRWaXNpYmlsaXR5CAV0AQAZc3VwcHJlc3Nl ZFVuc2V0Vmlz
aWJpbGl0eQEAC2ZlYXR1cmVOYW1lAQASZGVjbGFyZWRFT3BlcmF0aW9uAQAN cGFyYW1ldGVy
TmFtZQEADXBhcmFtZXRlclR5cGUBABhwYXJhbWV0ZXJNb2RlbEFubm90YXRp b24BAAhkYXRh
VHlwZQEABmJ1ZmZlcgEAGExqYXZhL2xhbmcvU3RyaW5nQnVmZmVyOwEADmlk ZW50aWZpZXJO
YW1lAQASZVN0cnVjdHVyYWxGZWF0dXJlAQAqTG9yZy9lY2xpcHNlL2VtZi9l Y29yZS9FU3Ry
dWN0dXJhbEZlYXR1cmU7AQATZGVmYXVsdFZhbHVlTGl0ZXJhbAsBAgFGCAV6 CATDCAWFAQAE
bWFueQgFhwEABUVMaXN0CAWJAQAhb3JnLmVjbGlwc2UuZW1mLmNvbW1vbi51 dGlsLkVMaXN0
CAWLAQAETGlzdAgFjQEADmphdmEudXRpbC5MaXN0CwECAUAIBZABACVfVUlf VGhlVHlwZU11
c3RCZVNwZWNpZmllZEZvcl9tZXNzYWdlCAWSAQAKRmVhdHVyZU1hcAgFlAEA Jm9yZy5lY2xp
cHNlLmVtZi5jb21tb24udXRpbC5GZWF0dXJlTWFwCAWWAQAIcmVxdWlyZWQL AQIBOQgFmQEA
Cmxvd2VyQm91bmQIBZsBAAVsb3dlcggFnQEAIF9VSV9WYWx1ZU9mUHJvcGVy dHlJc0JhZF9t
ZXNzYWdlCgCAAY4IBaABAAp1cHBlckJvdW5kCAWiAQAFdXBwZXIIBaQBAAFA CAWmAQABLwgF
qAEABnVuaXF1ZQsBAgWqDAWrASgBAAlzZXRVbmlxdWUIBa0BAAdvcmRlcmVk CwECBa8MBbAB
KAEACnNldE9yZGVyZWQBAAltb2RlbFR5cGUBACFMamF2YS9sYW5nL051bWJl ckZvcm1hdEV4
Y2VwdGlvbjsBAA1jcmVhdGVGZWF0dXJlAQB/KExvcmcvZWNsaXBzZS9lbWYv ZWNvcmUvRUNs
YXNzO0xqYXZhL2xhbmcvU3RyaW5nO0xvcmcvZWNsaXBzZS9lbWYvZWNvcmUv RUNsYXNzaWZp
ZXI7KUxvcmcvZWNsaXBzZS9lbWYvZWNvcmUvRVN0cnVjdHVyYWxGZWF0dXJl OwsBJAGaCwEP
AZoBAAVlVHlwZQsEeQPoCATVCwR5AUMKBREFvAwFvQW+AQAGZm9ybWF0AQA7 KExqYXZhL2xh
bmcvU3RyaW5nO0NMamF2YS9sYW5nL1N0cmluZztaWilMamF2YS9sYW5nL1N0 cmluZzsKAQcF
wAwEFQCQCAXCAQAeX1VJX0ludmFsaWRMaXRlcmFsTmFtZUZvckZpZWxkCwR2 AUMIBcUBAAds
aXRlcmFsCwEWBccMBcgFyQEAEmNyZWF0ZUVFbnVtTGl0ZXJhbAEAJigpTG9y Zy9lY2xpcHNl
L2VtZi9lY29yZS9FRW51bUxpdGVyYWw7CwXLAUYHBcwBACJvcmcvZWNsaXBz ZS9lbWYvZWNv
cmUvRUVudW1MaXRlcmFsCwXLBc4MBc8BSAEACnNldExpdGVyYWwLBcsBSgsF ywXSDAXTATsB
AAhzZXRWYWx1ZQgF1QEAH19VSV9JbnZhbGlkTGl0ZXJhbFZhbHVlRm9yRmll bGQLBHYF1wwF
2AFMAQAMZ2V0RUxpdGVyYWxzCwFPAq8BAAlmaWVsZE5hbWUBAAxlRW51bUxp dGVyYWwBACRM
b3JnL2VjbGlwc2UvZW1mL2Vjb3JlL0VFbnVtTGl0ZXJhbDsKADMF3gwF3wXg AQAHbWF0Y2hl
cgEAMyhMamF2YS9sYW5nL0NoYXJTZXF1ZW5jZTspTGphdmEvdXRpbC9yZWdl eC9NYXRjaGVy
OwoF4gXkBwXjAQAXamF2YS91dGlsL3JlZ2V4L01hdGNoZXIMBeUBIgEABGZp bmQKBeIF5wwF
6AXpAQAFc3RhcnQBAAQoSSlJCgXiBesMBewF6QEAA2VuZAgF7gEAEVtcblxy XSpccypcKltc
c10/CAXwAQABCgoBBwXyDAXzA/IBAApyZXBsYWNlQWxsCAX1AQAEXHMqJAEA B2NvbW1lbnQB
ABlMamF2YS91dGlsL3JlZ2V4L01hdGNoZXI7CgJnBIIBAA5leHRlbmRzTWF0 Y2hlcgEAEWlt
cGxlbWVudHNNYXRjaGVyCAX8AQACXGIIBf4BABxccyo9XHMqKFsiJ10pKCg/ PlxcLnwuKSo/
KVwxAQANYXR0cmlidXRlTmFtZQEALW1vZGVsQW5ub3RhdGlvbkF0dHJpYnV0 ZUV4cHJlc3Np
b25Eb3VibGVRdW90ZQEAHGdldE1vZGVsQW5ub3RhdGlvbkF0dHJpYnV0ZXMK AQcGAwwGBAYF
AQALc3ViU2VxdWVuY2UBABwoSUkpTGphdmEvbGFuZy9DaGFyU2VxdWVuY2U7 CQYHBgkHBggB
ABVqYXZhL3V0aWwvQ29sbGVjdGlvbnMMBgoDDQEACkVNUFRZX0xJU1QIBgwB AAphbm5vdGF0
aW9uCgABBg4MBgED8gsBFgYQDAYRBhIBABFjcmVhdGVFQW5ub3RhdGlvbgEA JSgpTG9yZy9l
Y2xpcHNlL2VtZi9lY29yZS9FQW5ub3RhdGlvbjsKBeIGFAwGFQLEAQAFZ3Jv dXAKAAEGFwwG
GACcAQALcGFyc2VTdHJpbmcLBhoGHAcGGwEAIW9yZy9lY2xpcHNlL2VtZi9l Y29yZS9FQW5u
b3RhdGlvbgwGHQFIAQAJc2V0U291cmNlCwYaBh8MBiAGIQEACmdldERldGFp bHMBACQoKUxv
cmcvZWNsaXBzZS9lbWYvY29tbW9uL3V0aWwvRU1hcDsLBiMCxgcGJAEAIG9y Zy9lY2xpcHNl
L2VtZi9jb21tb24vdXRpbC9FTWFwCAYmAQAQZXh0ZW5kZWRNZXRhRGF0YQgG KAEAM2h0dHA6
Ly8vb3JnL2VjbGlwc2UvZW1mL2Vjb3JlL3V0aWwvRXh0ZW5kZWRNZXRhRGF0 YQEAC2Fubm90
YXRpb25zAQALZUFubm90YXRpb24BACNMb3JnL2VjbGlwc2UvZW1mL2Vjb3Jl L0VBbm5vdGF0
aW9uOwEAB2RldGFpbHMBACJMb3JnL2VjbGlwc2UvZW1mL2NvbW1vbi91dGls L0VNYXA7AQAN
ZGV0YWlsTWF0Y2hlcgEAG2V4dGVuZGVkTWV0YURhdGFBbm5vdGF0aW9ucwoF EQYXAQARc3Ry
aW5nTGl0ZXJhbEJvZHkIBjMBACYoW0EtWl1cdypccyo9XHMqKFsiJ10pKCg/ PlxcLnwuKSo/
KVwyKQoBBwY1DAY2AJABAAt0b0xvd2VyQ2FzZQEABmZpbHRlcgEADWVNb2Rl bEVsZW1lbnQK
AQcGOgwBWQL2CgABBjwMBj0GPgEAD3Jlc29sdmVNYXBFbnRyeQEAhihMb3Jn L2VjbGlwc2Uv
ZW1mL2Vjb3JlL0VQYWNrYWdlO0xvcmcvZWNsaXBzZS9lbWYvZWNvcmUvRUNs YXNzaWZpZXI7
TG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FQ2xhc3NpZmllcjspTG9yZy9lY2xp cHNlL2VtZi9l
Y29yZS9FQ2xhc3M7CAZAAQACVG8IBkIBAAhNYXBFbnRyeQgGRAEAAV8KAmcG RgwCbAZHAQAb
KEkpTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7CwGwBkkMBkoGSwEADmdldEVD bGFzc2lmaWVy
AQA3KExqYXZhL2xhbmcvU3RyaW5nOylMb3JnL2VjbGlwc2UvZW1mL2Vjb3Jl L0VDbGFzc2lm
aWVyOwoAAQZNDAWzBbQHBk8BACRvcmcvZWNsaXBzZS9qZHQvY29yZS9qZG9t L0lET01JbXBv
cnQLBk4BQwgGUgEAAi4qCwPRA+IIBlUBABVvcmcuZWNsaXBzZS5lbWYuZWNv cmUIBlcBAB5v
cmcuZWNsaXBzZS5lbWYuZWNvcmUueG1sLnR5cGUJBlkGWwcGWgEALW9yZy9l Y2xpcHNlL2Vt
Zi9lY29yZS94bWwvdHlwZS9YTUxUeXBlUGFja2FnZQwBGQZcAQAvTG9yZy9l Y2xpcHNlL2Vt
Zi9lY29yZS94bWwvdHlwZS9YTUxUeXBlUGFja2FnZTsIBl4BACNvcmcuZWNs aXBzZS5lbWYu
ZWNvcmUueG1sLm5hbWVzcGFjZQkGYAZiBwZhAQA3b3JnL2VjbGlwc2UvZW1m L2Vjb3JlL3ht
bC9uYW1lc3BhY2UvWE1MTmFtZXNwYWNlUGFja2FnZQwBGQZjAQA5TG9yZy9l Y2xpcHNlL2Vt
Zi9lY29yZS94bWwvbmFtZXNwYWNlL1hNTE5hbWVzcGFjZVBhY2thZ2U7CwEN AYYJAZQGZgwG
ZwTmAQAMRUZFQVRVUkVfTUFQCwFjAYYJAZQGagwGawTmAQASRUZFQVRVUkVf TUFQX0VOVFJZ
CAZtAQAJamF2YS5sYW5nCAZvAQAJamF2YS5tYXRoCAZxAQAJamF2YS51dGls CwMmAb8IBnQB
AApqYXZhLmxhbmcuCgEHBnYMAVkF6QoFEQZ4DAZ5A3QBABNpc0phdmFQcmlt aXRpdmVUeXBl
CgURBnsMBnwDdAEADmlzSmF2YUxhbmdUeXBlCwGwBn4MBn8AkAEAC2dldE5z UHJlZml4CAaB
AQAFQXJyYXkIBoMBAAJbXQEAHHJlY29yZERlbWFuZENyZWF0ZWRFRGF0YVR5 cGUBAAxpbmRl
eE9mU2xhc2gBAAlpbmRleE9mQXQBAA5rZXlFQ2xhc3NpZmllcgEAEHZhbHVl RUNsYXNzaWZp
ZXIBAAhiYXNlTmFtZQEABG5vZGUBAA1maXJzdFdpbGRjYXJkAQAHakltcG9y dAEAJkxvcmcv
ZWNsaXBzZS9qZHQvY29yZS9qZG9tL0lET01JbXBvcnQ7AQAKaW1wb3J0TmFt ZQEAC2ltcG9y
dEluZGV4AQANb3RoZXJFUGFja2FnZQEAEmVQYWNrYWdlQ2xhc3NpZmllcgEA EGVjb3JlRUNs
YXNzaWZpZXIBAAlwcmltaXRpdmUBAA9lbGVtZW50VHlwZU5hbWUIBpYBABNq YXZhLnV0aWwu
TWFwLkVudHJ5CgABBpgMBpkGmgEAC3Jlc29sdmVUeXBlAQBKKExvcmcvZWNs aXBzZS9lbWYv
ZWNvcmUvRVR5cGVkRWxlbWVudDspTG9yZy9lY2xpcHNlL2VtZi9lY29yZS9F Q2xhc3NpZmll
cjsLBVcGnAwGnQEiAQAGaXNNYW55AQARbWFwRW50cnlJbnRlcmZhY2UBAApr ZXlGZWF0dXJl
AQAMdmFsdWVGZWF0dXJlCwECAckHBqMBABFqYXZhL3V0aWwvVHJlZVNldAcG pQEAOG9yZy9l
Y2xpcHNlL2VtZi9pbXBvcnRlci9qYXZhL2J1aWxkZXIvSmF2YUVjb3JlQnVp bGRlciQxCgak
BqcMAC0GqAEASihMb3JnL2VjbGlwc2UvZW1mL2ltcG9ydGVyL2phdmEvYnVp bGRlci9KYXZh
RWNvcmVCdWlsZGVyO0xqYXZhL3V0aWwvTWFwOylWCgaiBqoMAC0GqwEAGShM amF2YS91dGls
L0NvbXBhcmF0b3I7KVYLAj0BUQsBTwauDAavAV4BAARtb3ZlAQAFZUxpc3QB ACNMb3JnL2Vj
bGlwc2UvZW1mL2NvbW1vbi91dGlsL0VMaXN0OwEAEGdldE9yZGVyaW5nVmFs dWUBADcoTG9y
Zy9lY2xpcHNlL2VtZi9lY29yZS9FTmFtZWRFbGVtZW50O0xqYXZhL3V0aWwv TWFwOylJCwa1
BrcHBrYBACNvcmcvZWNsaXBzZS9lbWYvZWNvcmUvRU5hbWVkRWxlbWVudAwG uAa5AQAKZUNv
bnRhaW5lcgEAISgpTG9yZy9lY2xpcHNlL2VtZi9lY29yZS9FT2JqZWN0OwsG tQFDCwM6BrcI
Br0BAAJfXwoEmga/DAbAAOIBAAhpbnRWYWx1ZQN/////AQANZU5hbWVkRWxl bWVudAEAJUxv
cmcvZWNsaXBzZS9lbWYvZWNvcmUvRU5hbWVkRWxlbWVudDsBABNMamF2YS9s YW5nL0ludGVn
ZXI7AQAKZUNsYXNzTmFtZQEADGVGZWF0dXJlTmFtZQEADWdldERpYWdub3N0 aWMBACooKUxv
cmcvZWNsaXBzZS9lbWYvY29tbW9uL3V0aWwvRGlhZ25vc3RpYzsBAAtnZXRH ZW5Nb2RlbAEA
MygpTG9yZy9lY2xpcHNlL2VtZi9jb2RlZ2VuL2Vjb3JlL2dlbm1vZGVsL0dl bk1vZGVsOwkG
zAbOBwbNAQAQamF2YS9sYW5nL1N5c3RlbQwGzwbQAQADZXJyAQAVTGphdmEv aW8vUHJpbnRT
dHJlYW07CAbSAQAKLS0+RXJyb3I6IAoG1AbWBwbVAQATamF2YS9pby9Qcmlu dFN0cmVhbQwG
1wFIAQAHcHJpbnRsbgoAfQbZDAAtBtoBADwoSUxqYXZhL2xhbmcvU3RyaW5n O0lMamF2YS9s
YW5nL1N0cmluZztbTGphdmEvbGFuZy9PYmplY3Q7KVYKAH0G3AwBXQbdAQAr KExvcmcvZWNs
aXBzZS9lbWYvY29tbW9uL3V0aWwvRGlhZ25vc3RpYzspVgEAB21lc3NhZ2UI BuABAAwtLT5X
YXJuaW5nOiABAApTb3VyY2VGaWxlAQAVSmF2YUVjb3JlQnVpbGRlci5qYXZh AQAMSW5uZXJD
bGFzc2VzACEAAQADAAAAGAAMAAUABgAAAAQABwAIAAAABAAJAAoAAAAEAAsA DAAAAAQADQAM
AAAABAAOAAwAAAAEAA8ADAAAAAQAEAAMAAAABAARAAwAAAAEABIADAAAAAQA EwAUAAAABAAV
AAwAAAAEABYADAAAAAQAFwAYAAAABAAZABgAAAAEABoAGwAAAAQAHAAdAAAA BAAeAAoAAAAM
AB8AIAAAAAwAIQAgAAAADAAiACAAAAAMACMAIAAAAAwAJAAgAAAADAAlACAA AAApAAgAJgAn
AAEAKAAAAI8AAgAAAAAAQ7sAKVm3ACuzAC4SMBAouAAyswA4EjoQCLgAMrMA PBI+EAi4ADKz
AEASQhAIuAAyswBEEka4AEizAEsSTbgASLMAT7EAAAACAFEAAAAyAAwAAABu AAoF7wAMBfAA
DgXuABQGBwAWBggAGAYGAB4GHgAoBiMAMgZtADoGbwBCAGkAUgAAAAIAAAAB AC0AUwABACgA
AAE7AAcAAgAAALMqtwBUKrsAVVm3AFe1AFgquwBVWbcAV7UAWiq7AFVZtwBX tQBcKrsAVVm3
AFe1AF4quwBVWbcAV7UAYCq7AFVZtwBXtQBiKrsAVVm3AFe1AGQquwBmWbcA aLUAaSq7AFVZ
twBXtQBrKrsAVVm3AFe1AG0quwBvWbcAcbUAciq7AHRZtwB2tQB3KgO1AHkq K7UAeyq7AH1Z
uAB/tgCFuQCLAQADsgCREpe2AJkBtwCdtQCgsQAAAAIAUQAAAFoAFgAAANEA BAB+AA8AhAAa
AIoAJQCQADAAlgA7AJ0ARgClAFEAqgBcALEAZwC5AHIAvgB9AMMAiADHAI0A 0wCSANUAlwDW
AKIA1wCjANgAqwDZAK8A1QCyANoAUgAAABYAAgAAALMAogCjAAAAAACzAAcA CAABAAEALQCk
AAEAKAAAAFEAAgADAAAACyortwClKiy1AKexAAAAAgBRAAAADgADAAAA3gAF AN8ACgDgAFIA
AAAgAAMAAAALAKIAowAAAAAACwAHAAgAAQAAAAsAHgAKAAIAAQAtAKkAAQAo AAAAXAADAAQA
AAAMKisstwCqKi21AKyxAAAAAgBRAAAADgADAAAA5AAGAOUACwDmAFIAAAAq AAQAAAAMAKIA
owAAAAAADAAHAAgAAQAAAAwAHgAKAAIAAAAMAAkACgADAAQArgCvAAEAKAAA AFkAAgACAAAA
HbsAsFm3ALJMK7kAswEAuQC5AQC4AL+5AMQCACuwAAAAAgBRAAAADgADAAAA 6gAIAOsAGwDs
AFIAAAAWAAIAAAAdAKIAowAAAAgAFQDKAMsAAQAEAMwAzQACAM4AAAAEAAEA zwAoAAAJCgAI
AA0AAAVcK7gA0U0suQDXAQBOuwBmWbcAaDoEAzYFpwAlLRUFMrkA3QEABKAA FSotFQUyuQDj
AQDAAOcZBLYA6YQFARUFLb6h/9oqtABiuQDtAQC5APEBADoFpwIgGQW5APcB AMAA/ToGGQa5
AP8BAMABAjoHGQa5AQQBAMABBzoIKhkHGQi2AQk6CRkJwQENmQC/GQfBAQ+Z ALcZB8ABDzoK
GQq5AREBADoLsgEVuQEbAQA6DBkMGQq5AR8BALkBIwIAGQwZCrkBKQEAuQEs AgAZDBkKuQEv
AQC5ATICABkMGQq5ATUBALkBOAIAGQwZCrkBPAEAuQE/AgAZDBkHuQFCAQC5 AUUCABkMuQFJ
AQAZB7kBTQEAuQFOAgBXGQu5AVQBABkLuQFUAQAZB7kBVwIAGQy5AVsDABkL uQFUAQAZB7kB
XwIAVxkMOgenALQZCcEBY5kArBkHwQEkmQCkGQfAASQ6ChkKuQFlAQA6C7IB FbkBZgEAOgwZ
DBkKuQFqAQC5AWsCABkMGQq5AWwBALkBbQIAGQwZCrkBbgEAuQFvAgAZDBkK uQFwAQC5AXEC
ABkMGQq5AXIBALkBcwIAGQwZB7kBQgEAuQF0AgAZDLkBdQEAGQe5AU0BALkB TgIAVxkLuQFU
AQAZB7kBXwIAVxkMOgcqtABtGQq5AXYCAFcqtABkGQe5AXkCAMABBzoKGQrG ADkqtABpGQm5
AXwCAJkAKyq0AGkZCbkBfwIAVyoZBxkKA7YBgDoLGQnAAWMZC7kBgwEAuQGI AgAZCccAHiqy
AJETAYsEvQADWQMZCFO2AY22AZCyAZM6CRkHGQm5AZkCACoZCbYBnRkFuQGh AQCa/dwqtABr
uQDtAQC5APEBADoFpwDpGQW5APcBAMAA/ToGGQa5AP8BAMABDToHGQa5AQQB AMABpDoIGQjG
AMADNgmnALIqGQcZCBUJMgO2AYA6ChkKuQGmAQDHAFYZB7gBqsABsDoLsgEV uQGyAQA6DBkM
GQq5AYMBALkBtQIAGQwZCrkBtgEAuQG3AgAZDAS5AbgCABkMBLkBuwIAGQu5 Ab4BABkMuQHB
AgBXGQw6ChkKwQENmQAjGQqyAZOlADQZB7kBwwEAGQq5AcECAFcqGQq2AZ2n ABwqsgCREwHG
BL0AA1kDGQgVCTJTtgGNtgGQhAkBFQkZCL6h/0wZBbkBoQEAmv8TKrQAbbkA 7QEAuQDxAQA6
BacA5RkFuQD3AQDAAP06BhkGuQD/AQDAASQ6BxkGuQEEAQDAAQc6CBkHuQHI AQDAAQ06CRkJ
GQi5AcwCAMABJDoKGQrHACYqsgCREwHQBb0AA1kDGQhTWQQZCbkB0gEAU7YB jbYBkKcAfxkK
uQHTAQAZB6UASRkKuQHTAQDGAD8qsgCREwHWBr0AA1kDGQhTWQQZCrkB0wEA uQHYAQBTWQUZ
CrkB0wEAuQFlAQC5AdIBAFO2AY22AZCnAC0ZBxkKuQHZAgAZChkHuQHZAgAq GQq2AZ0ZCrkB
3QEAmQALGQcEuQEyAgAZBbkBoQEAmv8XKrQAXLkA7QEAuQDxAQA6BacAdxkF uQD3AQDAAP06
BhkGuQD/AQDAAbA6BxkGuQEEAQDAAMU6CCoZB7kBvgEAGQi2AeAZB7kBvgEA uQHkAQA6CacA
KxkJuQD3AQDAAYQ6ChkKwQENmQAXGQrAAQ06CyoZC7kBVAEAGQi2AeAZCbkB oQEAmv/RGQW5
AaEBAJr/hSu5AeUBADoFAzYGpwA2LRUGMrkA3QEABKAAJi0VBjK5AOMBALkB 6wEAOgcZBRkH
uQHuAgCZAAoZBzoFpwANhAYBFQYtvqH/yRkFsAAAAAIAUQAAAeYAeQAAAPMA BQD0AAwA9QAV
APYAGwD4ACgA+gA6APYARAEAAFcBAgBjAQMAbwEEAHsBBQCFAQkAlQELAJwB DAClAQ0ArwEO
AL0BDwDLARAA2QERAOcBEgD1ARMBAwEUARcBFQEzARYBQgEXAUkBGQFZARsB YAEcAWkBHQFz
AR4BgQEfAY8BIAGdASEBqwEiAbkBIwHHASQB2wElAeoBJgHuAScB+gEqAgoB KwIdAS0CKQEu
AjQBLwJFATICSgE0AmABNQJlAToCbgE8AnQBAAJ+AUECkQFDAp0BRAKpAUUC tQFGAroBSALA
AUoCzgFLAtgBTQLiAU4C7AFPAvoBUAMIAVEDEAFSAxgBUwMnAVQDKwFXAzMB WQM7AVsDSgFc
A1MBYQNXAWIDWgFjA2kBYQNsAUgDdwFBA4EBawOUAW0DoAFuA6wBbwO4AXAD xAFxA9IBcgPX
AXQD5AF1A+kBdgP0AXQD+gF4BBABegQdAXsEIgF8BDEBfQRGAXoETAGBBFUB ggReAYQEZAGI
BG4BigR2AWsEgAGRBJMBkwSfAZQEqwGVBLcBlwTEAZgE1QGaBOEBmwTpAZ0E 8AGeBP0BmAUH
AZEFEQGlBRkBpgUfAagFLAGqBTwBqwVIAa0FTAGuBU8BpgVZAbMAUgAAAbAA KwAABVwAogCj
AAAAAAVcAfQB9QABAAUFVwH2AfcAAgAMBVAB+AH5AAMAFQVHAfoAFAAEABgA LAH7AfwABQBU
AioB+wH9AAUAYwIRAf4B/wAGAG8CBQIAAgEABwB7AfkCAgIDAAgAhQHvAgQC BQAJAJwArQIG
AgcACgClAKQCCAGYAAsArwCaAgkCCgAMAWAAmgIJAgoACgFpAJECCAGYAAsB cwCHAgYCBwAM
AgoAagILAgMACgI0ABECDAIFAAsCjgDzAfsB/QAFAp0A2gH+Af8ABgKpAM4C DQGYAAcCtQDC
Ag4BpQAIAr0AugIPAfwACQLOAJ4CBAIFAAoC4gBJAhACEQALAuwAPwISAZgA DAORAO8B+wH9
AAUDoADWAf4B/wAGA6wAygIJAgoABwO4AL4CEwIDAAgDxACyAg0BmAAJA9IA pAIUAgoACgSQ
AIEB+wH9AAUEnwBoAf4B/wAGBKsAXAIQAhEABwS3AFACFQAMAAgE0gA1Ag8B /QAJBOEAHAIE
AgUACgTwAA0CDQGYAAsFGQBDAhYCFwAFBRwAPQH7AfwABgU8ABMCGAIXAAcA AQIZAhoAAgDO
AAAABAABAM8AKAAACEQABAARAAAElCq0AHu5AhsBAE4tK7gCIbkCJwIAuwB0 WbcAdjoEuwB0
WbcAdjoFKhkFLbkCKwEAuQIvAQC2AjUqGQUtuQIrAQC5AjkBALYCNRkFuQI8 AQA6BqcAEyoZ
BBkGuQD3AQDAAea2Aj8ZBrkBoQEAmv/pLLYCQzoGGQS5AjwBADoHpwB1GQe5 APcBAMACHDoI
GQYsGQi5AkcBALkCSAEAtgJLBLkCTwMAOgkZCbkCUwEAA7kCWAIAwAJbOgoq tAByGQq5Al0C
AFcZCrkCXgEAuQHkAQA6C6cAFhkLuQD3AQDAAmE6DCoZDCy2AmMZC7kBoQEA mv/mGQe5AaEB
AJr/h7sAb1m3AHE6BxkFLbkCXQIAVxkFuQI8AQA6CKcAphkIuQD3AQDAAeY6 CbsCZ1m3AmkZ
CbkB5QEAtgJqEwJutgJwtgJzuAJ0Ogq7AnlZGQa5ALMBABkKuQJ7AgC3An86 CxkLtgKCEwKG
tgKIOgwZDMYAUhMChhkMuAKMOg0DNg6nADUZDRUOMjoPLRkJpQAUEwKSGQ8T ApS2Apa2ApmZ
ABQZD7YCnDoQGQcZELkCngIAV4QOARUOGQ2+of/JpwAFOgoZCLkBoQEAmv9W AzYIpwB7GQcV
CLkCoQIAwAEHOgkZCbgCojoKGQrGAF4ZCrkCpwEAEwKGtgKrwAEHOgsZC8YA RxMChhkLuAKM
OgwDNg2nAC8ZDBUNMjoOGQ62Apw6DxMCkhkOEwKUtgKWtgKZmQANGQcZD7kC ngIAV4QNARUN
GQy+of/PhAgBFQgZB7kCrgEAof9/uwKxWbcCszoIuAK0uQDtAQC5APEBADoJ pwB7GQm5APcB
AMAA/ToKGQq5AQQBAMACdToLEwK3GQu2Arm2ApmZAFUZC7YCvAWkAEwTAr8Z CwO2AsG2ApmZ
AD0ZCBkLBLYCwbkBeQIAwAKfOgwZDMcADLsAb1m3AHE6DBkMGQu5Ap4CAFcZ CBkLBLYCwRkM
uQLFAwBXGQm5AaEBAJr/gRkHGQi5AskBALkCzAIAVxkHuQLPAQA6CacAkRkJ uQD3AQDAAQc6
ChkIGQq5AXkCAMACn7kCzwEAOgunAGUZBhkLuQD3AQDAAnUEuQJPAwA6DBkM uQJTAQADuQJY
AgDAAls6DSq0AHIZDbkCXQIAmQAxGQ25Al4BALkB5AEAOg6nABYZDrkA9wEA wAJhOg8qGQ8s
tgJjGQ65AaEBAJr/5hkLuQGhAQCa/5cZCbkBoQEAmv9rKi22AtA6CSwZCbkC SAEAtgLSKrQA
WrkC1QEAmQAdKrIC2Cq0AHmZAAkTAtunAAYTAt22At+2AZAqtABauQLgAQC5 AjwBADoKpwCg
GQq5APcBAMABsDoLLLYC5BkLuQKeAgBXLBkLtgLoOgwZDCq0AF4ZC7kBeQIA wAEHtgLsKrQA
WrkA7QEAuQDxAQA6DacAUBkNuQD3AQDAAP06DhkOuQEEAQAZC6YAOBkOuQD/ AQDAAQc6DxkP
xwAHAqcACxkPEwLxtgLzNhAVEAKfAB0ZDBkPAxUQtgL3tgL7pwANGQ25AaEB AJr/rBkKuQGh
AQCa/1yxAAEBJgG7AbsC/gACAFEAAAGGAGEAAAG4AAoBuQAUAbsAHQG8ACYB vQA3Ab4ASAG/
AFQBwQBkAb8AbgHEAHQBxQCAAccAjAHIAKYByQC4AcoAxAHLANUBzQDhAc4A 6AHLAPIBxQD8
AdQBBQHVAQ4B1gEaAdgBJgHdAUUB3gFcAd8BaQHgAW4B4gF4AeMBfgHnAYUB 6AGcAeoBowHr
Aa0B4wG7AfABvQHWAccB+AHNAfwB2wH9AeIB/gHnAgAB+QIBAf4CAwIIAgQC DgIIAhUCCQIc
AgoCLQIMAjcCBAJCAfgCUQIVAloCFgJsAhoCeAIbAoQCHAKSAh0CmwIeAqoC IAK8AiECwQIj
AsoCJQLUAiYC5AIWAu4CLAL9Ai0DCQIxAxUCMgMrAjYDPwI3A1ECOANfAjoD cAI8A3wCPQOD
AjoDjQIyA5cCLQOhAkMDqAJEA7MCRgO/AkgD2QJLA+wCTQP4Ak4EBAJQBAwC UQQfAlIEMgJU
BD4CVQRKAlcEVgJYBGkCWQRvAlsEfAJdBH8CUgSJAksEkwJhAFIAAAIKADQA AASUAKIAowAA
AAAElAMAAwEAAQAABJQDAgMDAAIACgSKAfQB9QADAB0EdwMEABgABAAmBG4D BQAYAAUAUQAd
AfsB/QAGAHQEIAMGAMsABgB9AH8B+wH9AAcAjABmAwcACAAIAKYATAMIAwkA CQC4ADoACQAK
AAoA0gAgAg8B/QALAOEABwMKAwsADAEFA48DDAMNAAcBFwCwAfsB/QAIASYA lwMOAfUACQFF
AHYDDwMQAAoBXABfAxEDEgALAWkAUgMTAgMADAF4AEADFAMVAA0BewA9Ag8B /AAOAYUAKAMW
AxcADwGjAAoDGAIDABABygCHAfsB/AAIAdsAZwMYAgMACQHiAGADGQMaAAoB +QBJAxMCAwAL
AggAOgMUAxUADAILADcCDwH8AA0CFQAiAxYDFwAOAhwAGwMbAgMADwJaAjoD HAAMAAgCaQCF
AfsB/QAJAngAbAH+Af8ACgKEAGADHQMQAAsCvAAoAx4DDQAMAwYAmwH7Af0A CQMVAIIDGAID
AAoDKABvAg8B/QALAz8ATgMIAwkADANRADwACQAKAA0DbQAgAx8B/QAOA3wA BwMKAwsADwOo
AOwCFgIXAAkD6QCqAfsB/QAKA/gAkQIQAhEACwQMAH0DIAMhAAwELwBaAyIB /QANBD4AQQH+
Af8ADgRWACkDIwIDAA8EaQAWAyQB/AAQAAEBnwGgAAEAKAAAAYkAAgAKAAAA vSu4AarAAbBN
LLIDJaUAsCq0AHK5AjwBAE6nAJotuQD3AQDAAls6BBkELLkDKgIAOgUZBcYA gCq2Ay4ZBbkD
MQIAmgB7GQW5AzIBAMYAcSq2Ay4ZBbkCXQIAVyy5AzYBADoGpwBEGQa5APcB AMADOjoHGQe5
AzwBALkB5AEAOginAB0ZCLkA9wEAOgkZCcEDP5kADCoZCcADP7YBnRkIuQGh AQCa/98ZBrkB
oQEAmv+4pwAMLbkBoQEAmv9jsQAAAAIAUQAAAE4AEwAAAmUACAJmAA8CaAAc AmoAJwJrADEC
bAA2Am4ATgJwAFoCdABlAnYAcQJ3AIICeQCLAnoAkwJ8AJwCdwCmAnQAsAKB ALMCaAC8AoUA
UgAAAGYACgAAAL0AogCjAAAAAAC9A0EDQgABAAgAtQIQAhEAAgAZAKMB+wH9 AAMAJwCMAAkA
CgAEADEAggMKAwsABQBiAE4CDwH9AAYAcQA1A0MDRAAHAH8AJwMfAf0ACACL ABEDRQNGAAkA
AQJlA0cAAQAoAAAAPwADAAIAAAAHKisBtgJjsQAAAAIAUQAAAAoAAgAAAokA BgKKAFIAAAAW
AAIAAAAHAKIAowAAAAAABwMKAwsAAQAEAmUCZgABACgAAAC+AAMABQAAAFAs xgAOLLYDSCu5
Ap4CAFcruQNLAQBOKrQAWCu5A04BAC25AsUDAFcruQNRAQC5AeQBADoEpwAR KhkEuQD3AQDA
AmG2A1QZBLkBoQEAmv/rsQAAAAIAUQAAACIACAAAAo4ABAKQAA8CkgAWApMA JwKUADcClgBF
ApQATwKYAFIAAAA0AAUAAABQAKIAowAAAAAAUAMKAwsAAQAAAFADAgMDAAIA FgA6AhACEQAD
ADQAGwH7Af0ABAABAjcCOAACAM4AAAAEAAEDVgAoAAAAzAADAAUAAABeAz6n AFUsHTI6BCsZ
BLkDMQIAmgBCGQS5A1gBAJkAOBkEuQNbAQCZAC4rGQS5Al0CAFcqKxkEuQIr AQC5Ai8BALYC
NSorGQS5AisBALkCOQEAtgI1hAMBHSy+of+rsQAAAAIAUQAAACIACAAAAp8A BQKhAAoCogAp
AqQAMgKlAEMCpgBUAp8AXQKpAFIAAAA0AAUAAABeAKIAowAAAAAAXgDKABgA AQAAAF4DXgNf
AAIAAgBbAfsB/AADAAoASgH0AfUABAABAkECQgACAM4AAAAEAAEDVgAoAAAA uAADAAYAAABA
LLkDYAEATgM2BKcALi0VBDI6BRkFuQNkAQAEoAAQKisZBcACHLYDZ6cADSor GQXAAOe2Aj+E
BAEVBC2+of/RsQAAAAIAUQAAACIACAAAArAABwKxAA0CswATArQAHgK2ACsC ugA1ArEAPwK9
AFIAAAA+AAYAAABAAKIAowAAAAAAQADKABgAAQAAAEACCANqAAIABwA5A2sD bAADAAoANQH7
AfwABAATACIDCANtAAUAAQJBA2kAAgDOAAAABAABA1YAKAAAAPgAAwAGAAAA Ziy5A24BABMD
b7YDcZkAWSy5AhsBAE4tuADROgQZBLkDdQEAOgUtLbkDeAEAuQN8AQAZBLkD dQEAuQOCAgCl
ABMZBSy5AkcBALkB7gIAmgAYKyy5Al0CAFenAA06BbIC2BkFtgOIsQABABwA WwBbA4wAAgBR
AAAAKgAKAAACxAAPAsYAFgLHABwCygAlAssAQALMAFACzgBbAtEAXQLTAGUC 1gBSAAAASAAH
AAAAZgCiAKMAAAAAAGYAygAYAAEAAABmAwcACAACABYATwH0AfUAAwAcAEkB 9gH3AAQAJQA2
A44CFwAFAF0ACAOPA5AABQABAOsA7AACAM4AAAAEAAEDVgAoAAAAxgADAAYA AABKK7kDYAEA
TgM2BKcAOC0VBDI6BSwZBbkDkQIAmQAkGQW5A2QBAASgAA8qGQXAAhy2A5Kn AA0qGQXAAOcs
tgDphAQBFQQtvqH/x7EAAAACAFEAAAAmAAkAAALdAAcC3gANAuAAEwLhAB4C 4wApAuUANQLp
AD8C3gBJAu0AUgAAAD4ABgAAAEoAogCjAAAAAABKAggDagABAAAASgH6ABQA AgAHAEMDawNs
AAMACgA/AfsB/AAEABMALAMIA20ABQABAOsAUwACAM4AAAAEAAEDVgAoAAAB MwAEAAcAAAB/
EwOUK7kDlgEAuQOZAQC2A5yZAG27A59ZKwS5A6ECALcDpE0stgOlvAhOLC22 A6hXLLYDrAE6
BCu5A68BADoEpwAFOgUZBMcADrsBB1kttwOypwANuwEHWS0ZBLcDtToFsgAu GQUTA7i2A7o6
BioZBrYDvqcAC02yAtgstgOIsQACADcAQgBCA1YAFAB2AHYC/gACAFEAAAA6 AA4AAAL0ABQC
+AAjAvkAKgL6ADAC+wA0AwMANwMGAEIDCABEAwwAYAMNAG0DDgB2AxAAdwMS AH4DFQBSAAAA
UgAIAAAAfwCiAKMAAAAAAH8DBwAIAAEAIwBTA8IDwwACACoATAPEA8UAAwA3 AD8DxgIDAAQA
YAAWA2sCAwAFAG0ACQPHA8gABgB3AAcDjwPJAAIABAPAA8EAAQAoAAAAhgAC AAMAAAAwKgS1
AHkruQPKAQBNpwAfLLkD0AEAB6AADioswAPVtgPXpwAOLLkD2wEATSzH/+Ox AAAAAgBRAAAA
HgAHAAADHAAFAx0ADwMfABkDIQAhAyIAJAMdAC8DJQBSAAAAIAADAAAAMACi AKMAAAAAADAD
3gPIAAEADAAjA98D4AACAAQD2QPaAAEAKAAADScABwAaAAAIPSu5A+EBAMAD y00BTiy5A8oB
AMED5JkAEiy5A8oBAMAD5LkD5gEATioruQPnAQC2A+o6BAM2BQE6BhkExgAg KhkEEwPttgPv
OgYTA/MZBrYCmZkABwOnAAQENgUVBZkDNyq0AFotuQF5AgDAAbA6BxkHxwC9 sgEVuQP1AQA6
By3HAAcCpwAKLRMC8bYC8zYIFQgCoAAHLacACy0VCARgtgP4OgkZBxkJuQP6 AgAZB7sCZ1kT
A/u3A/0txwAJEwP/pwALLRAuEC+2BAG2AnATBAW2AnC2AnO5BAcCABkHLccA CRMD/6cABC25
BAoCACq0AFotGQe5AsUDAFcZCcYAMrsCZ1kZCQO2BA24BBG4BBe3A/0ZCQS2 A/i2AnC2AnM6
Ciq0AF4ZBxkKuQLFAwBXK7kEGwEAEQIAfpoADhMEHhkGtgKZmQHKsgEVuQGy AQA6CCq0AGAZ
CCu5AsUDAFcZCCu5BCABALkBtwIAGQe5Ab4BABkIuQHBAgBXGQi5BCEBACoZ BLYEIrkBTgIA
VxkIKiu5A+cBALYEJrgEKSu5BC0BADoJKiu5A+cBALYEMToKGQrGAFIZCcYA TbsAdFkZCbgE
NLcEOjoLuwQ9WRkKEwQ/twRBOgynABAZCxkMtgREuQRHAgBXGQy2BEia/+4Z C7kCrgEAvQEH
OgkZCxkJuQRLAgBXKrQAaxkIGQm5AsUDAFcqGQQTBE+2A+86CxkIEwRRGQu2 Apm5AbgCACoZ
BBMEU7YD7zoMGQgTBFEZDLYCmbkBuwIAK7kEVQEAOg2nACMZDbkD0AEAEAag AA4qGQgZDcAE
VrYEWBkNuQPbAQA6DRkNx//eKhkEEwRctgPvOg0ZDcYFursEPVkZDRMEXrcE QToOpwBvGQ62
BEQ6DxkIGQ+5AcwCAMcAPCoZCCoZBBkPtgRguwJnWRMEY7cD/RkPA7YEDbgE EbYEZBkPBLYD
+LYCcLYCcxMEZwEBtgRpV6cAIyqyAJETBGwFvQADWQMZD1NZBBkIuQHSAQBT tgGNtgRuGQ62
BEia/4+nBTKyARW5BHEBADoIKrQAYBkIK7kCxQMAVxkIK7kEIAEAuQR1AgAZ B7kBvgEAGQi5
AcECAFcZCLkEeAEAKhkEtgQiuQFOAgBXGQgqK7kD5wEAtgQmuAQpK7kEVQEA OgmnACIZCbkD
0AEACKAADioZCBkJwAR5tgR7GQm5A9sBADoJGQnH/9+nBKsruQQgAQA6BwM2 CBkHEwR/tgNx
mQSVGQe2BIEQB6QEixkHAxkHtgSBEAdktgL3OgkTA/MZBrYCmZkABgQ2CC3H AAcCpwAKLRMC
8bYC8zYKFQoCoAAHLacACy0VCgRgtgP4Ogu7AmdZEwP7twP9LccACRMD/6cA Cy0QLhAvtgQB
tgJwEwQFtgJwtgJzOgwtxwAJEwP/pwAELToNuwB0WbcAdjoOuwB0WbcAdjoP uwKxWbcCszoQ
K7kEVQEAOhGnAwUZEbkD0AEACKAA+hkRwAR5OhIZEbkEhAEAOhMZErkEhQEA OhQTBIcZE7YC
mZkAIQQ2CBkSuQSJAQA6CxkLBRkLtgSBBGS2Avc6C6cCrxMEjBkTtgKZmQAh BDYIGRK5BIkB
ADoMGQwFGQy2BIEEZLYC9zoMpwKGEwSOGRO2ApmZACEENggZErkEiQEAOg0Z DQUZDbYEgQRk
tgL3Og2nAl0TBJAZFLYCmZkCUhkTEwSStgNxmgJHGRK5BIkBADoVGRUTBJS2 AvM2FhUWAp8A
DhkVFRYEYLYD+DoVGRW2BJY6FRkVuASZNhcZEBkTuwSaWRUXtwSeuQLFAwBX pwH/OhWnAfoZ
EbkD0AEAEAagAe4ZEcAEVjoSKhkSuQSgAQC2A+o6ExkTxgHVGRK5BKEBADoU GRTGAccZFBME
pLYDcZkAfbIBFbkEpgEAOhUZFSoZExMEqrYD77kBiAIAGRUZErkErAEABrYD +LkErQIAKhkT
EwSutgPvOhYTBLAZFrYCmZkACxkVA7kEsgIAGQ8ZFbkCngIAVxkVuQS1AQAq GRO2BCK5AU4C
AFcZFSoZErkEoAEAtgQmuAQppwFCGRQTBLa2A3GZATeyARW5AbIBADoVKhkT EwSqtgPvOhYZ
FsYAOxkVBLkBuwIAGRUEuQG4AgAZFRkWuQG1AgAZFRkSuQSsAQAGtgP4uQG3 AgAZDhkVuQKe
AgBXpwDCGRUTBLi5AbUCABkVGRK5BKwBAAa2A/i5AbcCABkOGRW5Ap4CAFcq GRMTBFy2A+86
FxkXxgBcuwQ9WRkXEwRetwRBOhinAEAZGLYERDoZKhkVKhkTGRm2BGC7AmdZ EwRjtwP9GRkD
tgQNuAQRtgRkGRkEtgP4tgJwtgJzEwRnAQG2BGlXGRi2BEia/76nADMqGRUq GRMTBLq2BGAT
BLwTBGcBAbYEaVcqGRUqGRMTBL22BGATBL4TBGcBAbYEaVcZFbkEIQEAKhkT tgQiuQFOAgBX
GRUqGRK5BKABALYEJrgEKRkRuQPbAQA6ERkRx/z8FQiaABcZDrkEvwEAmQAN GQ+5BL8BAJoA
y7IBFbkD9QEAOhEqtABcGREZELkCxQMAVyq0AGAZESu5AsUDAFcZERkMuQQH AgAZERkNuQQK
AgAZERkLuQP6AgAZEbkBvgEAGQ65AU4CAFcZEbkBvgEAGQ+5AU4CAFcZBMYA FhkRuQTAAQAq
GQS2BCK5AU4CAFcZESoruQPnAQC2BCa4BCkqtABeGREZCbkCxQMAVyq0AFot uQF5AgDAAbA6
EhkSxgAXGRG5Ab4BABkSuQG+AQC5AU4CAFcqtABaLRkRuQLFAwBXsQABBQkF UQVRBMEAAgBR
AAACtgCtAAADLAAKAy0ADAMuABgDMAAnAzYAMwM3ADYDOAA5AzoAPgM8AEkD PQBbA0AAYANE
AG8DRQB0A0kAfgNKAI8DSwCjA0wArANNANsDTgDtA08A+gNRAP8DUwEgA1QB LgNaAUYDXAFQ
A10BXQNeAWoDXwF5A2ABjANhAZsDYwGjA2QBrwNlAbkDZwHHA2gB2ANqAeUD aAHtA2wB+QNt
AgMDbwIRA3ECHANyAisDdAI2A3UCRQN5AlADewJcA30CZwN5AnUDhAKAA4UC hQOHApYDiQKd
A4oCqQOMAsoDjQLbA4wC4gORAwIDhwMNA5oDFwObAyQDnAMxA50DQAOeA1MD nwNiA6MDbQOl
A3gDpwODA6MDlAOvA5wDsAOfA7EDtAOzA8QDtwPPA7kD0gO8A+MDvQP3A74E IQO/BC4DwQQ3
A8IEQAPDBEkDxwRUA8kEXwPLBGYDzARvA80EeAPOBIMD0ASGA9EEjwPSBKED 1ASsA9YErwPX
BLgD2ATKA9oE1QPcBNgD3QThA94E8wPgBQkD5AUSA+UFHAPmBSID6AUtA+oF NAPrBTsD7AVR
A+4FVgP0BWID9gVpA/cFdgP4BXsD+gWEA/sFiQP9BZQD/wWeBAAFrgQBBcAE AgXLBAMF1gQF
Bd4EBwXoBAgF+wQJBg4ECwYZBA0GIwQOBi4EDwYzBBEGOwQSBkMEEwZMBBQG XgQVBmsEGQZ1
BBoGhwQbBpEEHQacBB4GoQQgBrIEIga5BCMGzgQkBusEIwbvBCAG+gQpBxIE KwcTBCwHFQQt
Bx4ELgchBC8HJAQwByUEMQcmBCsHKgQ0Bz0ENQdNA8cHWwQ8B3QEPgd+BD8H jARAB5kEQQei
BEIHqwRDB7QERAfDBEUH0gRGB9cESAfqBEoH+QRMCAcETggWBE8IGwRRCC8E VAg8BFgAUgAA
AhQANQAACD0AogCjAAAAAAg9BMMExAABAAoIMwPeA8gAAgAMCDEDIwIDAAMA MwgKBMUCAwAE
ADYIBwTGAB0ABQA5CAQD7gIDAAYAbwMlAhACEQAHAI8AnwMkAfwACACjAIsE xwIDAAkBIAAO
BMgCAwAKAVABvQINAZgACAGjAWoEyQGlAAkBrwFeBMoCAwAKAccAPATLAw0A CwHVABgEzATN
AAwCHADxBM4CAwALAjYA1wTPAgMADAJNACgD3wPgAA0CgACNBF0CAwANApMA dwTMBM0ADgKd
AGUE0AIDAA8DFwB6BNEE0gAIA2oAJwPfA+AACQOcBKACAgIDAAcDnwSdBNMA HQAIA8QEeATU
AgMACQPjBFkDJAH8AAoD9wRFBNUCAwALBCEEGwTWAgMADAQuBA4E1wIDAA0E NwQFBNgDDQAO
BEAD/ATZAw0ADwRJA/ME2gAMABAEUQMKA98D4AARBGYA8ATbBNwAEgRvAOcE 3QIDABMEeADe
BN4CAwAUBRIAPwTfAgMAFQUcADUE4AH8ABYFOwAWAxsB/AAXBWkB5AThBOIA EgV2AdcE4wID
ABMFhAHJBOQCAwAUBZ4AcATlBOYAFQXLAEME5wIDABYGIwEqAg0BmAAVBi4B HwSrAgMAFgac
AI4EXQIDABcGrwBIBMwEzQAYBrkANgTQAgMAGQd+AL4CEAIRABEIFgAmBOgC EQASAAQEWgRb
AAEAKAAAAXwABwAMAAAApCosuQSgAQC2A+pOLcYAlyy5BKwBADoELLkEoQEA OgUsuQTpAQA6
Biy5BOwBADoHKistGQQZBRkGGQe2BGk6CBkIxgASGQgqLLkEoAEAtgQmuAQp KrQAYBkILLkC
xQMAVxkIwQTvmQA+GQjABO86CRkJuQTxAQC5AeQBADoKpwAcGQq5APcBAMAE 9DoLKrQAYBkL
LLkCxQMAVxkKuQGhAQCa/+CxAAAAAgBRAAAARgARAAAEYQALBGIADwRkABcE ZQAfBGYAJwRn
AC8EaQA/BGoARARsAFMEbwBgBHAAaARyAG8EcwCABHUAjAR2AJkEcwCjBHoA UgAAAHoADAAA
AKQAogCjAAAAAACkAg0BmAABAAAApAThBOIAAgALAJkExQIDAAMAFwCMBPYC AwAEAB8AhATk
AgMABQAnAHwE9wGlAAYALwB0BPgBpQAHAD8AZAIAAgEACABvADQE+QT6AAkA fQAmAfsB/QAK
AIwADQT7BPwACwAEBFoEawABACgAAAcWAAgAFQAABG4BOgctOggqLBME/bYD 7zoJKiwTA+22
A+86ChME/xkKtgKZmgAiGQnGABkTBQEZCrYCmZoADhMFAxkKtgKZmQAHA6cA BAQ2CxkFxwBI
FQuaAEMtEwRjtgUFmQA5LbYEgQakADEtBrYEDbgFCJkAJhMFDBkEtgKZmgAb EwUOGQS2Apma
ABAtBrYD+LgFEDoIpwGAGQXHAD0VC5oAOC0TBRW2BQWZAC4ttgSBBaQAJi0F tgQNuAUImQAb
EwUMGQS2ApmZABAtBbYD+LgFEDoIpwFBsgEVuQUXAQA6DCu5BRsBABkMWToH uQHBAgBXKhkM
LRkELLsCZ1kruQHSAQC4BR63A/0TAvG2AnAttgJwtgJztgUhGQbGAPq7BD1Z GQnHAAkTBSWn
AAUZCbcFJzoNAzYOpwDWsgEVuQUoAQA6DxkMuQTxAQAZD7kBwQIAVxkFFQ4y OhAZBhUOMjoR
KiwZELYEYDoSGQ22BEiZAEEZDbYERDoTEwUsGRO2ApmaAC+7AmdZGRK3A/06 FBkUEwUutgJw
VxkUGRO2AnBXGRQTBTC2AnBXGRS2AnM6ErsCZ1kruQHSAQC3A/06ExkTEC62 BGRXGRMttgJw
VxkTECi2BGRXGRMZELYCcFcZExAptgRkVyoZDxkQGREZEhkTtgJztgUhGQ+5 BTIBACoZErYE
IrkBTgIAV4QOARUOGQW+of8oGQfHAkQBOgwqLBMFM7YD7zoNKiwTBTW2A+86 DiosEwU3tgPv
Og8qLBMFObYD7zoQKiwTBTu2A+86ESosEwU9tgPvOhIZDccAHBkOxwAXGQ/H ABIZEMcADRkR
xgCuGRLGAKmyARW5ARsBADoTK7kBVAEAGRNZOgxZOge5AcECAFcZExMEURkO tgKZmgAhGRDG
AA4ZBBMFP7YDcZkAERkRxgAIGRLHAAcDpwAEBLkFQQIAGRMZE7kB3QEAmQAO EwRRGQ+2Apmn
ABMTBLAZD7YCmZkABwOnAAQEuQVEAgAZExMEUSosEwVHtgPvtgKZuQVJAgAZ DcYAfiq0AG0Z
ExkNuQLFAwBXpwBtsgEVuQFmAQA6Eyu5AVQBABkTWToMWToHuQHBAgBXGRMT BFEqLBMFR7YD
77YCmbkFTAIAGRMTBFEqLBMFTbYD77YCmbkFTwIAKiwTBVK2A
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Re: ecore not reloading from Java in RC6. Worked under RC5! [message #401439 is a reply to message #401437] |
Tue, 30 May 2006 20:40 |
Philipp Kutter Messages: 306 Registered: July 2009 |
Senior Member |
|
|
Hi, Ed.
I just opened the bugzilla.
To test your fix, I imported org.eclipse.emf.importer.java in my
workspace, and wated to replace the source of JavaEcoreBuilder.java with
your
better version, and then rebuild the Bundle and copy into my plugins dir...
But you sent the binary. JavaEcoreBuilder.class
What do I do with this binary???? I could decompile it ;-)
Maybe its too much work teaching me what to do with this binary, but if
its only 5 clicks, I would be happy to test for you. Otherwise I wait
for the next integration.
Best, Philipp
Ed Merks wrote:
> Philipp,
>
> I'll need to add a guard since it seems there is a dependency on a
> missing plugin on the second line here:
>
> Bundle bundle = Platform.getBundle(pluginID);
> String requires =
> (String)bundle.getHeaders().get(Constants.REQUIRE_BUNDLE);
>
> This relates to changes made for
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=144254 which allow you to
> use @model annotations in a brand new model to use a GenModel registered
> in the installed plugin environment, i.e., the above code is doing a
> full plugin dependency analysis.
>
> Could you use the attached JavaEcoreBuilder.class to patch your
> installation and confirm that this fixes the problem and that there are
> no additional problems? Please open a bugzilla as well...
>
>
> Philipp W. Kutter wrote:
>> Hi, Ed.
>> I removed the .metadata, reimported the two projects, and get the
>> following error log:
>>
>> !SESSION 2006-05-29 23:56:05.078
>> -----------------------------------------------
>> eclipse.buildId=I20060526-0010
>> java.version=1.5.0_06
>> java.vendor=Sun Microsystems Inc.
>> BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH
>> Command-line arguments: -os win32 -ws win32 -arch x86
>>
>> !ENTRY org.eclipse.emf.importer.java 2 0 2006-05-29 23:58:06.562
>> !MESSAGE
>> !STACK 0
>> java.lang.NullPointerException
>> at
>> org.eclipse.emf.importer.java.builder.JavaEcoreBuilder.compu teEPackages(JavaEcoreBuilder.java:510)
>>
>> at
>> org.eclipse.emf.importer.java.JavaImporter.doComputeEPackage s(JavaImporter.java:82)
>>
>> at
>> org.eclipse.emf.importer.ModelImporter.computeEPackages(Mode lImporter.java:519)
>>
>> at
>> org.eclipse.emf.importer.java.ui.JavaPackagePage.computeEPac kages(JavaPackagePage.java:106)
>>
>> at
>> org.eclipse.emf.importer.java.ui.JavaPackagePage$2.execute(J avaPackagePage.java:81)
>>
>> at
>> org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(Worksp aceModifyOperation.java:101)
>>
>> at
>> org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1737)
>> at
>> org.eclipse.ui.actions.WorkspaceModifyOperation.run(Workspac eModifyOperation.java:113)
>>
>> at
>> org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:369)
>>
>> at
>> org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:313)
>> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 851)
>> at
>> org.eclipse.emf.importer.java.ui.JavaPackagePage.computeEPac kages(JavaPackagePage.java:96)
>>
>> at
>> org.eclipse.emf.importer.java.ui.JavaPackagePage$1.run(JavaP ackagePage.java:59)
>>
>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>> at
>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:123)
>>
>> at
>> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3325)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2971)
>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:820 )
>> at org.eclipse.jface.window.Window.open(Window.java:796)
>> at
>> org.eclipse.emf.converter.ui.OpenWizardActionDelegate.run(Op enWizardActionDelegate.java:112)
>>
>> at
>> org.eclipse.emf.converter.ui.OpenWizardActionDelegate.run(Op enWizardActionDelegate.java:102)
>>
>> at
>> org.eclipse.ui.actions.ActionDelegate.runWithEvent(ActionDel egate.java:70)
>>
>> at
>> org.eclipse.ui.internal.PluginAction.runWithEvent(PluginActi on.java:244)
>> at
>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:539)
>>
>> at
>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:488)
>>
>> at
>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:400)
>>
>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
>> at
>> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3348)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2968)
>> at
>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1914)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:419)
>>
>> at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at
>> org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
>> at
>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
>>
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
>>
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
>>
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
>>
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
>>
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
>> at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
>> at org.eclipse.core.launcher.Main.run(Main.java:977)
>> at org.eclipse.core.launcher.Main.main(Main.java:952)
>>
>>
>> Best, Philipp
>>
>> Ed Merks wrote:
>>> Phillip,
>>>
>>> It worked for me locally just now. Could you check the error log for
>>> exceptions?
>>>
>>>
>>> Philipp W. Kutter wrote:
>>>> Here is the zip. For me this does not allow me to reload the Ecore
>>>> from the Java sources under RC6. Under RC5 it works.
>>>>
>>>>
>>>> Under RC6 it just shows an empty set of packages ;-(
>>>>
>>>> I attach the project, its templateFw, the other project (patternFw)
>>>> is just imported. The genmodel I try to reload is under
>>>> templateFw/model
>>>>
>>>> Best, Philipp
>
|
|
|
Re: ecore not reloading from Java in RC6. Worked under RC5! [message #401440 is a reply to message #401439] |
Tue, 30 May 2006 11:47 |
Ed Merks Messages: 33142 Registered: July 2009 |
Senior Member |
|
|
This is a multi-part message in MIME format.
--------------080607090303040108090508
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Philipp,
I was imagining you'd zip this class file into the
org.eclipse.emf.importer.java.jar plugin at exactly the location where
it currently appears in that plugin.
Unfortunately I just committed the change and I don't know how to create
source patch for that now. All I did was add this *line* at line 510:
// Iterate over all the plugin IDs to determinethe dependency closure.
// The list grows as the plugins are visited.
//
for (int i = 0; i < allReferencedPluginIDs.size(); ++i)
{
// Determine the required plugins.
//
String pluginID = (String)allReferencedPluginIDs.get(i);
Bundle bundle = Platform.getBundle(pluginID);
* if (bundle != null)*
{
Philipp W. Kutter wrote:
> Hi, Ed.
> I just opened the bugzilla.
>
> To test your fix, I imported org.eclipse.emf.importer.java in my
> workspace, and wated to replace the source of JavaEcoreBuilder.java
> with your
> better version, and then rebuild the Bundle and copy into my plugins
> dir...
>
> But you sent the binary. JavaEcoreBuilder.class
>
> What do I do with this binary???? I could decompile it ;-)
>
> Maybe its too much work teaching me what to do with this binary, but
> if its only 5 clicks, I would be happy to test for you. Otherwise I
> wait for the next integration.
>
> Best, Philipp
>
>
> Ed Merks wrote:
>> Philipp,
>>
>> I'll need to add a guard since it seems there is a dependency on a
>> missing plugin on the second line here:
>>
>> Bundle bundle = Platform.getBundle(pluginID);
>> String requires =
>> (String)bundle.getHeaders().get(Constants.REQUIRE_BUNDLE);
>>
>> This relates to changes made for
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=144254 which allow you
>> to use @model annotations in a brand new model to use a GenModel
>> registered in the installed plugin environment, i.e., the above code
>> is doing a full plugin dependency analysis.
>>
>> Could you use the attached JavaEcoreBuilder.class to patch your
>> installation and confirm that this fixes the problem and that there
>> are no additional problems? Please open a bugzilla as well...
>>
>>
>> Philipp W. Kutter wrote:
>>> Hi, Ed.
>>> I removed the .metadata, reimported the two projects, and get the
>>> following error log:
>>>
>>> !SESSION 2006-05-29 23:56:05.078
>>> -----------------------------------------------
>>> eclipse.buildId=I20060526-0010
>>> java.version=1.5.0_06
>>> java.vendor=Sun Microsystems Inc.
>>> BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH
>>> Command-line arguments: -os win32 -ws win32 -arch x86
>>>
>>> !ENTRY org.eclipse.emf.importer.java 2 0 2006-05-29 23:58:06.562
>>> !MESSAGE
>>> !STACK 0
>>> java.lang.NullPointerException
>>> at
>>> org.eclipse.emf.importer.java.builder.JavaEcoreBuilder.compu teEPackages(JavaEcoreBuilder.java:510)
>>>
>>> at
>>> org.eclipse.emf.importer.java.JavaImporter.doComputeEPackage s(JavaImporter.java:82)
>>>
>>> at
>>> org.eclipse.emf.importer.ModelImporter.computeEPackages(Mode lImporter.java:519)
>>>
>>> at
>>> org.eclipse.emf.importer.java.ui.JavaPackagePage.computeEPac kages(JavaPackagePage.java:106)
>>>
>>> at
>>> org.eclipse.emf.importer.java.ui.JavaPackagePage$2.execute(J avaPackagePage.java:81)
>>>
>>> at
>>> org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(Worksp aceModifyOperation.java:101)
>>>
>>> at
>>> org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1737)
>>> at
>>> org.eclipse.ui.actions.WorkspaceModifyOperation.run(Workspac eModifyOperation.java:113)
>>>
>>> at
>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:369)
>>>
>>> at
>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:313)
>>> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 851)
>>> at
>>> org.eclipse.emf.importer.java.ui.JavaPackagePage.computeEPac kages(JavaPackagePage.java:96)
>>>
>>> at
>>> org.eclipse.emf.importer.java.ui.JavaPackagePage$1.run(JavaP ackagePage.java:59)
>>>
>>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>>> at
>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:123)
>>>
>>> at
>>> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3325)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2971)
>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:820 )
>>> at org.eclipse.jface.window.Window.open(Window.java:796)
>>> at
>>> org.eclipse.emf.converter.ui.OpenWizardActionDelegate.run(Op enWizardActionDelegate.java:112)
>>>
>>> at
>>> org.eclipse.emf.converter.ui.OpenWizardActionDelegate.run(Op enWizardActionDelegate.java:102)
>>>
>>> at
>>> org.eclipse.ui.actions.ActionDelegate.runWithEvent(ActionDel egate.java:70)
>>>
>>> at
>>> org.eclipse.ui.internal.PluginAction.runWithEvent(PluginActi on.java:244)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:539)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:488)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:400)
>>>
>>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
>>> at
>>> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3348)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2968)
>>> at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1914)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:419)
>>>
>>> at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at
>>> org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
>>> at
>>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
>>>
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
>>> at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
>>> at org.eclipse.core.launcher.Main.run(Main.java:977)
>>> at org.eclipse.core.launcher.Main.main(Main.java:952)
>>>
>>>
>>> Best, Philipp
>>>
>>> Ed Merks wrote:
>>>> Phillip,
>>>>
>>>> It worked for me locally just now. Could you check the error log
>>>> for exceptions?
>>>>
>>>>
>>>> Philipp W. Kutter wrote:
>>>>> Here is the zip. For me this does not allow me to reload the Ecore
>>>>> from the Java sources under RC6. Under RC5 it works.
>>>>>
>>>>>
>>>>> Under RC6 it just shows an empty set of packages ;-(
>>>>>
>>>>> I attach the project, its templateFw, the other project
>>>>> (patternFw) is just imported. The genmodel I try to reload is
>>>>> under templateFw/model
>>>>>
>>>>> Best, Philipp
>>
--------------080607090303040108090508
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Philipp,<br>
<br>
I was imagining you'd zip this class file into the
org.eclipse.emf.importer.java.jar plugin at exactly the location where
it currently appears in that plugin.<br>
<br>
Unfortunately I just committed the change and I don't know how to
create source patch for that now. All I did was add this <b>line</b>
at line 510:<br>
<br>
// Iterate over all the plugin IDs to determinethe dependency
closure.<br>
// The list grows as the plugins are visited.<br>
//<br>
for (int i = 0; i < allReferencedPluginIDs.size(); ++i)<br>
{<br>
// Determine the required plugins.<br>
//<br>
String pluginID = (String)allReferencedPluginIDs.get(i);<br>
Bundle bundle = Platform.getBundle(pluginID);<br>
<b> if (bundle != null)</b><br>
{<br>
<br>
<br>
Philipp W. Kutter wrote:
<blockquote cite="mide5haui$i13$1@utils.eclipse.org" type="cite">Hi,
Ed.
<br>
I just opened the bugzilla.
<br>
<br>
To test your fix, I imported org.eclipse.emf.importer.java in my
workspace, and wated to replace the source of JavaEcoreBuilder.java
with your
<br>
better version, and then rebuild the Bundle and copy into my plugins
dir...
<br>
<br>
But you sent the binary. JavaEcoreBuilder.class
<br>
<br>
What do I do with this binary???? I could decompile it ;-)
<br>
<br>
Maybe its too much work teaching me what to do with this binary, but if
its only 5 clicks, I would be happy to test for you. Otherwise I wait
for the next integration.
<br>
<br>
Best, Philipp
<br>
<br>
<br>
Ed Merks wrote:
<br>
<blockquote type="cite">Philipp,
<br>
<br>
I'll need to add a guard since it seems there is a dependency on a
missing plugin on the second line here:
<br>
<br>
Bundle bundle = Platform.getBundle(pluginID);
<br>
String requires =
(String)bundle.getHeaders().get(Constants.REQUIRE_BUNDLE);
<br>
<br>
This relates to changes made for
<a class="moz-txt-link-freetext" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=144254">https://bugs.eclipse.org/bugs/show_bug.cgi?id=144254</a> which allow you to
use @model annotations in a brand new model to use a GenModel
registered in the installed plugin environment, i.e., the above code is
doing a full plugin dependency analysis.
<br>
<br>
Could you use the attached JavaEcoreBuilder.class to patch your
installation and confirm that this fixes the problem and that there are
no additional problems? Please open a bugzilla as well...
<br>
<br>
<br>
Philipp W. Kutter wrote:
<br>
<blockquote type="cite">Hi, Ed.
<br>
I removed the .metadata, reimported the two projects, and get the
following error log:
<br>
<br>
!SESSION 2006-05-29 23:56:05.078
-----------------------------------------------
<br>
eclipse.buildId=I20060526-0010
<br>
java.version=1.5.0_06
<br>
java.vendor=Sun Microsystems Inc.
<br>
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH
<br>
Command-line arguments: -os win32 -ws win32 -arch x86
<br>
<br>
!ENTRY org.eclipse.emf.importer.java 2 0 2006-05-29 23:58:06.562
<br>
!MESSAGE
<br>
!STACK 0
<br>
java.lang.NullPointerException
<br>
at
org.eclipse.emf.importer.java.builder.JavaEcoreBuilder.compu teEPackages(JavaEcoreBuilder.java:510)
<br>
at
org.eclipse.emf.importer.java.JavaImporter.doComputeEPackage s(JavaImporter.java:82)
<br>
at
org.eclipse.emf.importer.ModelImporter.computeEPackages(Mode lImporter.java:519)
<br>
at
org.eclipse.emf.importer.java.ui.JavaPackagePage.computeEPac kages(JavaPackagePage.java:106)
<br>
at
org.eclipse.emf.importer.java.ui.JavaPackagePage$2.execute(J avaPackagePage.java:81)
<br>
at
org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(Worksp aceModifyOperation.java:101)
<br>
at
org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1737)
<br>
at
org.eclipse.ui.actions.WorkspaceModifyOperation.run(Workspac eModifyOperation.java:113)
<br>
at
org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:369)
<br>
at
org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:313)
<br>
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 851)
<br>
at
org.eclipse.emf.importer.java.ui.JavaPackagePage.computeEPac kages(JavaPackagePage.java:96)
<br>
at
org.eclipse.emf.importer.java.ui.JavaPackagePage$1.run(JavaP ackagePage.java:59)
<br>
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
<br>
at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:123)
<br>
at
org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3325)
<br>
at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2971)
<br>
at org.eclipse.jface.window.Window.runEventLoop(Window.java:820 )
<br>
at org.eclipse.jface.window.Window.open(Window.java:796)
<br>
at
org.eclipse.emf.converter.ui.OpenWizardActionDelegate.run(Op enWizardActionDelegate.java:112)
<br>
at
org.eclipse.emf.converter.ui.OpenWizardActionDelegate.run(Op enWizardActionDelegate.java:102)
<br>
at
org.eclipse.ui.actions.ActionDelegate.runWithEvent(ActionDel egate.java:70)
<br>
at
org.eclipse.ui.internal.PluginAction.runWithEvent(PluginActi on.java:244)
<br>
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:539)
<br>
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:488)
<br>
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:400)
<br>
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
<br>
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
<br>
at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3348)
<br>
at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2968)
<br>
at
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1914)
<br>
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
<br>
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:419)
<br>
at
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
<br>
at
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:95)
<br>
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
<br>
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
<br>
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
<br>
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
<br>
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
<br>
at java.lang.reflect.Method.invoke(Unknown Source)
<br>
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
<br>
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
<br>
at org.eclipse.core.launcher.Main.run(Main.java:977)
<br>
at org.eclipse.core.launcher.Main.main(Main.java:952)
<br>
<br>
<br>
Best, Philipp
<br>
<br>
Ed Merks wrote:
<br>
<blockquote type="cite">Phillip,
<br>
<br>
It worked for me locally just now. Could you check the error log for
exceptions?
<br>
<br>
<br>
Philipp W. Kutter wrote:
<br>
<blockquote type="cite">Here is the zip. For me this does not
allow me to reload the Ecore from the Java sources under RC6. Under RC5
it works.
<br>
<br>
<br>
Under RC6 it just shows an empty set of packages ;-(
<br>
<br>
I attach the project, its templateFw, the other project (patternFw) is
just imported. The genmodel I try to reload is under templateFw/model
<br>
<br>
Best, Philipp
<br>
</blockquote>
</blockquote>
</blockquote>
<br>
</blockquote>
</blockquote>
<br>
</body>
</html>
--------------080607090303040108090508--
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
| |
Goto Forum:
Current Time: Sat Apr 27 00:21:02 GMT 2024
Powered by FUDForum. Page generated in 0.04838 seconds
|