Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Architecture Council/Minutes December 16 2008"

Line 12: Line 12:
 
== Attendees ==
 
== Attendees ==
 
* Use the [http://www.doodle.com/dr57tu3fxcwm6s79 Doodle Attendance Tracking Poll] to confirm attendance or send regrets for this meeting. See [http://dev.eclipse.org/mhonarc/lists/eclipse.org-architecture-council/msg00689.html this message] for how to use it. All [[Architecture Council/Members and Mentors|AC Members]] are invited.
 
* Use the [http://www.doodle.com/dr57tu3fxcwm6s79 Doodle Attendance Tracking Poll] to confirm attendance or send regrets for this meeting. See [http://dev.eclipse.org/mhonarc/lists/eclipse.org-architecture-council/msg00689.html this message] for how to use it. All [[Architecture Council/Members and Mentors|AC Members]] are invited.
 +
** '''Signed-up:''' Chris Aniszczyk, Martin Oberhuber, Tom Schindl, Darin Swanson, Tom Watson, Gary Xue
 +
** '''Regrets:''' Boris Bokowski, Adrian Colyer, Sven Efftinge, Neil Hauge, Oisin Hurley, Georg Schmidt, Karsten Schmidt, Gunnar Wagenknecht, David Williams, Darin Wright
 
<!--
 
<!--
* [http://www.doodle.com/acbx8ith7ttbgvsr original doodle poll]
 
 
* '''Signed-up:''' Martin Oberhuber, Tom Schindl,  
 
* '''Signed-up:''' Martin Oberhuber, Tom Schindl,  
 
* '''Regrets:''' Sven Efftinge
 
* '''Regrets:''' Sven Efftinge
 
* '''No-Show:'''  
 
* '''No-Show:'''  
 
* '''Unknown:'''  
 
* '''Unknown:'''  
** Chris Aniszczyk, John Arthorne, Wayne "Mad Dog" Beaton, Boris Bokowski, David Carver, Eugene Chan, Brian Fitzpatrick, Neil Hauge, Mik Kersten, Markus Knauer, Ed Merks, Andrew Overholt, Bernd Kolb (to proxy Karsten Schmidt), Michael Scharf, Darin Swanson, Tom Watson
+
** John Arthorne, Wayne "Mad Dog" Beaton, David Carver, Eugene Chan, Brian Fitzpatrick, Mik Kersten, Markus Knauer, Ed Merks, Andrew Overholt, Bernd Kolb (to proxy Karsten Schmidt), Michael Scharf
** Oliver Cole, Doug Gaff, Richard Gronback, Oisin Hurley, Mike Milinkovich, Georg Schmidt, Gunnar Wagenknecht, Darin Wright
+
** Oliver Cole, Doug Gaff, Richard Gronback, Mike Milinkovich
** John Graham, Doug Schaefer, Mike Wilson, Gary Xue
+
** John Graham, Doug Schaefer, Mike Wilson, Mark Vandenbrink
** Timothy deBoer, John Duimovich, Mark Vandenbrink, John Wiegand
+
** Doug Clarke, Jochen Krause, Jeff McAffer
** Doug Clarke, Adrian Colyer, Jochen Krause, Jeff McAffer
+
** Naci Dai, Bjorn Freeman-Benson, Wenfeng Li, Philippe Mulet, Mary Ruddy, David Williams
** Naci Dai, Bjorn Freeman-Benson, Thomas Hallgren, Wenfeng Li, Philippe Mulet, Steve Northover, Brett Porter, Mary Ruddy, David Williams
+
 
-->
 
-->
  
Line 45: Line 45:
 
* '''New Members''': Linda Chan, Sven Efftinge (new Strategic Member)
 
* '''New Members''': Linda Chan, Sven Efftinge (new Strategic Member)
 
* New '''Dormant Members''' - see [[Architecture Council/Members and Mentors]]
 
* New '''Dormant Members''' - see [[Architecture Council/Members and Mentors]]
* Some Bio's still not filled in: [[Architecture Council/Members and Mentors]] - Doug Clarke, Sven Efftinge, Steve Northover, Brett Porter, Mary Ruddy, Michael Scharf, Thomas Watson, David Williams, Mike Wilson, Gary Xue
+
* Some '''Bio's''' still not filled in: [[Architecture Council/Members and Mentors]] - David Williams
** '''Just click on your red link''' to create a page -- it can't be simpler!
+
** Bjorn (and some others) to become dormant?
+
* Projects in need of Mentors
+
** {{bug|256220}} Silverlight (SLDT), {{bug|256477}} STEM
+
** Bugs been open for some time, is our process good enough?
+
** See [[Architecture Council/Members and Mentors#Projects that need mentors]]: ACTF, Aperi, Apogee (Dave Carver), COSMOS, PDT -- '''AI File a Bug''' (best have the project file one), [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Community&component=Architecture%20Council use this link] for filing the bug. '''AI Wayne''' contact technology projects telling them to file the bug.
+
 
* '''AC Admin via the [http://portal.eclipse.org Portal]'''
 
* '''AC Admin via the [http://portal.eclipse.org Portal]'''
 
** Enter Mentorship data on the [http://portal.eclipse.org Portal] - new AC component - will show up on the [http://www.eclipse.org/org/foundation/council.php#architecture councils page] as well as project homepages
 
** Enter Mentorship data on the [http://portal.eclipse.org Portal] - new AC component - will show up on the [http://www.eclipse.org/org/foundation/council.php#architecture councils page] as well as project homepages
Line 59: Line 53:
 
** {{bug|255383}} - [http://www.eclipse.org/org/foundation/council.php#architecture councils page] doesn't show company affiliation for PMC reps
 
** {{bug|255383}} - [http://www.eclipse.org/org/foundation/council.php#architecture councils page] doesn't show company affiliation for PMC reps
 
** {{bug|255385}} - [http://www.eclipse.org/org/foundation/council.php#architecture councils page] doesn't show PMC reps for Modeling, Birt, Stp
 
** {{bug|255385}} - [http://www.eclipse.org/org/foundation/council.php#architecture councils page] doesn't show PMC reps for Modeling, Birt, Stp
** Should we retire the [[Architecture Council/Members and Mentors]] page? - Not entirely, 'cause the "dormant" status cannot be tracked in foundation DB, and mentorship for proposed projects won't show up; but don't want to do double bookkeeping
+
** Should we retire the [[Architecture Council/Members and Mentors]] page? - Not entirely, 'cause the "dormant" status cannot be tracked in foundation DB, and mentorship for proposed projects won't show up; don't want to do double bookkeeping in the long run, but for now please update both pages
 +
* Projects in need of Mentors
 +
** {{bug|256220}} Silverlight (SLDT), {{bug|256477}} STEM
 +
** Bugs been open for some time, is our process good enough?
 +
** See [[Architecture Council/Members and Mentors#Projects that need mentors]]: ACTF, Aperi, Apogee (Dave Carver), COSMOS, PDT -- '''AI File a Bug''' (best have the project file one), [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Community&component=Architecture%20Council use this link] for filing the bug. '''AI Wayne''' contact technology projects telling them to file the bug.
 
* Janet's [http://dev.eclipse.org/mhonarc/lists/eclipse.org-committers/msg00695.html E-Mail] asking PMC's and AC to answer IP/Legal related questions:
 
* Janet's [http://dev.eclipse.org/mhonarc/lists/eclipse.org-committers/msg00695.html E-Mail] asking PMC's and AC to answer IP/Legal related questions:
 
** IPZilla update (Mike) ?
 
** IPZilla update (Mike) ?
 
* AC Website Revamp needed to make the information that's already there more consumable
 
* AC Website Revamp needed to make the information that's already there more consumable
 +
** Who could revamp the [[Architecture Council]] page?
 +
* PMC Representation on the AC
 +
** Up to now, the AC meetings are totally voluntary, offline interaction is as good as direct interaction
 +
** Martin would like to ask PMC Reps either attend the meetings or send a designated delegate (might be another appointed member), in order to ensure full coverage
 +
** Create a table per PMC on the meeting notes (similar to the Board meetings)
 +
** BIRT, WTP, Tools currently don't have an active official rep
  
 
=== News from the EMO & Councils ===
 
=== News from the EMO & Councils ===
Line 69: Line 73:
 
** Confidential until the Board Meeting minutes are posted on the [http://www.eclipse.org/org/foundation/minutes.php Foundation Minutes page] - navigated from Eclipse homepage by "About us" > "Foundation" > "Meeting Minutes"
 
** Confidential until the Board Meeting minutes are posted on the [http://www.eclipse.org/org/foundation/minutes.php Foundation Minutes page] - navigated from Eclipse homepage by "About us" > "Foundation" > "Meeting Minutes"
  
=== Recent Discussions ===
+
=== New Topics ===
* '''Oisin''' says - by the time this call happens, I'll be a mentor on the Faceted Framework project, which is Konstantin's move from WTP. It's a little odd, because he has a lot more experience of working in Eclipse than I do :)  Would it be useful in some cases to have a rider on the mentorship requirement for old hands starting with new projects? Maybe reduce the mentor count to one?  Discuss.
+
* '''Oisin: Mentorship''' - by the time this call happens, I'll be a mentor on the Faceted Framework project, which is Konstantin's move from WTP. It's a little odd, because he has a lot more experience of working in Eclipse than I do :)  Would it be useful in some cases to have a rider on the mentorship requirement for old hands starting with new projects? Maybe reduce the mentor count to one?  Discuss.
 
** Martin thinks: In my understanding, the idea of mentorship is getting a "second pair of eyes" on some things, as well as to foster communications across PMC / Technology boundaries (by means of the AC). If Kosta is more experienced than yourself, this just means that he won't need you that much to answer questions, and you'll likely not have to monitor his efforts a lot. But it's good to have the cross-project exposure by means of the two-mentor-requirement.
 
** Martin thinks: In my understanding, the idea of mentorship is getting a "second pair of eyes" on some things, as well as to foster communications across PMC / Technology boundaries (by means of the AC). If Kosta is more experienced than yourself, this just means that he won't need you that much to answer questions, and you'll likely not have to monitor his efforts a lot. But it's good to have the cross-project exposure by means of the two-mentor-requirement.
* '''Tom:''' What can be done to streamline project proposals even more ... we could provide Tooling for it. I started writing a little RCP-Application which defines an Ecore-Model of required information and provides a UI to enter the data and produce the Review Document
+
* '''Tom: Project Proposals''' - What can be done to streamline project proposals even more ... we could provide Tooling for it. I started writing a little RCP-Application which defines an Ecore-Model of required information and provides a UI to enter the data and produce the Review Document
 +
* '''Tom: Best practice for picking up I-builds''' - HTTP downloads are slow, installation cumbersome
 +
** Martin tried the [[Eclipse Project Update Sites]] with [[Equinox p2 Repository Mirroring]] and [http://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.isv/guide/p2_director.html p2 Director] scripts to update, but found {{bug|258865}} (invalid 3.5-I-builds repository), {{bug|258680}} (mirroring) and {{bug|258683}} (install) - currently not usable
 +
** Using SSH / SCP with some scripts for installation from the ZIPs right now
 +
** Should the AC host a page with a recommended best practice?
 +
* '''Christian Kurzke (TmL project, DSDP PMC)''' asked:
 +
** How do other projects maintain an IP-clean repository? Does anybody perform regular Black Duck scans? Should the Eclipse Foundation do them?
 +
** TmL team does them based on previous Motorola use, but sees lots of effort in sorting out false positives
 +
* '''Martin: Duplication''' - [http://www.eclipse.org/m2eclipse m2eclipse] and [http://www.eclipse.org/iam IAM] for Maven
 +
* '''Martin: Architecture Diagrams''' -
 +
** Eclipse is growing rapidly, and it's getting ever harder to understand what projects are available, how they are interrelated and where there is duplication.
 +
** It was the original AC charter to create an architecture plan
 +
** Can we auto-generate an architecture diagram? - Some ideas:
 +
*** Scan the project's web pages and CVS Repository and build a semantic web
 +
*** Analyze the MANIFEST.MF dependencies in each project's repository HEAD, generate a dependency graph out of it and use some graph layout / clustering algorithm (could we allow interactive zooming into clusters?)
 +
*** Define some keywords, and ask each project use the Portal to pick keywords that are relevant for their project. Based on keyword association, have some graph auto-generated (clustered by keywords).
 +
 
 +
=== Recent Discussions ===
 
* '''Dave Carver:''' [[Architecture Council/Top Ten Project Development Practices]] - Agile Project Management
 
* '''Dave Carver:''' [[Architecture Council/Top Ten Project Development Practices]] - Agile Project Management
 
* '''Patterns''' idea picked up by 2 Eclipsecon Tutorials -- started [[Architecture Council/Top Ten Recommendations#Design Patterns]]
 
* '''Patterns''' idea picked up by 2 Eclipsecon Tutorials -- started [[Architecture Council/Top Ten Recommendations#Design Patterns]]
Line 89: Line 110:
 
* {{bug|253889}} JIRA vs bugzilla - just close it?
 
* {{bug|253889}} JIRA vs bugzilla - just close it?
 
* {{bug|249371}} The new [http://www.eclipse.org Eclipse.org homepage]
 
* {{bug|249371}} The new [http://www.eclipse.org Eclipse.org homepage]
* {{bug|249959}} Copyright Header in checked-in generated artifacts
 
 
* {{bug|249745}} Repository Best Practices (Subversive vs Subclipse); Mercurial, Git Bazaar -- {{bug|257706}} now requesting git specifically
 
* {{bug|249745}} Repository Best Practices (Subversive vs Subclipse); Mercurial, Git Bazaar -- {{bug|257706}} now requesting git specifically
 
* {{bug|246840}} Jobs and ISchedulingRules - discussion concluded?
 
* {{bug|246840}} Jobs and ISchedulingRules - discussion concluded?
* {{bug|246945}} Interfacing with Libs that are not EPL Compatible (mostly LGPL)
+
* Items to move into IPZilla
 +
** {{bug|249959}} Copyright Header in checked-in generated artifacts
 +
** {{bug|246945}} Interfacing with Libs that are not EPL Compatible (mostly LGPL)
  
 
== Old items ==
 
== Old items ==
Line 102: Line 124:
 
** Must do: Use Babel by M6
 
** Must do: Use Babel by M6
  
=== How to start Releng? ===
+
* See also [[Architecture Council/Open Issues]] for overflow items
* [http://dev.eclipse.org/mhonarc/lists/eclipse.org-architecture-council/msg00578.html How to start a releng project for unattended builds] on the ML - PDE build docs are good but only half the story
+
** Bjorn, NickB & Denis CBI [[Build Workshop 3: Build Hard With A Purpose]] but is that an answer for now? Current status?
+
** CBI being adopted by Paul Webster for e4
+
** Refer people to clone existing projects' releng? Which ones are good?
+
 
+
=== Top Ten Recommendations ===
+
* [[Architecture Council/Top Ten Recommendations]] - should we start sorting them?
+
* [[Architecture Council/Links Collection]] - want more, more, more!
+
 
+
=== Relationship to [[E4]] ===
+
* [[E4/Pervasive Themes]] - Performance, Memory Footprint, [http://borisoneclipse.blogspot.com/2008/10/avoiding-bloat.html Bloat (Boris' Blog)], Concurrency
+
* Invite E4 to present to the EAC?
+
 
+
=== Concurrency ===
+
* Examples: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=245573#c12 bug 245573 comment 12] (Dali JPA Tools Deadlock, John CC'd to EAC); {{bug|246840}} discussion about ISchedulingRule (saving project preferences)
+
* What is causing issues?
+
** work performed during class loading (Activator.start()) - unknown context, can run at unpredictable times
+
** work performed in callbacks - unknown context, avoid synchronous callbacks
+
** General recommendations: (e.g. avoid synchronous callbacks, avoid in Activator.start(), static initializers or Singleton getters) - a general recommendation could be to avoid performing work at unpredictable times, but that would recommend against lazy initialization in general
+
** Does anybody have a well-working, consistent model on top of the current infrastructure?
+
** Totally new concurrency mechanism as part of [[E4]] ?
+
*** [http://dev.eclipse.org/mhonarc/lists/eclipse-incubator-e4-dev/msg00615.html David Orme] mentions DataBinding Realms and the [http://fpgacomputing.blogspot.com/2008/08/threads-considered-harmful-for-same.html Threads Considered Harmful] blog which references Erlang message-based concurrence
+
*** Would it help to become more asynchronous under the hood, even if old APIs need to remain for compatibility?
+
*** Are there any other good known models for concurrency?
+
** Better Javadoc ?
+
*** Example: ISchedulingRule.isConflicting() vs. ISchedulingRule.contains(), and how does it relate to RuleFactory and MultiRule?
+
** Articles ? - John referenced the [http://www.eclipse.org/articles/Article-Resource-deltas/resource-deltas.html#1d resource-deltas] article
+
 
+
===Mentoring New Projects===
+
* We need more Architecture Council members to step up and become project mentors
+
** New projects require two mentors (a Good Thing&trade;)
+
* How do new projects find/attract a mentor?
+
** Mailing list, bugzilla?
+
** "Work the crowd"
+
* Experiences?
+
** What could be improved?
+
** Webpage improvements: more pre-canned content for new projects (like Sourceforge)?
+
 
+
=== Other Ideas for Discussion ===
+
* '''Mentoring Galileo''': What could be improved?
+
** Running each project's unittests with full Galileo installed; especially interesting for Performance tests
+
** Don't duplicate work done by the [[Planning Council]]
+
** '''Integrated bug reporting''': Mylyn is providing a bug/error/enhancement reporting facility that will provide a flexible and product-configurable mapping between features, bundles and bug trackers {{bug|212209}} (Example: http://wiki.eclipse.org/images/8/86/Mylyn-Bug-Reporting-Example.jpg ).  Do we want this for Galileo?
+
 
+
* [[E4]] now has bi-weekly calls -- won't discuss E4 on the EAC unless asked / invited
+
 
+
* '''Eclipse Pain Points'''
+
** Performance & Memory Footprint, Bloat
+
** Restrictions on Resource model (Maven)
+
** IP due diligence and the processes around it
+
** Lots of these issues are already worked on by E4, and/or Committer Representatives at the Board, and/or the Planning Council
+
** But the EAC's charter includes identifying and naming pain pionts... anything not yet being addressed?
+
*** Re-activate [[Top Ten Architectural Problems in all of Eclipse]] ?
+
*** Re-activate [[Architecture Council Discovery and Reuse Activity]] ?
+
  
 
== Action Items ==
 
== Action Items ==
  
 
== Next Meeting ==
 
== Next Meeting ==
 +
* Can pick: '''Thursday Jan 8''' (2nd Thurs), or '''Tuesday Jan 12''', or '''Thursday Jan 15''' (3rd Thursday in January)
 
* [[Architecture Council]] call on [[Architecture Council/Minutes January 8 2008|Thursday, January 8]]
 
* [[Architecture Council]] call on [[Architecture Council/Minutes January 8 2008|Thursday, January 8]]

Revision as of 10:26, 16 December 2008

Meeting Title: Architecture Council Monthly Meeting
Date & Time: Tuesday December 16, 2008 at 1600 UTC / 0800 SFO / 1100 Ottawa / 1600 London / 1700 Berlin
Html.gifHTML | Ical.gifiCal
Dial-in: (+1) 613.287.8000 (Ottawa and international) or
866.362.7064 (toll-free North America)
passcode 464440#

Attendees

  • Use the Doodle Attendance Tracking Poll to confirm attendance or send regrets for this meeting. See this message for how to use it. All AC Members are invited.
    • Signed-up: Chris Aniszczyk, Martin Oberhuber, Tom Schindl, Darin Swanson, Tom Watson, Gary Xue
    • Regrets: Boris Bokowski, Adrian Colyer, Sven Efftinge, Neil Hauge, Oisin Hurley, Georg Schmidt, Karsten Schmidt, Gunnar Wagenknecht, David Williams, Darin Wright

Agenda / Notes

  • Feel free to edit, but not during the call!

Review of Action Items

Administrative

  • New Members: Linda Chan, Sven Efftinge (new Strategic Member)
  • New Dormant Members - see Architecture Council/Members and Mentors
  • Some Bio's still not filled in: Architecture Council/Members and Mentors - David Williams
  • AC Admin via the Portal
    • Enter Mentorship data on the Portal - new AC component - will show up on the councils page as well as project homepages
    • bug 256318 - Need a page that lists projects and mentors for further processing (query for projects without mentors)
    • bug 258085 - councils page - hyperlink mentored projects against projects' home pages
    • bug 258096 - Request a "Biography URL" in the Portal
    • bug 255383 - councils page doesn't show company affiliation for PMC reps
    • bug 255385 - councils page doesn't show PMC reps for Modeling, Birt, Stp
    • Should we retire the Architecture Council/Members and Mentors page? - Not entirely, 'cause the "dormant" status cannot be tracked in foundation DB, and mentorship for proposed projects won't show up; don't want to do double bookkeeping in the long run, but for now please update both pages
  • Projects in need of Mentors
  • Janet's E-Mail asking PMC's and AC to answer IP/Legal related questions:
    • IPZilla update (Mike) ?
  • AC Website Revamp needed to make the information that's already there more consumable
  • PMC Representation on the AC
    • Up to now, the AC meetings are totally voluntary, offline interaction is as good as direct interaction
    • Martin would like to ask PMC Reps either attend the meetings or send a designated delegate (might be another appointed member), in order to ensure full coverage
    • Create a table per PMC on the meeting notes (similar to the Board meetings)
    • BIRT, WTP, Tools currently don't have an active official rep

News from the EMO & Councils

  • Don: StAC meeting at Eclipse World -- outcome?
  • Board Meeting Update, based on Martin's AC update
    • Confidential until the Board Meeting minutes are posted on the Foundation Minutes page - navigated from Eclipse homepage by "About us" > "Foundation" > "Meeting Minutes"

New Topics

  • Oisin: Mentorship - by the time this call happens, I'll be a mentor on the Faceted Framework project, which is Konstantin's move from WTP. It's a little odd, because he has a lot more experience of working in Eclipse than I do :) Would it be useful in some cases to have a rider on the mentorship requirement for old hands starting with new projects? Maybe reduce the mentor count to one? Discuss.
    • Martin thinks: In my understanding, the idea of mentorship is getting a "second pair of eyes" on some things, as well as to foster communications across PMC / Technology boundaries (by means of the AC). If Kosta is more experienced than yourself, this just means that he won't need you that much to answer questions, and you'll likely not have to monitor his efforts a lot. But it's good to have the cross-project exposure by means of the two-mentor-requirement.
  • Tom: Project Proposals - What can be done to streamline project proposals even more ... we could provide Tooling for it. I started writing a little RCP-Application which defines an Ecore-Model of required information and provides a UI to enter the data and produce the Review Document
  • Tom: Best practice for picking up I-builds - HTTP downloads are slow, installation cumbersome
  • Christian Kurzke (TmL project, DSDP PMC) asked:
    • How do other projects maintain an IP-clean repository? Does anybody perform regular Black Duck scans? Should the Eclipse Foundation do them?
    • TmL team does them based on previous Motorola use, but sees lots of effort in sorting out false positives
  • Martin: Duplication - m2eclipse and IAM for Maven
  • Martin: Architecture Diagrams -
    • Eclipse is growing rapidly, and it's getting ever harder to understand what projects are available, how they are interrelated and where there is duplication.
    • It was the original AC charter to create an architecture plan
    • Can we auto-generate an architecture diagram? - Some ideas:
      • Scan the project's web pages and CVS Repository and build a semantic web
      • Analyze the MANIFEST.MF dependencies in each project's repository HEAD, generate a dependency graph out of it and use some graph layout / clustering algorithm (could we allow interactive zooming into clusters?)
      • Define some keywords, and ask each project use the Portal to pick keywords that are relevant for their project. Based on keyword association, have some graph auto-generated (clustered by keywords).

Recent Discussions

Old items

  • EMO: bug 250317 How to officially communicate Requirements (as per the board, dev process, IP policy...) to the PMCs, Project Leads, Committers?
  • RC - Roadmap Process: RequirementsCouncilThemesAndPriorities - are we happy with it?
  • PC - Richard Gronback: New Galileo Requirements from the Planning Council?
    • Must do: Use only Published API by M6
    • Must do: Provide basic Capability / Activity Definitions by M6
    • Must do: Use Babel by M6

Action Items

Next Meeting

Copyright © Eclipse Foundation, Inc. All Rights Reserved.