diff --git a/platform/org.eclipse.platform/plugin.xml b/platform/org.eclipse.platform/plugin.xml
index 47d444a..0b109f2 100644
--- a/platform/org.eclipse.platform/plugin.xml
+++ b/platform/org.eclipse.platform/plugin.xml
@@ -43,16 +43,16 @@
 
           <property
         		name="startupForegroundColor"
-        		value="e6e8ff"/>
+				value="e6e8ff"/>
           <property
                 name="startupMessageRect"
                 value="7,265,320,20"/>
           <property
                 name="startupProgressRect"
-                value="2,290,448,10"/>
+                value="2,290,450,10"/>
           <property
                 name="buildIdLocation"
-                value="0,220">
+                value="125,245">
           </property>
           <property
                 name="buildIdSize"
diff --git a/platform/org.eclipse.platform/splash.bmp b/platform/org.eclipse.platform/splash.bmp
index f5e8746..86612bf 100644
--- a/platform/org.eclipse.platform/splash.bmp
+++ b/platform/org.eclipse.platform/splash.bmp
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/EclipseOxygen.bmp b/platform/org.eclipse.platform/splashSource/Oxygen/EclipseOxygen.bmp
deleted file mode 100644
index ffc61cb..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/EclipseOxygen.bmp
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/EclipseOxygen.psd b/platform/org.eclipse.platform/splashSource/Oxygen/EclipseOxygen.psd
deleted file mode 100644
index 04aab8b..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/EclipseOxygen.psd
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/EclipseOxygen.xcf b/platform/org.eclipse.platform/splashSource/Oxygen/EclipseOxygen.xcf
deleted file mode 100644
index 0f8ac40..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/EclipseOxygen.xcf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Apache License.txt b/platform/org.eclipse.platform/splashSource/Oxygen/Font/Apache License.txt
deleted file mode 100644
index 63d5302..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Apache License.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-Font data copyright Google 2012
-
-                                Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Black.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Black.ttf
deleted file mode 100644
index 71f01ac..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Black.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-BlackItalic.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-BlackItalic.ttf
deleted file mode 100644
index ec309c7..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-BlackItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Bold.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Bold.ttf
deleted file mode 100644
index aaf374d..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-BoldItalic.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-BoldItalic.ttf
deleted file mode 100644
index dcd0f80..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-BoldItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Italic.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Italic.ttf
deleted file mode 100644
index f382c68..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Italic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Light.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Light.ttf
deleted file mode 100644
index 664e1b2..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Light.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-LightItalic.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-LightItalic.ttf
deleted file mode 100644
index b8f5296..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-LightItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Medium.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Medium.ttf
deleted file mode 100644
index aa00de0..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Medium.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-MediumItalic.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-MediumItalic.ttf
deleted file mode 100644
index 67e25f0..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-MediumItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Regular.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Regular.ttf
deleted file mode 100644
index 3e6e2e7..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Thin.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Thin.ttf
deleted file mode 100644
index d262d14..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-Thin.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-ThinItalic.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-ThinItalic.ttf
deleted file mode 100644
index 63e9f97..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/Roboto-ThinItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-Bold.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-Bold.ttf
deleted file mode 100644
index 48dd635..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-BoldItalic.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-BoldItalic.ttf
deleted file mode 100644
index ad72864..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-BoldItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-Italic.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-Italic.ttf
deleted file mode 100644
index a232513..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-Italic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-Light.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-Light.ttf
deleted file mode 100644
index a6e368d..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-Light.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-LightItalic.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-LightItalic.ttf
deleted file mode 100644
index 5b2b6ae..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-LightItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-Regular.ttf b/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-Regular.ttf
deleted file mode 100644
index 65bf32a..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/RobotoCondensed-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Font/roboto.zip b/platform/org.eclipse.platform/splashSource/Oxygen/Font/roboto.zip
deleted file mode 100644
index a9281f6..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Font/roboto.zip
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Oxygen/Readme to create new splash b/platform/org.eclipse.platform/splashSource/Oxygen/Readme to create new splash
deleted file mode 100644
index 20399d8..0000000
--- a/platform/org.eclipse.platform/splashSource/Oxygen/Readme to create new splash
+++ /dev/null
@@ -1,20 +0,0 @@
-Procedure to generate new splash screen for .x releases
-
-Prereqs
-Need Gimp 2.8 and above
-install all the fonts available inder fonts folder
-
-Steps.
-1. Open EclipseOxygen.xcf
-2. Open layers-gradients view from windows menu if not opened
-3. select Oxygen text layer from the layers view. double click on the icon. This will show a text box on Oxygen text in the circle
-4. Change it to oxygen.1/.2 as required
-5. select June 2017 text box. change it to release month and year similar to oxygen
-6. enable Guidelines layer from layers view. This will draw alignment guide lines on the image
-7. Make sure oxygen text layer aligns properly the gude line should pass through the line exactly in the middle. 
-8. the month and year box should should fall between bottom two horizontal lines and right justified with the vertical line
-9. Save the file.
-10. Resize the canvas to 650x434 by selecting "Image->Canvas Size". place the image in center. make sure you resize all the layers.
-11. Absorb all the layers by selecting "Layer->merge down" till you have only one layer
-12. Resize image by selecting "Image->Scale Image". and set the size to 452x302
-13. Export the image to bmp with 24 but color and without color space information using compatibility options
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/splashSource/Photon/EclipsePhoton.bmp b/platform/org.eclipse.platform/splashSource/Photon/EclipsePhoton.bmp
deleted file mode 100644
index f5e8746..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/EclipsePhoton.bmp
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/EclipsePhoton.xcf b/platform/org.eclipse.platform/splashSource/Photon/EclipsePhoton.xcf
deleted file mode 100644
index d897d5e..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/EclipsePhoton.xcf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/Apache License.txt b/platform/org.eclipse.platform/splashSource/Photon/Font/Apache License.txt
deleted file mode 100644
index 63d5302..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/Apache License.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-Font data copyright Google 2012
-
-                                Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Black.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Black.ttf
deleted file mode 100644
index 71f01ac..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Black.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-BlackItalic.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-BlackItalic.ttf
deleted file mode 100644
index ec309c7..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-BlackItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Bold.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Bold.ttf
deleted file mode 100644
index aaf374d..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-BoldItalic.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-BoldItalic.ttf
deleted file mode 100644
index dcd0f80..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-BoldItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Italic.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Italic.ttf
deleted file mode 100644
index f382c68..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Italic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Light.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Light.ttf
deleted file mode 100644
index 664e1b2..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Light.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-LightItalic.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-LightItalic.ttf
deleted file mode 100644
index b8f5296..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-LightItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Medium.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Medium.ttf
deleted file mode 100644
index aa00de0..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Medium.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-MediumItalic.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-MediumItalic.ttf
deleted file mode 100644
index 67e25f0..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-MediumItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Regular.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Regular.ttf
deleted file mode 100644
index 3e6e2e7..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Thin.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Thin.ttf
deleted file mode 100644
index d262d14..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-Thin.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-ThinItalic.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-ThinItalic.ttf
deleted file mode 100644
index 63e9f97..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/Roboto-ThinItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-Bold.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-Bold.ttf
deleted file mode 100644
index 48dd635..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-Bold.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-BoldItalic.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-BoldItalic.ttf
deleted file mode 100644
index ad72864..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-BoldItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-Italic.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-Italic.ttf
deleted file mode 100644
index a232513..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-Italic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-Light.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-Light.ttf
deleted file mode 100644
index a6e368d..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-Light.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-LightItalic.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-LightItalic.ttf
deleted file mode 100644
index 5b2b6ae..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-LightItalic.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-Regular.ttf b/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-Regular.ttf
deleted file mode 100644
index 65bf32a..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/RobotoCondensed-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Font/roboto.zip b/platform/org.eclipse.platform/splashSource/Photon/Font/roboto.zip
deleted file mode 100644
index a9281f6..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Font/roboto.zip
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/splashSource/Photon/Readme to create new splash b/platform/org.eclipse.platform/splashSource/Photon/Readme to create new splash
deleted file mode 100644
index c2db3ed..0000000
--- a/platform/org.eclipse.platform/splashSource/Photon/Readme to create new splash
+++ /dev/null
@@ -1,20 +0,0 @@
-Procedure to generate new splash screen for .x releases
-
-Prereqs
-Need Gimp 2.8 and above
-install all the fonts available in the fonts folder
-
-Steps.
-1. Open EclipseOxygen.xcf
-2. Open layers-gradients view from windows menu if not opened
-3. select Oxygen text layer from the layers view. double click on the icon. This will show a text box on Oxygen text in the circle
-4. Change it to oxygen.1/.2 as required
-5. select June 2017 text box. change it to release month and year similar to oxygen
-6. enable Guidelines layer from layers view. This will draw alignment guide lines on the image
-7. Make sure oxygen text layer aligns properly the guide line should pass through the line exactly in the middle. 
-8. the month and year box should should fall between bottom two horizontal lines and right justified with the vertical line
-9. Save the file.
-10. Resize the canvas to 650x434 by selecting "Image->Canvas Size". place the image in center. make sure you resize all the layers.
-11. Absorb all the layers by selecting "Layer->merge down" till you have only one layer
-12. Resize image by selecting "Image->Scale Image". and set the size to 452x302
-13. Export the image to bmp with 24 but color and without color space information using compatibility options
\ No newline at end of file
diff --git a/platform/org.eclipse.sdk/plugin.xml b/platform/org.eclipse.sdk/plugin.xml
index 22e7497..50f799a 100644
--- a/platform/org.eclipse.sdk/plugin.xml
+++ b/platform/org.eclipse.sdk/plugin.xml
@@ -42,16 +42,16 @@
 
           <property
         		name="startupForegroundColor"
-            value="e6e8ff"/>
+				value="e6e8ff"/>
           <property
                 name="startupMessageRect"
                 value="7,265,320,20"/>
           <property
                 name="startupProgressRect"
-                value="2,290,448,10"/>
+                value="2,290,450,10"/>
           <property
                 name="buildIdLocation"
-                value="0,220">
+                value="125,245">
           </property>
           <property
                 name="buildIdSize"
